返回市场
语雀-mcp

语雀-mcp

作者:lijian-ui4 星标更新:2025-06-09

项目介绍

语言麻雀知识库管理MCP服务器

项目介绍

该项目基于FastMCP框架,提供了一个专门用于管理语言麻雀知识库的MCP服务器。
该服务器支持自动识别和创建知识库组,创建或更新文档,获取文档详情、文档列表以及完整的知识库目录,并支持分页查询和结构化数据返回。
所有操作均基于Yuque官方API实现。

环境配置

依赖安装

请确保已安装Python 3.8+并安装了依赖包。
本项目主要依赖以下Python包:

  • fastmcp
  • starlette
  • requests
  • python-dotenv

可以使用以下命令进行安装:

pip install fastmcp starlette requests python-dotenv

如果项目根目录下有requirements.txt文件,也可以使用:

pip install -r requirements.txt

环境变量配置

请在项目的根目录中创建.env文件,配置以下环境变量:

  • YUQUE_SPACE_SUBDOMAIN:语言麻雀空间子域(用于访问语言麻雀空间的URL前缀,例如 https://[SUBDOMAIN]. yuque. com)
  • DEFAULT_API_TOKEN:默认API访问令牌(用于验证调用麻雀API的权限)
  • DEFAULT_GROUP_LOGIN:默认组(团队)别名(指定需要访问的语言麻雀组标识符)
  • DEFAULT_BOOK_SLUG:默认知识库别名(语言麻雀文档库的唯一标识符,用于定位具体的文档库)

示例:

YUQUE_SPACE_SUBDOMAIN=your_space_subdomain_here
DEFAULT_API_TOKEN=your_api_token_here
DEFAULT_GROUP_LOGIN=your_group_login_here
DEFAULT_BOOK_SLUG=your_book_slug_here

此外,这些变量也可以通过MCP客户端请求头传递。示例配置文件如下:

{
    "mcpServers": {
       "yuque-mcp": {
          "url": "http://192.168.125.89:8000/mcp",
          "headers": {
              "YUQUE_SPACE_SUBDOMAIN": "www",
              "DEFAULT_API_TOKEN": "M4HeyBFsRmyNDsdfsdfsdf7ut3YFPX",
              "DEFAULT_GROUP_LOGIN": "oxsdf47",
              "DEFAULT_BOOK_SLUG": "vfgsd6"
            }
        }
    }
}

启动服务

运行服务器主程序server.py支持多种传输模式:

python server.py --transport streamable-http

可选传输模式:

  • streamable-http(默认):基于HTTP流传输
  • sse:服务器发送事件
  • stdio:基于标准输入输出流

工具说明

服务器自动加载tools/目录下的所有工具模块,主要包括:

  • create_yuque_group(name: str)
    在语言麻雀知识库中创建组(目录)。

    参数描述:

    • ame (str):要创建的组名称。此名称应在当前知识库中具有唯一性。
  • create_yuque_doc_in_group(...)
    在指定的语言麻雀知识库中的指定组下创建文档。如果组不存在,则会先创建组,然后在其内部创建文档。

    参数描述:

    • group_name (str):组名称。如果组不存在,将会自动创建。
    • doc_title (str):要创建的文档标题。
    • doc_body (str):文档内容支持Markdown格式。
  • get_yuque_doc_list(group_login, book_slug, offset, limit)
    从知识库中检索文档列表,支持分页。

  • get_yuque_doc_detail(...)
    检索指定文档的详细内容。

  • get_yuque_repo_toc(...)
    获取知识库的完整目录结构。

使用示例

启动服务器并使用默认传输模式:

python server.py

指定传输模式为SSE:

python server.py --transport sse

语言麻雀文档的重要概念

接口域名是 https://www.yuque.com ,但需要注意的是,访问空间内的资源需要使用该空间的子域。

URL路径:

Yuque网站有一定的格式,如 https://www.yuque.com/yuque/developer/api 。 这包括用户或团队的名字,知识库的标识,以及文档的标识。

https://www.yuque.com/yuque/developer/api        [文档完整访问路径]
                        |
                        +-- yuque/               [团队或用户的登录名(group_login)]
                                |
                                +-- developer/   [知识库的标识(book_slug)]
                                       |
                                       +-- api   [文档的标识(doc_slug)]

语言麻雀文档身份认证

Yuque的所有开放API都需要Token验证才能访问。

个人用户认证和超级会员专享福利

要获取Token,可以在Yuque的个人头像处进入个人设置页面获取,如下所示:

image

企业团队身份认证旗舰版空间专享福利

空间内的团队可以在团队设置页面访问(仅旗舰版空间可用),如下所示。 image

贡献指南

欢迎提交Issue和Pull Requests以改进功能或修复问题。

联系信息

如有任何疑问,请联系项目维护者。