Skip to main content
Glama

说明

该项目使用AI进行重构测试 测试提交

Yuque MCP Server

CI npm version License: MIT

MCP server for Yuque (语雀) — expose your knowledge base to AI assistants through the Model Context Protocol.

🌐 Website · 📖 API Docs · 中文文档


Quick Start

1. Get Your Yuque API Token

Visit Yuque Developer Settings to create a personal access token.

Use the built-in CLI to auto-configure your MCP client in one command:

npx yuque-mcp install --token=YOUR_TOKEN --client=cursor

Supported clients: claude-desktop, vscode, cursor, windsurf, cline, trae

Or use the interactive setup wizard:

npx yuque-mcp setup

The CLI will automatically find the correct config file for your OS, merge with any existing configuration (without overwriting other servers), and print a success message.

3. Manual Configuration

Choose your preferred client below:

claude mcp add yuque-mcp -- npx -y yuque-mcp --token=YOUR_TOKEN

Or using environment variables:

export YUQUE_PERSONAL_TOKEN=YOUR_TOKEN
claude mcp add yuque-mcp -- npx -y yuque-mcp

Add to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "yuque": {
      "command": "npx",
      "args": ["-y", "yuque-mcp"],
      "env": {
        "YUQUE_PERSONAL_TOKEN": "YOUR_TOKEN"
      }
    }
  }
}

Add to .vscode/mcp.json in your workspace:

{
  "servers": {
    "yuque": {
      "command": "npx",
      "args": ["-y", "yuque-mcp"],
      "env": {
        "YUQUE_PERSONAL_TOKEN": "YOUR_TOKEN"
      }
    }
  }
}

Then enable Agent mode in GitHub Copilot Chat.

Add to your Cursor MCP configuration (~/.cursor/mcp.json):

{
  "mcpServers": {
    "yuque": {
      "command": "npx",
      "args": ["-y", "yuque-mcp"],
      "env": {
        "YUQUE_PERSONAL_TOKEN": "YOUR_TOKEN"
      }
    }
  }
}

Add to your Windsurf MCP configuration (~/.windsurf/mcp.json):

{
  "mcpServers": {
    "yuque": {
      "command": "npx",
      "args": ["-y", "yuque-mcp"],
      "env": {
        "YUQUE_PERSONAL_TOKEN": "YOUR_TOKEN"
      }
    }
  }
}

Add to your Cline MCP settings (~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):

{
  "mcpServers": {
    "yuque": {
      "command": "npx",
      "args": ["-y", "yuque-mcp"],
      "env": {
        "YUQUE_PERSONAL_TOKEN": "YOUR_TOKEN"
      }
    }
  }
}

In Trae, open Settings and navigate to the MCP section, then add a new stdio-type MCP Server with the following configuration:

  • Command: npx

  • Args: -y yuque-mcp

  • Env: YUQUE_PERSONAL_TOKEN=YOUR_TOKEN

See Trae MCP documentation for detailed instructions.

More clients: Any MCP-compatible client that supports stdio transport can use yuque-mcp. The general pattern is: command = npx, args = ["-y", "yuque-mcp"], env = YUQUE_PERSONAL_TOKEN.

4. Done!

Ask your AI assistant to search your Yuque docs, create documents, or manage books.


Related MCP server: Yuque MCP Server

Authentication

The server supports multiple ways to provide your Yuque API token:

Method

Environment Variable / Flag

Description

Personal Token (recommended)

YUQUE_PERSONAL_TOKEN

For accessing your personal Yuque account

Group Token

YUQUE_GROUP_TOKEN

For accessing a Yuque group

Legacy Token

YUQUE_TOKEN

Backward-compatible, works the same

CLI Argument

--token=YOUR_TOKEN

Pass directly as a command-line argument

Priority order: YUQUE_PERSONAL_TOKEN > YUQUE_GROUP_TOKEN > YUQUE_TOKEN > --token


Available Tools (25)

Category

Tools

User

yuque_get_user, yuque_list_groups

Search

yuque_search

Books

yuque_list_repos, yuque_get_repo, yuque_create_repo, yuque_update_repo, yuque_delete_repo

Docs

yuque_list_docs, yuque_get_doc, yuque_create_doc, yuque_update_doc, yuque_delete_doc

TOC

yuque_get_toc, yuque_update_toc

Versions

yuque_list_doc_versions, yuque_get_doc_version

Groups

yuque_list_group_members, yuque_update_group_member, yuque_remove_group_member

Stats

yuque_group_stats, yuque_group_member_stats, yuque_group_book_stats, yuque_group_doc_stats

Utility

yuque_hello


Troubleshooting

Error

Solution

YUQUE_PERSONAL_TOKEN is required

Set one of the environment variables (YUQUE_PERSONAL_TOKEN, YUQUE_GROUP_TOKEN, or YUQUE_TOKEN) or pass --token=YOUR_TOKEN

401 Unauthorized

Token is invalid or expired — regenerate at Yuque Settings

429 Rate Limited

Too many requests — wait a moment and retry

Tool not found

Update to the latest version: npx -y yuque-mcp@latest

npx command not found

Install Node.js (v18 or later)


Development

git clone https://github.com/yuque/yuque-mcp-server.git
cd yuque-mcp-server
npm install
npm test              # run tests
npm run build         # compile TypeScript
npm run dev           # dev mode with hot reload

License

MIT

Available Tools

25 tools
yuque_create_docA

Create a new document in a repo/book

Inputs: title (required), repo_id (required), body, slug, +2 more.

yuque_create_repoA

Create a new repo/book for a user or group

Inputs: name (required), slug (required), type (required), login (required), +3 more.

yuque_delete_docC

Delete a document

Inputs: doc_id (required), repo_id (required).

yuque_delete_repoC

Delete a repo/book

Inputs: id_or_namespace (required).

yuque_get_docA

Get a specific document with full content

Inputs: doc_id (required), repo_id (required).

yuque_get_doc_versionB

Get a specific version of a document

Inputs: version_id (required).

yuque_get_repoA

Get a specific repo/book by ID or namespace (group_login/book_slug)

Inputs: id_or_namespace (required).

yuque_get_tocB

Get the table of contents (TOC) for a repo/book

Inputs: repo_id (required).

yuque_get_userA

Get current authenticated user information

Inputs: no named parameters.

yuque_group_book_statsB

Get book/repo statistics for a group/team

Inputs: login (required).

yuque_group_doc_statsC

Get document statistics for a group/team

Inputs: login (required).

yuque_group_member_statsB

Get member statistics for a group/team

Inputs: login (required).

yuque_group_statsC

Get overall statistics for a group/team

Inputs: login (required).

yuque_helloA

Test API connectivity with Yuque

Inputs: no named parameters.

yuque_list_docsA

List all documents in a repo/book

Inputs: repo_id (required).

yuque_list_doc_versionsA

List all versions of a document

Inputs: doc_id (required).

yuque_list_group_membersB

List all members of a group/team

Inputs: login (required).

yuque_list_groupsA

List all groups/teams that the user belongs to

Inputs: user_id (required).

yuque_list_reposB

List all repos/books for a user or group

Inputs: type (required), login (required).

yuque_remove_group_memberB

Remove a member from a group/team

Inputs: login (required), user_id (required).

yuque_update_docC

Update an existing document

Inputs: doc_id (required), repo_id (required), body, slug, +2 more.

yuque_update_group_memberB

Update a group member role

Inputs: role (required), login (required), user_id (required).

yuque_update_repoC

Update a repo/book

Inputs: id_or_namespace (required), name, slug, public, +1 more.

yuque_update_tocB

Update the table of contents (TOC) for a repo/book

Inputs: repo_id (required), toc_data (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 25 tools

    Disambiguation4/5

    Most tools are distinct (get vs list vs create vs delete), but the four group stats tools (group_stats, group_member_stats, group_book_stats, group_doc_stats) have overlapping names and could be confused for one another. All other tools have clearly separated purposes.

    Naming Consistency4/5

    The dominant pattern is yuque_verb_noun (e.g., get_repo, create_doc, list_docs). The four group stats tools break this by using group_..._stats without a verb, and yuque_hello is an outlier. Overall, naming is mostly consistent with minor deviations.

    Tool Count3/5

    With 25 tools, this is at the upper boundary of a heavy toolset. The domain covers repos, docs, groups, members, versions, TOC, stats, and search, but several stats tools could be consolidated. It is not bloated, but it is slightly over the typical well-scoped range.

    Completeness3/5

    Repos and docs have full CRUD coverage, plus TOC, versions, and search. However, there is no group creation/deletion, no way to add a member (only remove/update), and no features like comments or attachments. These are notable gaps for a collaborative knowledge base platform.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers