返回市场
语雀-MCP-服务器

语雀-MCP-服务器

作者:HenryHaoson32 星标更新:2025-10-31

项目介绍

语言麻雀 MCP 服务器

smithery 徽章

英文版本

这是一个用于与语言麻雀 API 集成的模型上下文协议(MCP)服务器。此实现基于 Figma-Context-MCP,并使用了 语言鸟开放 API

概览

该服务器提供了与语雀知识库平台交互的 MCP 工具,允许 AI 模型进行以下操作:

  • 获取用户和文档信息
  • 创建、读取、更新和删除文档
  • 在语雀中搜索内容
  • 获取知识库信息
  • 获取统计数据并分析信息

安装

通过 Smithery 安装

要使用 Smithery 自动将语雀 MCP 服务器安装到 Claude 的桌面:

npx -y @smithery/cli install @HenryHaoson/Yuque-MCP-Server --client claude

先决条件

  • Node.js 18+(推荐)
  • 带有 API Token 的语雀账户

设置

  1. 克隆此仓库:

    git clone https://github.com/Henryhaoson/Yueque-MCP-Server.git
    cd Yueque-MCP-Server
    
  2. 安装依赖项:

    npm install
    
  3. 根据 .env.example 创建 .env 文件:

    cp .env.example .env
    
  4. (可选)在 .env 文件中添加您的语言鸟 API Token:

    YUQUE_API_TOKEN=your_yuque_api_token_here
    

    您也可以选择在连接到服务器时通过查询参数提供令牌,而不是设置在 .env 文件中。

使用说明

运行服务器

开发模式

# HTTP 服务器模式
npm run dev

# CLI stdio 模式
npm run dev:cli

生产模式

首先构建项目:

npm run build

然后以 HTTP 或 CLI 模式运行:

# HTTP 服务器模式
npm run start

# CLI stdio 模式
npm run start:cli

使用 Docker 部署

该项目提供了 Docker 支持,使您能够轻松地容器化和部署服务器。

使用 Docker Compose(推荐)

  1. 构建并启动容器:

    docker-compose up -d
    
  2. 查看日志:

    docker-compose logs -f
    
  3. 下线:

    docker-compose down
    

您可以使用环境变量或在 .env 文件中设置配置项:

# .env 文件示例
PORT=3000
YUQUE_API_TOKEN=your_token_here
YUQUE_API_BASE_URL=https://www.yuque.com/api/v2

手动使用 Docker

  1. 构建 Docker 镜像:

    docker build -t yuque-mcp-server .
    
  2. 运行容器:

    docker run -d -p 3000:3000 --name yuque-mcp-server yuque-mcp-server
    
  3. 使用环境变量:

    docker run -d -p 3000:3000 \
      -e YUQUE_API_TOKEN=your_token_here \
      -e YUQUE_API_BASE_URL=https://www.yuque.com/api/v2 \
      --name yuque-mcp-server yuque-mcp-server
    

MCP 工具

语言麻雀 MCP 服务器提供了以下工具:

用户和文档管理

  • get_current_user -获取当前认证用户的详细信息,包括用户ID、用户名、头像以及其他基本的语言鸟账户信息
  • get_user_docs -检索当前用户的所有知识库文档列表,包括个人文档和协作文档
  • get_user_repos -检索指定用户的知识库列表,其中知识库是语言鸟中的组织文档集合
  • get_repo_docs -检索特定知识库中的所有文档列表,包括文档标题、更新时间等信息
  • get_doc -获取语雀中特定文档的详细内容,包括正文文本、修改历史以及权限信息
  • create_doc -在指定的知识库中创建新的语言鸟文档,支持多种内容格式(Markdown、HTML、Lake)
  • update_doc -更新语雀中的现有文档,修改标题、内容或权限设置
  • delete_doc -从语雀知识库中删除指定文档,此操作不可逆
  • search -在语雀平台上搜索文档或知识库内容,支持范围和作者过滤

团队统计分析

  • get_group_statistics -获取团队概要统计数据,包括成员数量、文档数量、阅读量及互动数据等
  • get_group_member_statistics -获取团队成员的统计数据,包括他们的编辑频率、阅读量、点赞数等
  • get_group_book_statistics -获取团队知识库的统计数据,包括每个知识库的文档数量、字数及阅读量
  • get_group_doc_statistics -获取团队文档的统计数据,包括每个文档的字数、阅读量、评论量等

与 AI 模型集成

此 MCP 服务器可以与支持模型上下文协议的 AI 模型一起使用,允许它们通过定义的工具与语言鸟进行交互。例如:

  1. 启动 MCP 服务器
  2. 从兼容客户端连接到服务器
  3. 现在 AI 模型可以使用注册的工具与语言鸟数据进行交互

SSE 端点的查询参数

当连接到 SSE 端点时,可以通过查询参数覆盖环境配置,这些参数的优先级高于环境变量:

  • accessToken:覆盖在 .env 文件中设置的语言鸟 API Token
  • baseUrl:覆盖在 .env 文件中设置的语言鸟 API 基础 URL

示例:

http://localhost:3000/sse?accessToken=your_token_here&baseUrl=https://custom.yuque.api/v2

这允许您动态配置服务而不必修改 .env 文件,并且查询参数的优先级高于环境变量。这对于多用户环境或测试不同的 API 端点特别有用。

每个 SSE 连接都可以单独配置,使得同一服务器实例可以同时服务于不同的用户或环境。

开发

项目结构

src/
  ├── config.ts          # 服务器配置
  ├── index.ts           # 主入口点
  ├── cli.ts             # CLI 入口点 
  ├── server.ts          # MCP 服务器实现
  └── services/
      └── yuque.ts       # 语雀 API 服务

添加新工具

要添加新工具,请在 src/server.ts 中的 registerTools 方法中进行修改。

API 改进

最近的更新增加了以下功能:

  1. 团队统计数据增加了获取团队、成员、知识库和文档统计数据的功能,便于分析和监控团队知识库的使用情况。

  2. 文档管理增强

    • 支持多种文档格式(Markdown、HTML、Lake)
    • 完整的文档开放性设置(私有、公开、内部披露)
    • 搜索功能支持更多的参数和过滤条件
  3. 完整的数据类型更新了接口定义,使其符合语言麻雀开放 API 规范。

许可证

MIT 许可证

版权所有 (c) 2025 Henryhaoson

在此授权任何人免费获得本软件及其相关文档文件(以下简称“软件”),无限制地处理软件,包括但不限于以下权利:

  • 使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利
  • 将软件提供给他人使用,但须遵守以下条件:

上述版权声明和本许可通知应包含在所有副本或软件的重要部分中。

软件按“原样”提供,不附带任何形式的保证,无论是明示的还是暗示的,包括但不限于对适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有者均不对因软件或其使用或其他交易而引起的任何索赔、损害或其他责任负责,无论是在合同行为、侵权行为或其他行为中。

致谢