yuque-ai-mcp 2.11.0 → 2.12.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.
@@ -71,6 +71,12 @@ export function registerAllTools(server) {
71
71
  case "boolean":
72
72
  zodType = z.boolean();
73
73
  break;
74
+ case "array": {
75
+ const itemType = p.items?.type ?? "string";
76
+ const itemZod = itemType === "number" ? z.number() : itemType === "boolean" ? z.boolean() : z.string();
77
+ zodType = z.array(itemZod);
78
+ break;
79
+ }
74
80
  default: zodType = z.string();
75
81
  }
76
82
  if (p.description)
@@ -1 +1 @@
1
- {"version":3,"file":"register-tools.js","sourceRoot":"","sources":["../../src/common/register-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-tools.js","sourceRoot":"","sources":["../../src/common/register-tools.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export { mineBookStacks } from "./get-book-stacks.js";
2
2
  export { mineEditorCenter } from "./editor-center.js";
3
3
  export { mineUpdateBookStack } from "./update-book-stack.js";
4
+ export { mineSortBookStack } from "./sort-book-stack.js";
4
5
  import type { McpTool } from "../common/types.js";
5
6
  export declare const mineTools: McpTool[];
@@ -1,8 +1,10 @@
1
1
  export { mineBookStacks } from "./get-book-stacks.js";
2
2
  export { mineEditorCenter } from "./editor-center.js";
3
3
  export { mineUpdateBookStack } from "./update-book-stack.js";
4
+ export { mineSortBookStack } from "./sort-book-stack.js";
4
5
  import { mineBookStacks } from "./get-book-stacks.js";
5
6
  import { mineEditorCenter } from "./editor-center.js";
6
7
  import { mineUpdateBookStack } from "./update-book-stack.js";
7
- export const mineTools = [mineBookStacks, mineEditorCenter, mineUpdateBookStack];
8
+ import { mineSortBookStack } from "./sort-book-stack.js";
9
+ export const mineTools = [mineBookStacks, mineEditorCenter, mineUpdateBookStack, mineSortBookStack];
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,CAAC,MAAM,SAAS,GAAc,CAAC,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,CAAC,MAAM,SAAS,GAAc,CAAC,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * mine/sort-book-stack — 排序分组(书架)内知识库
3
+ *
4
+ * 端点:PUT /api/mine/book_stack/move(Web API,Cookie 认证)
5
+ * 职责:按传入的有序 targetBookIds 重新排列分组内的知识库。
6
+ * 语雀无独立排序接口,实测 move 接口传有序 book_ids 列表时,
7
+ * 顺序即最终 rank(2026-08-31 验证)。
8
+ */
9
+ import type { McpTool } from "../common/types.js";
10
+ export declare const mineSortBookStack: McpTool;
@@ -0,0 +1,64 @@
1
+ /**
2
+ * mine/sort-book-stack — 排序分组(书架)内知识库
3
+ *
4
+ * 端点:PUT /api/mine/book_stack/move(Web API,Cookie 认证)
5
+ * 职责:按传入的有序 targetBookIds 重新排列分组内的知识库。
6
+ * 语雀无独立排序接口,实测 move 接口传有序 book_ids 列表时,
7
+ * 顺序即最终 rank(2026-08-31 验证)。
8
+ */
9
+ import { isErrorResult } from "../common/api-client.js";
10
+ import { webRequest } from "../common/web-request.js";
11
+ import { MINE_BASE } from "./common.js";
12
+ export const mineSortBookStack = {
13
+ name: "yuque_sort_book_stack",
14
+ description: "排序分组(书架)内知识库顺序。需要 cookie+ctoken 认证。PUT /api/mine/book_stack/move,传有序 targetBookIds(数组顺序即最终排序)。常用于把分组内知识库按期望顺序重排。",
15
+ inputSchema: {
16
+ type: "object",
17
+ properties: {
18
+ stack_id: {
19
+ type: "number",
20
+ description: "目标分组 ID(书架 ID,必填)",
21
+ },
22
+ book_ids: {
23
+ type: "array",
24
+ items: { type: "number" },
25
+ description: "排序后的知识库 ID 数组(按期望顺序排列,必填)",
26
+ },
27
+ },
28
+ required: ["stack_id", "book_ids"],
29
+ },
30
+ async handler(args) {
31
+ const stackId = args?.stack_id;
32
+ const bookIds = args?.book_ids;
33
+ if (!stackId) {
34
+ return {
35
+ content: [{ type: "text", text: "错误:stack_id 是必填参数" }],
36
+ isError: true,
37
+ };
38
+ }
39
+ if (!Array.isArray(bookIds) || bookIds.length === 0) {
40
+ return {
41
+ content: [{ type: "text", text: "错误:book_ids 是必填参数,且不能为空数组" }],
42
+ isError: true,
43
+ };
44
+ }
45
+ const result = await webRequest(`${MINE_BASE}/book_stack/move`, {
46
+ method: "PUT",
47
+ body: { targetStackId: stackId, targetBookIds: bookIds },
48
+ });
49
+ if (isErrorResult(result))
50
+ return result;
51
+ return {
52
+ content: [
53
+ {
54
+ type: "text",
55
+ text: JSON.stringify({
56
+ success: true,
57
+ message: `分组 ${stackId} 内 ${bookIds.length} 个知识库已按传入顺序排序`,
58
+ }, null, 2),
59
+ },
60
+ ],
61
+ };
62
+ },
63
+ };
64
+ //# sourceMappingURL=sort-book-stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-book-stack.js","sourceRoot":"","sources":["../../src/mine/sort-book-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAY;IACxC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,kHAAkH;IAEpH,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mBAAmB;aACjC;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,2BAA2B;aACzC;SACF;QACD,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;KACnC;IAED,KAAK,CAAC,OAAO,CAAC,IAA8B;QAC1C,MAAM,OAAO,GAAG,IAAI,EAAE,QAA8B,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,EAAE,QAAgC,CAAC;QAEvD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;gBACvE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,SAAS,kBAAkB,EAAE;YAC9D,MAAM,EAAE,KAAc;YACtB,IAAI,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE;SACzD,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAEzC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,MAAM,OAAO,MAAM,OAAO,CAAC,MAAM,eAAe;qBAC1D,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1,8 +1,12 @@
1
1
  /**
2
2
  * mine/update-book-stack — 移动知识库到指定分组(书架)
3
3
  *
4
- * 端点:PATCH /api/books/:book_id(Web API,Cookie 认证)
4
+ * 端点:PUT /api/mine/book_stack/move(Web API,Cookie 认证)
5
5
  * 职责:将指定知识库移动到目标分组(书架)下
6
+ *
7
+ * ⚠️ 2026-08-31 修复:旧实现用 PATCH /api/books/:book_id {stack_id},
8
+ * 返回成功但实际不生效。实测正确接口为 PUT /api/mine/book_stack/move,
9
+ * body { targetStackId, targetBookIds: [bookId] }。
6
10
  */
7
11
  import type { McpTool } from "../common/types.js";
8
12
  export declare const mineUpdateBookStack: McpTool;
@@ -1,15 +1,19 @@
1
1
  /**
2
2
  * mine/update-book-stack — 移动知识库到指定分组(书架)
3
3
  *
4
- * 端点:PATCH /api/books/:book_id(Web API,Cookie 认证)
4
+ * 端点:PUT /api/mine/book_stack/move(Web API,Cookie 认证)
5
5
  * 职责:将指定知识库移动到目标分组(书架)下
6
+ *
7
+ * ⚠️ 2026-08-31 修复:旧实现用 PATCH /api/books/:book_id {stack_id},
8
+ * 返回成功但实际不生效。实测正确接口为 PUT /api/mine/book_stack/move,
9
+ * body { targetStackId, targetBookIds: [bookId] }。
6
10
  */
7
11
  import { isErrorResult } from "../common/api-client.js";
8
12
  import { webRequest } from "../common/web-request.js";
9
- const BOOK_BASE = "https://www.yuque.com/api/books";
13
+ import { MINE_BASE } from "./common.js";
10
14
  export const mineUpdateBookStack = {
11
15
  name: "yuque_update_book_stack",
12
- description: "移动知识库到指定分组(书架)。需要 cookie+ctoken 认证。PATCH /api/books/:book_id。常用于将知识库从一个分组(如预废弃)移到另一个分组(如废弃)。",
16
+ description: "移动知识库到指定分组(书架)。需要 cookie+ctoken 认证。PUT /api/mine/book_stack/move。常用于将知识库从一个分组(如预废弃)移到另一个分组(如废弃)。",
13
17
  inputSchema: {
14
18
  type: "object",
15
19
  properties: {
@@ -39,13 +43,12 @@ export const mineUpdateBookStack = {
39
43
  isError: true,
40
44
  };
41
45
  }
42
- const result = await webRequest(`${BOOK_BASE}/${bookId}`, {
43
- method: "PATCH",
44
- body: { stack_id: stackId },
46
+ const result = await webRequest(`${MINE_BASE}/book_stack/move`, {
47
+ method: "PUT",
48
+ body: { targetStackId: stackId, targetBookIds: [bookId] },
45
49
  });
46
50
  if (isErrorResult(result))
47
51
  return result;
48
- const data = result;
49
52
  return {
50
53
  content: [
51
54
  {
@@ -1 +1 @@
1
- {"version":3,"file":"update-book-stack.js","sourceRoot":"","sources":["../../src/mine/update-book-stack.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,SAAS,GAAG,iCAAiC,CAAC;AAEpD,MAAM,CAAC,MAAM,mBAAmB,GAAY;IAC1C,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,8FAA8F;IAEhG,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,eAAe;aAC7B;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mBAAmB;aACjC;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KAClC;IAED,KAAK,CAAC,OAAO,CAAC,IAA8B;QAC1C,MAAM,MAAM,GAAG,IAAI,EAAE,OAA6B,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,EAAE,QAA8B,CAAC;QAErD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;gBAC9D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,SAAS,IAAI,MAAM,EAAE,EAAE;YACxD,MAAM,EAAE,OAAgB;YACxB,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;SAC5B,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAEzC,MAAM,IAAI,GAAG,MAA4C,CAAC;QAE1D,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,OAAO,MAAM,WAAW,OAAO,EAAE;qBAC3C,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"update-book-stack.js","sourceRoot":"","sources":["../../src/mine/update-book-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,mBAAmB,GAAY;IAC1C,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,kGAAkG;IAEpG,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,eAAe;aAC7B;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mBAAmB;aACjC;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;KAClC;IAED,KAAK,CAAC,OAAO,CAAC,IAA8B;QAC1C,MAAM,MAAM,GAAG,IAAI,EAAE,OAA6B,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,EAAE,QAA8B,CAAC;QAErD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;gBAC9D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,SAAS,kBAAkB,EAAE;YAC9D,MAAM,EAAE,KAAc;YACtB,IAAI,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE;SAC1D,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAEzC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,OAAO,MAAM,WAAW,OAAO,EAAE;qBAC3C,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * web-doc/batch-move-catalog-nodes — Cookie 态批量移动目录节点
3
+ *
4
+ * 端点:PUT /api/catalog_nodes/batch(Web API,Cookie 认证)
5
+ * 职责:将指定文档节点批量移动到目标目录分组下
6
+ *
7
+ * 相比 v2 的优势:
8
+ * - 不走 Token,不受会员过期限流
9
+ * - 与 web get/list 同一认证体系
10
+ */
11
+ import type { McpTool } from "../common/types.js";
12
+ export declare const webBatchMoveCatalogNodes: McpTool;
@@ -0,0 +1,101 @@
1
+ /**
2
+ * web-doc/batch-move-catalog-nodes — Cookie 态批量移动目录节点
3
+ *
4
+ * 端点:PUT /api/catalog_nodes/batch(Web API,Cookie 认证)
5
+ * 职责:将指定文档节点批量移动到目标目录分组下
6
+ *
7
+ * 相比 v2 的优势:
8
+ * - 不走 Token,不受会员过期限流
9
+ * - 与 web get/list 同一认证体系
10
+ */
11
+ import { isErrorResult } from "../common/api-client.js";
12
+ import { webRequest } from "../common/web-request.js";
13
+ import { check, requiredString } from "../common/validate.js";
14
+ const CATALOG_REFERER = "https://www.yuque.com/";
15
+ export const webBatchMoveCatalogNodes = {
16
+ name: "yuque_web_batch_move_catalog_nodes",
17
+ description: "Cookie-based: Batch move document nodes to a target catalog node. " +
18
+ "PUT /api/catalog_nodes/batch. " +
19
+ "No membership required. " +
20
+ "Moves the specified node_uuids under the target_uuid directory as children. " +
21
+ "详见 references/api/catalog_api.md",
22
+ inputSchema: {
23
+ type: "object",
24
+ properties: {
25
+ node_uuids: {
26
+ type: "string",
27
+ description: "JSON array string of node UUIDs to move, e.g. '[\"uuid1\",\"uuid2\"]' (required)",
28
+ },
29
+ target_uuid: {
30
+ type: "string",
31
+ description: "Target catalog node UUID to move into (required)",
32
+ },
33
+ book_id: {
34
+ type: "string",
35
+ description: "Repository ID (numeric, required)",
36
+ },
37
+ },
38
+ required: ["node_uuids", "target_uuid", "book_id"],
39
+ },
40
+ async handler(args) {
41
+ // @validate
42
+ const __v = check(requiredString(args?.node_uuids, "node_uuids"), requiredString(args?.target_uuid, "target_uuid"), requiredString(args?.book_id, "book_id"));
43
+ if (__v)
44
+ return __v;
45
+ const bookId = Number(args?.book_id);
46
+ if (!bookId) {
47
+ return {
48
+ content: [{ type: "text", text: JSON.stringify({ error: "book_id 必须为有效数字 / book_id must be a valid number" }, null, 2) }],
49
+ isError: true,
50
+ };
51
+ }
52
+ // Parse node_uuids JSON array
53
+ let nodeUuids;
54
+ try {
55
+ const parsed = JSON.parse(args.node_uuids);
56
+ if (!Array.isArray(parsed) || !parsed.every((u) => typeof u === "string")) {
57
+ throw new Error("not a string array");
58
+ }
59
+ nodeUuids = parsed;
60
+ }
61
+ catch {
62
+ return {
63
+ content: [{ type: "text", text: JSON.stringify({ error: "node_uuids 必须是有效的 JSON 字符串数组 / node_uuids must be a valid JSON string array" }, null, 2) }],
64
+ isError: true,
65
+ };
66
+ }
67
+ if (nodeUuids.length === 0) {
68
+ return {
69
+ content: [{ type: "text", text: JSON.stringify({ error: "node_uuids 不能为空数组 / node_uuids cannot be empty" }, null, 2) }],
70
+ isError: true,
71
+ };
72
+ }
73
+ const url = "https://www.yuque.com/api/catalog_nodes/batch";
74
+ const body = {
75
+ batch_action: "batchMove",
76
+ node_uuids: nodeUuids,
77
+ target_uuid: args.target_uuid,
78
+ book_id: bookId,
79
+ target_book_id: bookId,
80
+ transfer_action: "prependChild",
81
+ insert_to_catalog: true,
82
+ };
83
+ const result = await webRequest(url, {
84
+ method: "PUT",
85
+ body,
86
+ referer: CATALOG_REFERER,
87
+ });
88
+ if (isErrorResult(result))
89
+ return result;
90
+ return {
91
+ content: [{ type: "text", text: JSON.stringify({
92
+ success: true,
93
+ moved_count: nodeUuids.length,
94
+ node_uuids: nodeUuids,
95
+ target_uuid: args.target_uuid,
96
+ message: `成功将 ${nodeUuids.length} 个文档节点移动到目标目录下 / Successfully moved ${nodeUuids.length} document nodes to target catalog`,
97
+ }, null, 2) }],
98
+ };
99
+ },
100
+ };
101
+ //# sourceMappingURL=batch-move-catalog-nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-move-catalog-nodes.js","sourceRoot":"","sources":["../../src/web-doc/batch-move-catalog-nodes.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,6 @@ export { webDocList } from "./list-docs.js";
3
3
  export { webRepoList } from "./list-repos.js";
4
4
  export { webTocGet } from "./get-toc.js";
5
5
  export { webDocDelete } from "./delete-doc.js";
6
+ export { webBatchMoveCatalogNodes } from "./batch-move-catalog-nodes.js";
6
7
  import type { McpTool } from "../common/types.js";
7
8
  export declare const webDocTools: McpTool[];
@@ -3,10 +3,12 @@ export { webDocList } from "./list-docs.js";
3
3
  export { webRepoList } from "./list-repos.js";
4
4
  export { webTocGet } from "./get-toc.js";
5
5
  export { webDocDelete } from "./delete-doc.js";
6
+ export { webBatchMoveCatalogNodes } from "./batch-move-catalog-nodes.js";
6
7
  import { webDocGet } from "./get-doc.js";
7
8
  import { webDocList } from "./list-docs.js";
8
9
  import { webRepoList } from "./list-repos.js";
9
10
  import { webTocGet } from "./get-toc.js";
10
11
  import { webDocDelete } from "./delete-doc.js";
11
- export const webDocTools = [webDocGet, webDocList, webRepoList, webTocGet, webDocDelete];
12
+ import { webBatchMoveCatalogNodes } from "./batch-move-catalog-nodes.js";
13
+ export const webDocTools = [webDocGet, webDocList, webRepoList, webTocGet, webDocDelete, webBatchMoveCatalogNodes];
12
14
  //# 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,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;AAE/C,MAAM,CAAC,MAAM,WAAW,GAAc,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,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,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;AAEzE,MAAM,CAAC,MAAM,WAAW,GAAc,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,wBAAwB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuque-ai-mcp",
3
- "version": "2.11.0",
3
+ "version": "2.12.0",
4
4
  "description": "Full-featured Yuque MCP Server \u2014 62 fine-grained tools covering the entire Yuque OpenAPI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -46,4 +46,4 @@
46
46
  "tsx": "^4.22.4",
47
47
  "typescript": "^5.4.0"
48
48
  }
49
- }
49
+ }