
Yuque MCP
io.github.wwwwujlPublished by GitHub account wwwwujlv1.1.0Updated Oct 24, 2026
Yuque MCP server with safe read/write tools for groups, group members, repositories, docs, and TOC.
Overview
Lets an assistant browse, read, search, and (when explicitly enabled) create, update, or delete Yuque knowledge bases, docs, groups, and TOC nodes.
- What you can do
- Connects an assistant to Yuque through its API: discovering repositories and docs, reading doc content in markdown, html, or lake format, searching across a repository, and listing docs with pagination. It also exposes combined helpers such as get_my_repositories, get_repository_overview, search_and_read, and create_document_with_toc. Write tools cover repo, doc, group, group-member, and TOC operations, plus creating or updating docs from local files. Write and delete tools are blocked unless enabled by environment variables.
- When to use it
- Useful when you keep documentation or research notes in Yuque and want an assistant to read, search, and summarize them, or to draft and update pages and TOC entries. It fits teams that want controlled write access limited to specific namespaces or groups.
- Requirements
- Runs locally over stdio as an npm package; Node.js 20+ is suggested. Requires a Yuque API token in YUQUE_TOKEN. Optional settings include YUQUE_ENDPOINT, YUQUE_TIMEOUT_MS, YUQUE_MAX_RETRIES, YUQUE_ALLOW_WRITE, YUQUE_ALLOW_DELETE, the write and delete allowlists, and file-tool limits (YUQUE_FILE_ROOT, YUQUE_FILE_MAX_BYTES, YUQUE_FILE_ALLOWED_EXTENSIONS). Network access to the Yuque API is needed.
Installation
In SourceWeft
- Open Yuque MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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)
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:
Run compiled server:
Run local MCP smoke test (test namespace only):
Run write smoke suite with cleanup (create/update/toc/delete on test namespace):
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
Source: README.md at commit e3de123
Tools
0Version history
1- v1.1.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts