mcpField
Y
Yuque MCP

Yuque MCP

本地服务
github.com生产力036 周前更新

关于 Yuque MCP

Yuque MCP 是连接 Codex 等 MCP 客户端与 Yuque 的 MCP 服务,可操作知识库、文档、群组及成员。它将内容检索与读写功能结合,并提供可配置的白名单和写入、删除保护。

主要功能

  1. 01浏览知识库和文档
  2. 02以 Markdown 或原始格式读取文档
  3. 03创建、更新和删除文档
  4. 04管理群组及成员
  5. 05更新知识库目录
  6. 06通过保护设置限制写入和删除

适用场景

  1. 01查找并阅读 Yuque 知识库中的文档
  2. 02通过本地文件创建或更新文档
  3. 03管理知识库和群组内容
  4. 04将 Yuque 内容用于研究

MCP 相关

向 MCP 客户端提供 Yuque 知识库、文档、群组、成员和目录操作工具。写入和删除工具默认禁用,可通过环境设置进行控制。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"wwwwujl-yuque": {
"command": "npx",
"args": [
"-y",
"@wwwwwujl/yuque-mcp"
],
"env": {
"YUQUE_TOKEN": "<YUQUE_TOKEN>",
"YUQUE_ENDPOINT": "<YUQUE_ENDPOINT>",
"YUQUE_TIMEOUT_MS": "<YUQUE_TIMEOUT_MS>",
"YUQUE_MAX_RETRIES": "<YUQUE_MAX_RETRIES>",
"YUQUE_ALLOW_WRITE": "<YUQUE_ALLOW_WRITE>",
"YUQUE_WRITE_NAMESPACE_ALLOWLIST": "<YUQUE_WRITE_NAMESPACE_ALLOWLIST>",
"YUQUE_WRITE_GROUP_ALLOWLIST": "<YUQUE_WRITE_GROUP_ALLOWLIST>",
"YUQUE_ALLOW_DELETE": "<YUQUE_ALLOW_DELETE>",
"YUQUE_DELETE_NAMESPACE_ALLOWLIST": "<YUQUE_DELETE_NAMESPACE_ALLOWLIST>",
"YUQUE_FILE_ROOT": "<YUQUE_FILE_ROOT>",
"YUQUE_FILE_MAX_BYTES": "<YUQUE_FILE_MAX_BYTES>",
"YUQUE_FILE_ALLOWED_EXTENSIONS": "<YUQUE_FILE_ALLOWED_EXTENSIONS>"
}
}
}
}
启动命令npx -y @wwwwwujl/yuque-mcp
需要配置的环境变量
YUQUE_TOKEN密钥Yuque API token
YUQUE_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@wwwwwujl/yuque-mcp1.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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.md
  • docs/01-scope-v1.md
  • docs/02-architecture.md
  • docs/03-tool-contract.md
  • docs/04-api-mapping.md
  • docs/05-security.md
  • docs/06-implementation-plan.md
  • docs/07-test-plan.md
  • docs/08-codex-integration.md
  • docs/09-release-notes-zh.md
  • docs/10-registry-publish.md
  • docs/11-weekly-maintenance.md
  • docs/12-complaint-and-takedown.md
  • CHANGELOG.md
  • CONTRIBUTING.md
  • SECURITY.md
  • DISCLAIMER.md
  • tasks/TODO.md

会话启动

在新的 Codex 会话中,从以下步骤开始:

  1. 阅读 docs/01-scope-v1.md 和 docs/03-tool-contract.md。
  2. 搭建 Node + TypeScript MCP 服务框架。
  3. 实现只读工具。
  4. 添加用于分组/知识库/文档 CRUD 和目录更新的写入工具。
  5. 运行测试并添加 Codex MCP 配置。

快速开始(本地)

npm install
npm run build

必需的环境变量:

  • YUQUE_TOKEN
  • YUQUE_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/test
    • YUQUE_WRITE_GROUP_ALLOWLIST=sandbox-team

删除安全:

  • 默认情况下,yuque_delete_doc、yuque_delete_repo 和 yuque_delete_group 均被禁用。
  • 若要仅对测试知识库启用删除,请设置:
    • YUQUE_ALLOW_WRITE=true
    • YUQUE_ALLOW_DELETE=true
    • YUQUE_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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。