PluginBench
MCP Server

Yuque MCP MCP Server

io.github.wwwwujl/yuque-mcp

What is the Yuque MCP MCP server?

Yuque MCP server with safe read/write tools for groups, group members, repositories, docs, and TOC.

How to install Yuque MCP

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • YUQUE_TOKEN
    required
    secret

    Yuque API token

  • YUQUE_ENDPOINT

    Yuque API endpoint (optional)

  • YUQUE_TIMEOUT_MS

    Yuque API timeout in milliseconds (optional)

  • YUQUE_MAX_RETRIES

    Read-only retry count (optional)

  • YUQUE_ALLOW_WRITE

    Enable write tools when true (optional, default false)

  • YUQUE_WRITE_NAMESPACE_ALLOWLIST

    Comma-separated namespace allowlist for repo/doc/toc writes (optional)

  • YUQUE_WRITE_GROUP_ALLOWLIST

    Comma-separated group login allowlist for group writes (optional)

  • YUQUE_ALLOW_DELETE

    Enable delete tools when true (optional, default false)

  • YUQUE_DELETE_NAMESPACE_ALLOWLIST

    Comma-separated delete allowlist targets (optional)

  • YUQUE_FILE_ROOT

    Allowed root directory for file-based doc tools (optional, default current working directory)

  • YUQUE_FILE_MAX_BYTES

    Maximum size for file-based doc tools (optional, default 1048576)

  • YUQUE_FILE_ALLOWED_EXTENSIONS

    Comma-separated allowed extensions for file-based doc tools (optional, default .md,.markdown,.txt)

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "yuque-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@wwwwwujl/yuque-mcp"
      ],
      "env": {
        "YUQUE_TOKEN": "<YOUR_YUQUE_TOKEN>",
        "YUQUE_ENDPOINT": "<YOUR_YUQUE_ENDPOINT>",
        "YUQUE_TIMEOUT_MS": "<YOUR_YUQUE_TIMEOUT_MS>",
        "YUQUE_MAX_RETRIES": "<YOUR_YUQUE_MAX_RETRIES>",
        "YUQUE_ALLOW_WRITE": "<YOUR_YUQUE_ALLOW_WRITE>",
        "YUQUE_WRITE_NAMESPACE_ALLOWLIST": "<YOUR_YUQUE_WRITE_NAMESPACE_ALLOWLIST>",
        "YUQUE_WRITE_GROUP_ALLOWLIST": "<YOUR_YUQUE_WRITE_GROUP_ALLOWLIST>",
        "YUQUE_ALLOW_DELETE": "<YOUR_YUQUE_ALLOW_DELETE>",
        "YUQUE_DELETE_NAMESPACE_ALLOWLIST": "<YOUR_YUQUE_DELETE_NAMESPACE_ALLOWLIST>",
        "YUQUE_FILE_ROOT": "<YOUR_YUQUE_FILE_ROOT>",
        "YUQUE_FILE_MAX_BYTES": "<YOUR_YUQUE_FILE_MAX_BYTES>",
        "YUQUE_FILE_ALLOWED_EXTENSIONS": "<YOUR_YUQUE_FILE_ALLOWED_EXTENSIONS>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "yuque-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@wwwwwujl/yuque-mcp"
      ],
      "env": {
        "YUQUE_TOKEN": "<YOUR_YUQUE_TOKEN>",
        "YUQUE_ENDPOINT": "<YOUR_YUQUE_ENDPOINT>",
        "YUQUE_TIMEOUT_MS": "<YOUR_YUQUE_TIMEOUT_MS>",
        "YUQUE_MAX_RETRIES": "<YOUR_YUQUE_MAX_RETRIES>",
        "YUQUE_ALLOW_WRITE": "<YOUR_YUQUE_ALLOW_WRITE>",
        "YUQUE_WRITE_NAMESPACE_ALLOWLIST": "<YOUR_YUQUE_WRITE_NAMESPACE_ALLOWLIST>",
        "YUQUE_WRITE_GROUP_ALLOWLIST": "<YOUR_YUQUE_WRITE_GROUP_ALLOWLIST>",
        "YUQUE_ALLOW_DELETE": "<YOUR_YUQUE_ALLOW_DELETE>",
        "YUQUE_DELETE_NAMESPACE_ALLOWLIST": "<YOUR_YUQUE_DELETE_NAMESPACE_ALLOWLIST>",
        "YUQUE_FILE_ROOT": "<YOUR_YUQUE_FILE_ROOT>",
        "YUQUE_FILE_MAX_BYTES": "<YOUR_YUQUE_FILE_MAX_BYTES>",
        "YUQUE_FILE_ALLOWED_EXTENSIONS": "<YOUR_YUQUE_FILE_ALLOWED_EXTENSIONS>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "yuque-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@wwwwwujl/yuque-mcp"
      ],
      "env": {
        "YUQUE_TOKEN": "<YOUR_YUQUE_TOKEN>",
        "YUQUE_ENDPOINT": "<YOUR_YUQUE_ENDPOINT>",
        "YUQUE_TIMEOUT_MS": "<YOUR_YUQUE_TIMEOUT_MS>",
        "YUQUE_MAX_RETRIES": "<YOUR_YUQUE_MAX_RETRIES>",
        "YUQUE_ALLOW_WRITE": "<YOUR_YUQUE_ALLOW_WRITE>",
        "YUQUE_WRITE_NAMESPACE_ALLOWLIST": "<YOUR_YUQUE_WRITE_NAMESPACE_ALLOWLIST>",
        "YUQUE_WRITE_GROUP_ALLOWLIST": "<YOUR_YUQUE_WRITE_GROUP_ALLOWLIST>",
        "YUQUE_ALLOW_DELETE": "<YOUR_YUQUE_ALLOW_DELETE>",
        "YUQUE_DELETE_NAMESPACE_ALLOWLIST": "<YOUR_YUQUE_DELETE_NAMESPACE_ALLOWLIST>",
        "YUQUE_FILE_ROOT": "<YOUR_YUQUE_FILE_ROOT>",
        "YUQUE_FILE_MAX_BYTES": "<YOUR_YUQUE_FILE_MAX_BYTES>",
        "YUQUE_FILE_ALLOWED_EXTENSIONS": "<YOUR_YUQUE_FILE_ALLOWED_EXTENSIONS>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "yuque-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@wwwwwujl/yuque-mcp"
      ],
      "env": {
        "YUQUE_TOKEN": "<YOUR_YUQUE_TOKEN>",
        "YUQUE_ENDPOINT": "<YOUR_YUQUE_ENDPOINT>",
        "YUQUE_TIMEOUT_MS": "<YOUR_YUQUE_TIMEOUT_MS>",
        "YUQUE_MAX_RETRIES": "<YOUR_YUQUE_MAX_RETRIES>",
        "YUQUE_ALLOW_WRITE": "<YOUR_YUQUE_ALLOW_WRITE>",
        "YUQUE_WRITE_NAMESPACE_ALLOWLIST": "<YOUR_YUQUE_WRITE_NAMESPACE_ALLOWLIST>",
        "YUQUE_WRITE_GROUP_ALLOWLIST": "<YOUR_YUQUE_WRITE_GROUP_ALLOWLIST>",
        "YUQUE_ALLOW_DELETE": "<YOUR_YUQUE_ALLOW_DELETE>",
        "YUQUE_DELETE_NAMESPACE_ALLOWLIST": "<YOUR_YUQUE_DELETE_NAMESPACE_ALLOWLIST>",
        "YUQUE_FILE_ROOT": "<YOUR_YUQUE_FILE_ROOT>",
        "YUQUE_FILE_MAX_BYTES": "<YOUR_YUQUE_FILE_MAX_BYTES>",
        "YUQUE_FILE_ALLOWED_EXTENSIONS": "<YOUR_YUQUE_FILE_ALLOWED_EXTENSIONS>"
      }
    }
  }
}
Claude Code
claude mcp add yuque-mcp --env YUQUE_TOKEN=<YOUR_YUQUE_TOKEN> --env YUQUE_ENDPOINT=<YOUR_YUQUE_ENDPOINT> --env YUQUE_TIMEOUT_MS=<YOUR_YUQUE_TIMEOUT_MS> --env YUQUE_MAX_RETRIES=<YOUR_YUQUE_MAX_RETRIES> --env YUQUE_ALLOW_WRITE=<YOUR_YUQUE_ALLOW_WRITE> --env YUQUE_WRITE_NAMESPACE_ALLOWLIST=<YOUR_YUQUE_WRITE_NAMESPACE_ALLOWLIST> --env YUQUE_WRITE_GROUP_ALLOWLIST=<YOUR_YUQUE_WRITE_GROUP_ALLOWLIST> --env YUQUE_ALLOW_DELETE=<YOUR_YUQUE_ALLOW_DELETE> --env YUQUE_DELETE_NAMESPACE_ALLOWLIST=<YOUR_YUQUE_DELETE_NAMESPACE_ALLOWLIST> --env YUQUE_FILE_ROOT=<YOUR_YUQUE_FILE_ROOT> --env YUQUE_FILE_MAX_BYTES=<YOUR_YUQUE_FILE_MAX_BYTES> --env YUQUE_FILE_ALLOWED_EXTENSIONS=<YOUR_YUQUE_FILE_ALLOWED_EXTENSIONS> -- npx -y @wwwwwujl/yuque-mcp

Related MCP servers

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →

Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.

45k
TypeScript
Apache-2.0
View repository →

Let AI agents manage your Puter files, websites, and serverless workers over MCP.

43k
TypeScript
AGPL-3.0
View repository →

Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.

37k
TypeScript
Apache-2.0
View repository →

Run arbitrary shell commands from an MCP-connected AI agent.

37k
TypeScript
Apache-2.0
View repository →

Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.

37k
TypeScript
Apache-2.0
View repository →