📦
Yuque MCP
本项目基于 FastMCP 框架,提供一个专门用于管理语雀知识库的 MCP 服务器。 该服务器支持自动识别并创建知识库分组,创建或更新文档,获取文档详情、文档列表及完整知识库目录,支持分页查询与结构化数据返回。 所有操作均基于语雀官方 API 实现。
0 installs
Trust: 39 — Low
Commerce
Ask AI about Yuque MCP
Powered by Claude · Grounded in docs
I know everything about Yuque MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Loading tools...
Reviews
Documentation
yuque-mcp
中文说明: README.zh-CN.md
This folder is prepared for building a custom MCP server for Yuque.
Goal
Build a Yuque MCP server so Codex can:
- discover Yuque repos and docs
- read doc content in markdown/raw mode
- create/update/delete docs when needed
- create docs from local files and update docs from local files
- create/update/delete repos (knowledge bases)
- create/update/delete groups
- manage group members (
list/add/remove) - run combined operations (
get_my_repositories,get_repository_overview,search_and_read,create_document_with_toc) - update repository TOC nodes
- use Yuque content as a research knowledge base
Included Docs
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
Session Kickoff
In your new Codex session, start with:
- Read
docs/01-scope-v1.mdanddocs/03-tool-contract.md. - Scaffold Node + TypeScript MCP server.
- Implement read-only tools.
- Add write tools for group/repo/doc CRUD + TOC update.
- Run tests and add Codex MCP config.
Quick Start (Local)
npm install
npm run build
Required env:
YUQUE_TOKENYUQUE_ENDPOINT(optional, defaulthttps://www.yuque.com/api/v2/)YUQUE_TIMEOUT_MS(optional, default10000)YUQUE_MAX_RETRIES(optional, default2, read-only retries only)YUQUE_ALLOW_WRITE(optional, defaultfalse)YUQUE_WRITE_NAMESPACE_ALLOWLIST(optional, comma-separated namespace allowlist for repo/doc/toc writes)YUQUE_WRITE_GROUP_ALLOWLIST(optional, comma-separated group login allowlist for group writes)YUQUE_ALLOW_DELETE(optional, defaultfalse)YUQUE_DELETE_NAMESPACE_ALLOWLIST(optional, comma-separated delete allowlist targets; namespace for repo/doc, login for group)YUQUE_FILE_ROOT(optional, default current working directory, used by file-based doc tools)YUQUE_FILE_MAX_BYTES(optional, default1048576)YUQUE_FILE_ALLOWED_EXTENSIONS(optional, default.md,.markdown,.txt)
Write safety:
- All write tools are blocked by default.
- Set
YUQUE_ALLOW_WRITE=trueto enable writes. - Optional write allowlists:
YUQUE_WRITE_NAMESPACE_ALLOWLIST=team/sandbox,team/testYUQUE_WRITE_GROUP_ALLOWLIST=sandbox-team
Delete safety:
yuque_delete_doc,yuque_delete_repo, andyuque_delete_groupare blocked by default.- To enable delete for test repos only, set:
YUQUE_ALLOW_WRITE=trueYUQUE_ALLOW_DELETE=trueYUQUE_DELETE_NAMESPACE_ALLOWLIST=your/test-namespace,your-test-group-login
- Delete tools also require
confirm: trueand exactconfirm_text:- doc:
DELETE DOC <namespace>/<docRef> - repo:
DELETE REPO <namespace> - group:
DELETE GROUP <login>
- doc:
Latest highlights:
yuque_get_doc/yuque_update_doc/yuque_delete_docsupport eitherslugordoc_id.yuque_list_docssupports pagination (offset,limit).yuque_search_docsnow scans paginated docs across the full repository.- Doc format supports
markdown,html,lake; visibility supports0 | 1 | 2. - TOC update supports extra fields (
editNode,url,open_window,visible). - Group member tools:
yuque_list_group_users,yuque_add_group_user,yuque_remove_group_user. - File-based tools are constrained by root directory, extension allowlist, and max size.
Run in dev:
npm run dev
Run compiled server:
npm run start
Run local MCP smoke test (test namespace only):
YUQUE_SMOKE_NAMESPACE=your/test-namespace npm run smoke
Run write smoke suite with cleanup (create/update/toc/delete on test namespace):
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
Suggested Stack
- Node.js 20+
- TypeScript
@modelcontextprotocol/sdk- Native
fetchor lightweight HTTP client zodfor input validation
Open Source Governance
- Contribution guide:
CONTRIBUTING.md - Security policy:
SECURITY.md - Weekly maintenance checklist:
docs/11-weekly-maintenance.md - Complaint and takedown policy:
docs/12-complaint-and-takedown.md - Disclaimer:
DISCLAIMER.md
