这是一个用于与语言麻雀API集成的模型上下文协议(MCP)服务器。此实现基于Figma-Context-MCP,并使用了语言鸟开放API。
该服务器提供了与Yuque知识库平台交互的MCP工具,使AI模型能够:
克隆此仓库:
git clone https://github.com/Henryhaoson/Yueque-MCP-Server.git
cd Yueque-MCP-Server
安装依赖项:
npm install
根据.env.example创建.env文件:
cp .env.example .env
(可选)在.env文件中添加您的语言鸟API令牌:
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-compose up -d
查看日志:
docker-compose logs -f
下线:
docker-compose down
您可以使用环境变量或.env文件中的设置项:
# .env文件示例
PORT=3000
YUQUE_API_TOKEN=your_token_here
YUQUE_API_BASE_URL=https://www.yuque.com/api/v2
构建Docker镜像:
docker build -t yuque-mcp-server .
运行容器:
docker run -d -p 3000:3000 --name yuque-mcp-server yuque-mcp-server
使用环境变量:
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服务器提供的工具如下:
get_current_user -获取当前认证用户的详细信息,包括用户ID、用户名、头像以及其他基本的语言鸟账户信息get_user_docs -检索当前用户的所有知识库文档列表,包括个人文档和协作文档get_user_repos -检索指定用户的知识库列表,其中知识库是语言鸟中组织好的文档集合get_repo_docs -检索特定知识库中的所有文档列表,包括文档标题、更新时间等信息get_doc -获取Yuque中特定文档的详细内容,包括正文文本、修改历史以及权限信息create_doc -在指定的知识库中创建新的语言鸟文档,支持多种格式的内容(Markdown、HTML、Lake)update_doc -更新Yuque中的现有文档,修改标题、内容或权限设置delete_doc -从Yuque知识库中删除指定文档,此操作不可逆search -在Yuque平台上搜索文档或知识库内容,支持范围和作者过滤get_group_statistics -获取团队的汇总统计数据,包括成员数量、文档数量、阅读量及互动数据等get_group_member_statistics -获取团队成员的统计数据,包括他们的编辑频率、阅读量、点赞数等get_group_book_statistics -获取团队知识库的统计数据,包括每个知识库的文档数量、字数及阅读量等get_group_doc_statistics -获取团队文档的统计数据,包括每个文档的字数、阅读量、评论量等此MCP服务器可以与支持模型上下文协议的AI模型一起使用,使其可以通过定义的工具与语言鸟进行交互。例如:
当连接到SSE端点时,可以通过查询参数覆盖环境配置,这些参数的优先级高于环境变量:
accessToken:覆盖在.env文件中设置的语言鸟API令牌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规范。
ISC