io.github.yuque/yuque-mcp
MCP server for Yuque — expose your knowledge base to AI assistants.
★ 92MITdevtools
Install
Config snippet generator goes here (5 client tabs)
README
# Yuque MCP Server
[](https://github.com/yuque/yuque-mcp-server/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/yuque-mcp)
[](https://opensource.org/licenses/MIT)
MCP server for [Yuque (语雀)](https://www.yuque.com/) — expose your knowledge base to AI assistants through the [Model Context Protocol](https://modelcontextprotocol.io/).
🌐 **[Website](https://yuque.github.io/yuque-ecosystem/)** · 📖 [API Docs](https://www.yuque.com/yuque/developer/api) · [中文文档](./README.zh-CN.md)
---
## Quick Start
### 1. Get Your Yuque API Token
Visit [Yuque Developer Settings](https://www.yuque.com/settings/tokens) to create a personal access token.
### 2. Quick Install (Recommended)
Use the built-in CLI to auto-configure your MCP client in one command:
```bash
npx yuque-mcp install --token=YOUR_TOKEN --client=cursor
```
Supported clients: `claude-desktop`, `vscode`, `cursor`, `windsurf`, `cline`, `trae`, `qoder`, `opencode`
Or use the interactive setup wizard:
```bash
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
<details>
<summary>Prefer to configure manually? Click to expand all client configs.</summary>
Choose your preferred client below:
<details open>
<summary><b>Claude Code</b></summary>
```bash
claude mcp add yuque-mcp -- npx -y yuque-mcp --token=YOUR_TOKEN
```
Or using environment variables:
```bash
export YUQUE_PERSONAL_TOKEN=YOUR_TOKEN
claude mcp add yuque-mcp -- npx -y yuque-mcp
```
</details>
<details>
<summary><b>Claude Desktop</b></summary>
Add to your `claude_desktop_config.json`:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"yuque": {
"command": "npx",
"args": ["-y", "yuque-mcp"],
"env": {
"YUQUE_PERSONAL_TOKEN": "YOUR_TOKEN"
}
}
}
}
```
</details>
<details>
<summary><b>VS Code (GitHub Copilot)</b></summary>
Add to `.vscode/mcp.json` in your workspace:
```json
{
"servers": {
"yuque": {
"command": "npx",
"args": ["-y", "yuque-mcp"],
"env": {
"YUQUE_PERSONAL_TOKEN": "YOUR_TOKEN"
}
}
}
}
```
Then enable Agent mode in GitHub Copilot Chat.
</details>
<details>
<summary><b>Cursor</b></summary>
Add to your Cursor MCP configuration (`~/.cursor/mcp.json`):
```json
{
"mcpServers": {
"yuque": {
"command": "npx",
"args": ["-y", "yuque-mcp"],
"env": {
"YUQUE_PERSONAL_TOKEN": "YOUR_TOKEN"
}
}
}
}
```
</details>
<details>
<summary><b>Windsurf</b></summary>
Add to your Windsurf MCP configuration (`~/.windsurf/mcp.json`):
```json
{
"mcpServers": {
"yuque": {
"command": "npx",
"args": ["-y", "yuque-mcp"],
"env": {
"YUQUE_PERSONAL_TOKEN": "YOUR_TOKEN"
}
}
}
}
```
</details>
<details>
<summary><b>Cline (VS Code)</b></summary>
Add to your Cline MCP settings (`~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`):
```json
{
"mcpServers": {
"yuque": {
"command": "npx",
"args": ["-y", "yuque-mcp"],
"env": {
"YUQUE_PERSONAL_TOKEN": "YOUR_TOKEN"
}
}
}
}
```
</details>
<details>
<summary><b>Trae</b></summary>
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](https://docs.trae.ai/ide/model-context-protocol) for detailed instructions.
</details>
> **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`.
</details>
### 4. Done!
Ask your AI assistant to search your Yuque docs, create documents, or manage books.
---
## 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 |
| **CLI Argument** | `--token=YOUR_TOKEN` | Pass directly as a command-line argument |
**Priority order:** `YUQUE_PERSONAL_TOKEN` > `--token`
---
## Available Tools (16)
| Category | Tools |
|----------|-------|
| **User** | `yuque_get_user` |
| **Search** | `yuque_search` |
| **Books** | `yuque_list_books`, `yuque_get_book`, `yuque_create_book`, `yuque_update_book` |
|