关于 Yuque MCP
Yuque MCP 是连接 Codex 等 MCP 客户端与 Yuque 的 MCP 服务,可操作知识库、文档、群组及成员。它将内容检索与读写功能结合,并提供可配置的白名单和写入、删除保护。
主要功能
- 01浏览知识库和文档
- 02以 Markdown 或原始格式读取文档
- 03创建、更新和删除文档
- 04管理群组及成员
- 05更新知识库目录
- 06通过保护设置限制写入和删除
适用场景
- 01查找并阅读 Yuque 知识库中的文档
- 02通过本地文件创建或更新文档
- 03管理知识库和群组内容
- 04将 Yuque 内容用于研究
MCP 相关
向 MCP 客户端提供 Yuque 知识库、文档、群组、成员和目录操作工具。写入和删除工具默认禁用,可通过环境设置进行控制。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
mcp.json · 通用配置
启动命令
npx -y @wwwwwujl/yuque-mcp需要配置的环境变量
YUQUE_TOKEN密钥Yuque API tokenYUQUE_ENDPOINTYuque API endpoint (optional)YUQUE_TIMEOUT_MSYuque API timeout in milliseconds (optional)YUQUE_MAX_RETRIESRead-only retry count (optional)YUQUE_ALLOW_WRITEEnable write tools when true (optional, default false)YUQUE_WRITE_NAMESPACE_ALLOWLISTComma-separated namespace allowlist for repo/doc/toc writes (optional)YUQUE_WRITE_GROUP_ALLOWLISTComma-separated group login allowlist for group writes (optional)YUQUE_ALLOW_DELETEEnable delete tools when true (optional, default false)YUQUE_DELETE_NAMESPACE_ALLOWLISTComma-separated delete allowlist targets (optional)YUQUE_FILE_ROOTAllowed root directory for file-based doc tools (optional, default current working directory)YUQUE_FILE_MAX_BYTESMaximum size for file-based doc tools (optional, default 1048576)YUQUE_FILE_ALLOWED_EXTENSIONSComma-separated allowed extensions for file-based doc tools (optional, default .md,.markdown,.txt)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
yuque-mcp
中文说明:README.zh-CN.md
此文件夹用于构建自定义 Yuque MCP 服务。
目标
构建 Yuque MCP 服务,以便 Codex 能够:
- 发现 Yuque 知识库和文档
- 以 Markdown/原始模式读取文档内容
- 按需创建/更新/删除文档
- 从本地文件创建文档,并根据本地文件更新文档
- 创建/更新/删除知识库
- 创建/更新/删除分组
- 管理分组成员(
list/add/remove) - 执行组合操作(
get_my_repositories、get_repository_overview、search_and_read、create_document_with_toc) - 更新知识库目录节点
- 将 Yuque 内容用作研究知识库
包含的文档
docs/00-project-brief.mddocs/01-scope-v1.mddocs/02-architecture.mddocs/03-tool-contract.mddocs/04-api-mapping.mddocs/05-security.mddocs/06-implementation-plan.mddocs/07-test-plan.mddocs/08-codex-integration.mddocs/09-release-notes-zh.mddocs/10-registry-publish.mddocs/11-weekly-maintenance.mddocs/12-complaint-and-takedown.mdCHANGELOG.mdCONTRIBUTING.mdSECURITY.mdDISCLAIMER.mdtasks/TODO.md
会话启动
在新的 Codex 会话中,从以下步骤开始:
- 阅读
docs/01-scope-v1.md和docs/03-tool-contract.md。 - 搭建 Node + TypeScript MCP 服务框架。
- 实现只读工具。
- 添加用于分组/知识库/文档 CRUD 和目录更新的写入工具。
- 运行测试并添加 Codex MCP 配置。
快速开始(本地)
npm install
npm run build
必需的环境变量:
YUQUE_TOKENYUQUE_ENDPOINT(可选,默认值为https://www.yuque.com/api/v2/)YUQUE_TIMEOUT_MS(可选,默认值为10000)YUQUE_MAX_RETRIES(可选,默认值为2,仅对只读操作重试)YUQUE_ALLOW_WRITE(可选,默认值为false)YUQUE_WRITE_NAMESPACE_ALLOWLIST(可选,以逗号分隔的知识库/文档/目录写入命名空间允许列表)YUQUE_WRITE_GROUP_ALLOWLIST(可选,以逗号分隔的分组写入登录名允许列表)YUQUE_ALLOW_DELETE(可选,默认值为false)YUQUE_DELETE_NAMESPACE_ALLOWLIST(可选,以逗号分隔的删除目标允许列表;知识库/文档使用命名空间,分组使用登录名)YUQUE_FILE_ROOT(可选,默认值为当前工作目录,供基于文件的文档工具使用)YUQUE_FILE_MAX_BYTES(可选,默认值为1048576)YUQUE_FILE_ALLOWED_EXTENSIONS(可选,默认值为.md,.markdown,.txt)
写入安全:
- 默认情况下,所有写入工具均被禁用。
- 设置
YUQUE_ALLOW_WRITE=true以启用写入。 - 可选的写入允许列表:
YUQUE_WRITE_NAMESPACE_ALLOWLIST=team/sandbox,team/testYUQUE_WRITE_GROUP_ALLOWLIST=sandbox-team
删除安全:
- 默认情况下,
yuque_delete_doc、yuque_delete_repo和yuque_delete_group均被禁用。 - 若要仅对测试知识库启用删除,请设置:
YUQUE_ALLOW_WRITE=trueYUQUE_ALLOW_DELETE=trueYUQUE_DELETE_NAMESPACE_ALLOWLIST=your/test-namespace,your-test-group-login
- 删除工具还要求设置
confirm: true,并提供完全匹配的confirm_text:- 文档:
DELETE DOC <namespace>/<docRef> - 知识库:
DELETE REPO <namespace> - 分组:
DELETE GROUP <login>
- 文档:
最新亮点:
yuque_get_doc/yuque_update_doc/yuque_delete_doc支持使用slug或doc_id。yuque_list_docs支持分页(offset、limit)。yuque_search_docs现在会扫描整个知识库中的分页文档。- 文档格式支持
markdown、html、lake;可见性支持0 | 1 | 2。 - 目录更新支持额外字段(
editNode、url、open_window、visible)。 - 分组成员工具:
yuque_list_group_users、yuque_add_group_user、yuque_remove_group_user。 - 基于文件的工具受根目录、扩展名允许列表和最大文件大小的限制。
在开发模式下运行:
npm run dev
运行已编译的服务:
npm run start
运行本地 MCP 冒烟测试(仅限测试命名空间):
YUQUE_SMOKE_NAMESPACE=your/test-namespace npm run smoke
运行带清理的写入冒烟测试套件(在测试命名空间中执行创建/更新/目录更新/删除):
YUQUE_SMOKE_NAMESPACE=your/test-namespace \
YUQUE_SMOKE_ENABLE_WRITE=true \
YUQUE_ALLOW_WRITE=true \
YUQUE_ALLOW_DELETE=true \
YUQUE_DELETE_NAMESPACE_ALLOWLIST=your/test-namespace \
npm run smoke
建议的技术栈
- Node.js 20+
- TypeScript
@modelcontextprotocol/sdk- 原生
fetch或轻量级 HTTP 客户端 - 使用
zod进行输入验证
开源治理
- 贡献指南:
CONTRIBUTING.md - 安全政策:
SECURITY.md - 每周维护清单:
docs/11-weekly-maintenance.md - 投诉和下架政策:
docs/12-complaint-and-takedown.md - 免责声明:
DISCLAIMER.md
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。