yuque-ai-mcp 2.12.1 → 2.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -5
- package/dist/web-doc/copy-catalog-node.d.ts +16 -0
- package/dist/web-doc/copy-catalog-node.js +121 -0
- package/dist/web-doc/copy-catalog-node.js.map +1 -0
- package/dist/web-doc/index.d.ts +1 -0
- package/dist/web-doc/index.js +3 -1
- package/dist/web-doc/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
<h1 align="center">yuque-ai-mcp</h1>
|
|
6
6
|
<p align="center">
|
|
7
|
-
<b>
|
|
7
|
+
<b>73 fine-grained MCP tools for the full Yuque OpenAPI</b>
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
|
|
20
20
|
---
|
|
21
21
|
|
|
22
|
-
A full-featured Yuque (语雀) MCP Server built on the [Model Context Protocol](https://modelcontextprotocol.io/). Provides
|
|
22
|
+
A full-featured Yuque (语雀) MCP Server built on the [Model Context Protocol](https://modelcontextprotocol.io/). Provides 73 fine-grained tools across 16 domains — every Yuque OpenAPI endpoint as a dedicated tool.
|
|
23
23
|
|
|
24
24
|
## Why
|
|
25
25
|
|
|
26
|
-
- **19 →
|
|
26
|
+
- **19 → 73 tools** — 3x more coverage than the official [yuque-mcp-server](https://github.com/yuque/yuque-mcp-server)
|
|
27
27
|
- **Dual transport** — stdio + HTTP SSE, shared registry, zero downtime on reload
|
|
28
28
|
- **Modular architecture** — 15 domains, barrel exports, single source of truth registry
|
|
29
29
|
- **Full API coverage** — group, recycle, upload, statistics, versions, boards — all the missing pieces
|
|
@@ -76,9 +76,9 @@ npm run dev:http # HTTP SSE mode (http://localhost:3099)
|
|
|
76
76
|
| **rss** | 3 | Source list, fetch + dedup + save, schedule analysis |
|
|
77
77
|
| **crawler** | 4 | Fetch, CSS extract, dedup save, schedule analysis |
|
|
78
78
|
| **kv** | 4 | Get, set, delete, list — incremental sharding, 250KB/doc limit |
|
|
79
|
-
| **Total** | **
|
|
79
|
+
| **Total** | **73** | |
|
|
80
80
|
|
|
81
|
-
### All
|
|
81
|
+
### All 73 Tools
|
|
82
82
|
|
|
83
83
|
| Tool | Domain | Description |
|
|
84
84
|
|------|--------|-------------|
|
|
@@ -89,6 +89,7 @@ npm run dev:http # HTTP SSE mode (http://localhost:3099)
|
|
|
89
89
|
| `yuque_rag_search` | search | RAG 检索增强搜索 + 自动获取文档内容 |
|
|
90
90
|
| `yuque_web_search` | search | Cookie 态 Web 搜索,返回完整文档对象 + 精确总数 + 高亮摘要 |
|
|
91
91
|
| `yuque_web_delete_doc` | doc | Cookie 态删除文档(v2 被限流时的备用通道,移入回收站) |
|
|
92
|
+
| `yuque_web_copy_catalog_node` | doc | Cookie 态跨库复制目录节点(服务端重传附件,保留文件卡片) |
|
|
92
93
|
| `yuque_get_group_users` | group | 获取团队成员列表 |
|
|
93
94
|
| `yuque_update_group_user` | group | 变更团队成员角色 |
|
|
94
95
|
| `yuque_delete_group_user` | group | 删除团队成员 |
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* web-doc/copy-catalog-node — Cookie 态复制目录节点(跨库复制,服务端重传附件)
|
|
3
|
+
*
|
|
4
|
+
* 端点:PUT /api/catalog_nodes/copy(Web API,Cookie 认证)
|
|
5
|
+
* 职责:将目录节点(文档/目录)复制到目标目录/目标知识库下。
|
|
6
|
+
*
|
|
7
|
+
* 相比 move:
|
|
8
|
+
* - 源节点保留,目标库生成副本
|
|
9
|
+
* - 附件(文件/图片卡片)由服务端重新上传到目标库,卡片引用正确
|
|
10
|
+
* - 这是唯一能跨库保留文件卡片 (ne-card-file) 的途径
|
|
11
|
+
*
|
|
12
|
+
* 注意:node_uuid 必须是 web 目录 (/api/catalog_nodes) 里的节点 uuid,
|
|
13
|
+
* v2 TOC (/api/v2/repos/:id/toc) 的 uuid 可能对不上(两份数据不一致时)。
|
|
14
|
+
*/
|
|
15
|
+
import type { McpTool } from "../common/types.js";
|
|
16
|
+
export declare const webCopyCatalogNode: McpTool;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* web-doc/copy-catalog-node — Cookie 态复制目录节点(跨库复制,服务端重传附件)
|
|
3
|
+
*
|
|
4
|
+
* 端点:PUT /api/catalog_nodes/copy(Web API,Cookie 认证)
|
|
5
|
+
* 职责:将目录节点(文档/目录)复制到目标目录/目标知识库下。
|
|
6
|
+
*
|
|
7
|
+
* 相比 move:
|
|
8
|
+
* - 源节点保留,目标库生成副本
|
|
9
|
+
* - 附件(文件/图片卡片)由服务端重新上传到目标库,卡片引用正确
|
|
10
|
+
* - 这是唯一能跨库保留文件卡片 (ne-card-file) 的途径
|
|
11
|
+
*
|
|
12
|
+
* 注意:node_uuid 必须是 web 目录 (/api/catalog_nodes) 里的节点 uuid,
|
|
13
|
+
* v2 TOC (/api/v2/repos/:id/toc) 的 uuid 可能对不上(两份数据不一致时)。
|
|
14
|
+
*/
|
|
15
|
+
import { isErrorResult } from "../common/api-client.js";
|
|
16
|
+
import { webRequest } from "../common/web-request.js";
|
|
17
|
+
import { check, requiredString, optionalString, optionalBoolean } from "../common/validate.js";
|
|
18
|
+
const COPY_REFERER = "https://www.yuque.com/";
|
|
19
|
+
export const webCopyCatalogNode = {
|
|
20
|
+
name: "yuque_web_copy_catalog_node",
|
|
21
|
+
description: "Cookie-based: Copy a catalog node (doc or dir) to a target catalog node / target repo, server-side with attachment re-upload. " +
|
|
22
|
+
"PUT /api/catalog_nodes/copy. " +
|
|
23
|
+
"The source node is kept; a copy is created in the target repo and attachments re-uploaded there (preserves file cards). " +
|
|
24
|
+
"node_uuid must be from the web catalog (/api/catalog_nodes), not the v2 TOC. " +
|
|
25
|
+
"详见 references/api/catalog_api.md",
|
|
26
|
+
inputSchema: {
|
|
27
|
+
type: "object",
|
|
28
|
+
properties: {
|
|
29
|
+
book_id: {
|
|
30
|
+
type: "string",
|
|
31
|
+
description: "Source repository ID (numeric, required). The repo the node currently lives in.",
|
|
32
|
+
},
|
|
33
|
+
node_uuid: {
|
|
34
|
+
type: "string",
|
|
35
|
+
description: "Source catalog node UUID to copy (required). Must exist in the web catalog (/api/catalog_nodes).",
|
|
36
|
+
},
|
|
37
|
+
target_book_id: {
|
|
38
|
+
type: "string",
|
|
39
|
+
description: "Target repository ID (numeric, required). The repo to copy into.",
|
|
40
|
+
},
|
|
41
|
+
target_uuid: {
|
|
42
|
+
type: "string",
|
|
43
|
+
description: "Target catalog node UUID to copy into. Leave empty / null to copy to the root of the target repo.",
|
|
44
|
+
},
|
|
45
|
+
action: {
|
|
46
|
+
type: "string",
|
|
47
|
+
description: "Copy action. Default 'prependChild'. Common values: prependChild (as first child), appendChild (as last child).",
|
|
48
|
+
},
|
|
49
|
+
with_children: {
|
|
50
|
+
type: "boolean",
|
|
51
|
+
description: "Copy the whole subtree (all descendant nodes) together. Default false.",
|
|
52
|
+
},
|
|
53
|
+
insert_to_catalog: {
|
|
54
|
+
type: "boolean",
|
|
55
|
+
description: "Whether to insert into the catalog/TOC. Default true.",
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
required: ["book_id", "node_uuid", "target_book_id"],
|
|
59
|
+
},
|
|
60
|
+
async handler(args) {
|
|
61
|
+
// @validate
|
|
62
|
+
const __v = check(requiredString(args?.book_id, "book_id"), requiredString(args?.node_uuid, "node_uuid"), requiredString(args?.target_book_id, "target_book_id"), optionalString(args?.target_uuid, "target_uuid"), optionalString(args?.action, "action"), optionalBoolean(args?.with_children, "with_children"), optionalBoolean(args?.insert_to_catalog, "insert_to_catalog"));
|
|
63
|
+
if (__v)
|
|
64
|
+
return __v;
|
|
65
|
+
const bookId = Number(args?.book_id);
|
|
66
|
+
const targetBookId = Number(args?.target_book_id);
|
|
67
|
+
if (!bookId || !targetBookId) {
|
|
68
|
+
return {
|
|
69
|
+
content: [{ type: "text", text: JSON.stringify({ error: "book_id 和 target_book_id 必须为有效数字 / book_id and target_book_id must be valid numbers" }, null, 2) }],
|
|
70
|
+
isError: true,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
// target_uuid 留空 → null(复制到目标库根目录)
|
|
74
|
+
const targetUuid = args?.target_uuid?.trim() || null;
|
|
75
|
+
const body = {
|
|
76
|
+
book_id: bookId,
|
|
77
|
+
node_uuid: args.node_uuid,
|
|
78
|
+
target_uuid: targetUuid,
|
|
79
|
+
action: args?.action?.trim() || "prependChild",
|
|
80
|
+
target_book_id: targetBookId,
|
|
81
|
+
with_children: args?.with_children ?? false,
|
|
82
|
+
insert_to_catalog: args?.insert_to_catalog ?? true,
|
|
83
|
+
};
|
|
84
|
+
const url = "https://www.yuque.com/api/catalog_nodes/copy";
|
|
85
|
+
const result = await webRequest(url, {
|
|
86
|
+
method: "PUT",
|
|
87
|
+
body,
|
|
88
|
+
referer: COPY_REFERER,
|
|
89
|
+
});
|
|
90
|
+
if (isErrorResult(result))
|
|
91
|
+
return result;
|
|
92
|
+
// copy 返回 { meta: { docIds: [...] }, data: [...] }
|
|
93
|
+
let newDocIds = [];
|
|
94
|
+
try {
|
|
95
|
+
const r = result;
|
|
96
|
+
if (Array.isArray(r?.meta?.docIds))
|
|
97
|
+
newDocIds = r.meta.docIds.map((x) => Number(x)).filter(Boolean);
|
|
98
|
+
else if (Array.isArray(r?.data)) {
|
|
99
|
+
const ids = r.data.map((n) => n?.doc_id).filter((x) => x !== undefined && x !== null && x !== "");
|
|
100
|
+
newDocIds = ids.map((x) => Number(x)).filter(Boolean);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
newDocIds = [];
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
content: [{ type: "text", text: JSON.stringify({
|
|
108
|
+
success: true,
|
|
109
|
+
book_id: bookId,
|
|
110
|
+
target_book_id: targetBookId,
|
|
111
|
+
node_uuid: args.node_uuid,
|
|
112
|
+
target_uuid: targetUuid,
|
|
113
|
+
action: body.action,
|
|
114
|
+
with_children: body.with_children,
|
|
115
|
+
new_doc_ids: newDocIds,
|
|
116
|
+
message: "成功复制目录节点到目标知识库(附件已服务端重传) / Successfully copied catalog node (attachments re-uploaded)",
|
|
117
|
+
}, null, 2) }],
|
|
118
|
+
};
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=copy-catalog-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy-catalog-node.js","sourceRoot":"","sources":["../../src/web-doc/copy-catalog-node.ts"],"names":[],"mappings":"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"}
|
package/dist/web-doc/index.d.ts
CHANGED
|
@@ -5,5 +5,6 @@ export { webTocGet } from "./get-toc.js";
|
|
|
5
5
|
export { webDocDelete } from "./delete-doc.js";
|
|
6
6
|
export { webBatchMoveCatalogNodes } from "./batch-move-catalog-nodes.js";
|
|
7
7
|
export { webMoveCatalogNode } from "./move-catalog-node.js";
|
|
8
|
+
export { webCopyCatalogNode } from "./copy-catalog-node.js";
|
|
8
9
|
import type { McpTool } from "../common/types.js";
|
|
9
10
|
export declare const webDocTools: McpTool[];
|
package/dist/web-doc/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export { webTocGet } from "./get-toc.js";
|
|
|
5
5
|
export { webDocDelete } from "./delete-doc.js";
|
|
6
6
|
export { webBatchMoveCatalogNodes } from "./batch-move-catalog-nodes.js";
|
|
7
7
|
export { webMoveCatalogNode } from "./move-catalog-node.js";
|
|
8
|
+
export { webCopyCatalogNode } from "./copy-catalog-node.js";
|
|
8
9
|
import { webDocGet } from "./get-doc.js";
|
|
9
10
|
import { webDocList } from "./list-docs.js";
|
|
10
11
|
import { webRepoList } from "./list-repos.js";
|
|
@@ -12,5 +13,6 @@ import { webTocGet } from "./get-toc.js";
|
|
|
12
13
|
import { webDocDelete } from "./delete-doc.js";
|
|
13
14
|
import { webBatchMoveCatalogNodes } from "./batch-move-catalog-nodes.js";
|
|
14
15
|
import { webMoveCatalogNode } from "./move-catalog-node.js";
|
|
15
|
-
|
|
16
|
+
import { webCopyCatalogNode } from "./copy-catalog-node.js";
|
|
17
|
+
export const webDocTools = [webDocGet, webDocList, webRepoList, webTocGet, webDocDelete, webBatchMoveCatalogNodes, webMoveCatalogNode, webCopyCatalogNode];
|
|
16
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web-doc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAc,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,wBAAwB,EAAE,kBAAkB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web-doc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAc,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC"}
|