@xihe-lab/tapd-mcp-server 1.0.6 → 1.4.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.
Files changed (107) hide show
  1. package/README.md +56 -7
  2. package/dist/integration-test.d.ts +10 -0
  3. package/dist/integration-test.d.ts.map +1 -0
  4. package/dist/integration-test.js +117 -0
  5. package/dist/integration-test.js.map +1 -0
  6. package/dist/server.d.ts.map +1 -1
  7. package/dist/server.js +6 -4
  8. package/dist/server.js.map +1 -1
  9. package/dist/tapd-client.d.ts +65 -1
  10. package/dist/tapd-client.d.ts.map +1 -1
  11. package/dist/tapd-client.js +135 -28
  12. package/dist/tapd-client.js.map +1 -1
  13. package/dist/tools/attachment.d.ts +3 -0
  14. package/dist/tools/attachment.d.ts.map +1 -0
  15. package/dist/tools/attachment.js +99 -0
  16. package/dist/tools/attachment.js.map +1 -0
  17. package/dist/tools/board.d.ts +3 -0
  18. package/dist/tools/board.d.ts.map +1 -0
  19. package/dist/tools/board.js +98 -0
  20. package/dist/tools/board.js.map +1 -0
  21. package/dist/tools/bug.d.ts.map +1 -1
  22. package/dist/tools/bug.js +386 -7
  23. package/dist/tools/bug.js.map +1 -1
  24. package/dist/tools/changes.d.ts +3 -0
  25. package/dist/tools/changes.d.ts.map +1 -0
  26. package/dist/tools/changes.js +73 -0
  27. package/dist/tools/changes.js.map +1 -0
  28. package/dist/tools/comment.d.ts.map +1 -1
  29. package/dist/tools/comment.js +53 -3
  30. package/dist/tools/comment.js.map +1 -1
  31. package/dist/tools/custom-fields.d.ts +3 -0
  32. package/dist/tools/custom-fields.d.ts.map +1 -0
  33. package/dist/tools/custom-fields.js +105 -0
  34. package/dist/tools/custom-fields.js.map +1 -0
  35. package/dist/tools/image.d.ts +3 -0
  36. package/dist/tools/image.d.ts.map +1 -0
  37. package/dist/tools/image.js +23 -0
  38. package/dist/tools/image.js.map +1 -0
  39. package/dist/tools/index.d.ts.map +1 -1
  40. package/dist/tools/index.js +26 -0
  41. package/dist/tools/index.js.map +1 -1
  42. package/dist/tools/iteration.d.ts.map +1 -1
  43. package/dist/tools/iteration.js +99 -6
  44. package/dist/tools/iteration.js.map +1 -1
  45. package/dist/tools/mini-comment.d.ts +3 -0
  46. package/dist/tools/mini-comment.d.ts.map +1 -0
  47. package/dist/tools/mini-comment.js +74 -0
  48. package/dist/tools/mini-comment.js.map +1 -0
  49. package/dist/tools/mini-item.d.ts +3 -0
  50. package/dist/tools/mini-item.d.ts.map +1 -0
  51. package/dist/tools/mini-item.js +166 -0
  52. package/dist/tools/mini-item.js.map +1 -0
  53. package/dist/tools/mini-workspace.d.ts +3 -0
  54. package/dist/tools/mini-workspace.d.ts.map +1 -0
  55. package/dist/tools/mini-workspace.js +43 -0
  56. package/dist/tools/mini-workspace.js.map +1 -0
  57. package/dist/tools/program.d.ts +3 -0
  58. package/dist/tools/program.d.ts.map +1 -0
  59. package/dist/tools/program.js +27 -0
  60. package/dist/tools/program.js.map +1 -0
  61. package/dist/tools/relations.d.ts +3 -0
  62. package/dist/tools/relations.d.ts.map +1 -0
  63. package/dist/tools/relations.js +68 -0
  64. package/dist/tools/relations.js.map +1 -0
  65. package/dist/tools/release.d.ts.map +1 -1
  66. package/dist/tools/release.js +228 -2
  67. package/dist/tools/release.js.map +1 -1
  68. package/dist/tools/report.d.ts +3 -0
  69. package/dist/tools/report.d.ts.map +1 -0
  70. package/dist/tools/report.js +38 -0
  71. package/dist/tools/report.js.map +1 -0
  72. package/dist/tools/settings.d.ts.map +1 -1
  73. package/dist/tools/settings.js +384 -18
  74. package/dist/tools/settings.js.map +1 -1
  75. package/dist/tools/source.d.ts +3 -0
  76. package/dist/tools/source.d.ts.map +1 -0
  77. package/dist/tools/source.js +69 -0
  78. package/dist/tools/source.js.map +1 -0
  79. package/dist/tools/story.d.ts.map +1 -1
  80. package/dist/tools/story.js +650 -144
  81. package/dist/tools/story.js.map +1 -1
  82. package/dist/tools/task.d.ts.map +1 -1
  83. package/dist/tools/task.js +109 -11
  84. package/dist/tools/task.js.map +1 -1
  85. package/dist/tools/test.d.ts.map +1 -1
  86. package/dist/tools/test.js +546 -26
  87. package/dist/tools/test.js.map +1 -1
  88. package/dist/tools/timesheet.d.ts.map +1 -1
  89. package/dist/tools/timesheet.js +72 -11
  90. package/dist/tools/timesheet.js.map +1 -1
  91. package/dist/tools/user.d.ts.map +1 -1
  92. package/dist/tools/user.js +37 -4
  93. package/dist/tools/user.js.map +1 -1
  94. package/dist/tools/utility.d.ts +3 -0
  95. package/dist/tools/utility.d.ts.map +1 -0
  96. package/dist/tools/utility.js +132 -0
  97. package/dist/tools/utility.js.map +1 -0
  98. package/dist/tools/wiki.d.ts.map +1 -1
  99. package/dist/tools/wiki.js +205 -2
  100. package/dist/tools/wiki.js.map +1 -1
  101. package/dist/tools/workflow.d.ts.map +1 -1
  102. package/dist/tools/workflow.js +92 -6
  103. package/dist/tools/workflow.js.map +1 -1
  104. package/dist/tools/workspace.d.ts.map +1 -1
  105. package/dist/tools/workspace.js +94 -4
  106. package/dist/tools/workspace.js.map +1 -1
  107. package/package.json +2 -1
@@ -0,0 +1,99 @@
1
+ import { z } from 'zod';
2
+ import { TapdClient } from '../tapd-client.js';
3
+ export const attachmentTools = [
4
+ // Standard TAPD API attachment tools
5
+ {
6
+ name: 'tapd_get_attachments',
7
+ description: 'Get attachment list from TAPD',
8
+ inputSchema: z.object({
9
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
10
+ id: z.string().optional().describe('Attachment ID, supports multiple IDs'),
11
+ entity_id: z.string().optional().describe('Related entity ID (story/task/bug/wiki ID)'),
12
+ entity_type: z.string().optional().describe('Entity type (story, task, bug, wiki)'),
13
+ filename: z.string().optional().describe('Filename'),
14
+ owner: z.string().optional().describe('Uploader'),
15
+ created: z.string().optional().describe('Creation time, supports time query'),
16
+ modified: z.string().optional().describe('Last modification time, supports time query'),
17
+ fields: z.string().optional().describe('Comma-separated list of fields to return'),
18
+ limit: z.number().optional().describe('Number of results to return, max 200'),
19
+ page: z.number().optional().describe('Page number, default 1'),
20
+ order: z.string().optional().describe('Sort order, e.g., "created desc"'),
21
+ }),
22
+ handler: async (client, params) => {
23
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
24
+ if (!workspaceId) {
25
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
26
+ }
27
+ return client.get('/attachments', { ...params, workspace_id: workspaceId });
28
+ },
29
+ },
30
+ {
31
+ name: 'tapd_get_attachment',
32
+ description: 'Get a single attachment from TAPD',
33
+ inputSchema: z.object({
34
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
35
+ id: z.string().describe('Attachment ID (required)'),
36
+ fields: z.string().optional().describe('Comma-separated list of fields to return'),
37
+ }),
38
+ handler: async (client, params) => {
39
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
40
+ if (!workspaceId) {
41
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
42
+ }
43
+ return client.get('/attachments/get_one', { ...params, workspace_id: workspaceId });
44
+ },
45
+ },
46
+ {
47
+ name: 'tapd_get_attachment_download_url',
48
+ description: 'Get download URL for a single attachment (valid for 300s)',
49
+ inputSchema: z.object({
50
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
51
+ id: z.string().describe('Attachment ID (required)'),
52
+ filename: z.string().optional().describe('Filename for download'),
53
+ }),
54
+ handler: async (client, params) => {
55
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
56
+ if (!workspaceId) {
57
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
58
+ }
59
+ return client.get('/attachments/documents_down', { ...params, workspace_id: workspaceId });
60
+ },
61
+ },
62
+ // Mini (轻协作) API attachment tools
63
+ {
64
+ name: 'tapd_mini_get_attachments',
65
+ description: 'Get attachments from mini workspace',
66
+ inputSchema: z.object({
67
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
68
+ id: z.string().optional().describe('Attachment ID'),
69
+ entry_id: z.string().optional().describe('Item ID'),
70
+ filename: z.string().optional().describe('Filename'),
71
+ owner: z.string().optional().describe('Uploader'),
72
+ limit: z.number().optional().describe('Return count, default 30, max 200'),
73
+ page: z.number().optional().describe('Page number, default 1'),
74
+ }),
75
+ handler: async (client, params) => {
76
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
77
+ if (!workspaceId) {
78
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
79
+ }
80
+ return client.get('/attachments', { ...params, workspace_id: workspaceId });
81
+ },
82
+ },
83
+ {
84
+ name: 'tapd_mini_get_attachment_download_url',
85
+ description: 'Get download URL for a single mini workspace attachment (valid for 300s)',
86
+ inputSchema: z.object({
87
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
88
+ id: z.string().describe('Attachment ID (required)'),
89
+ }),
90
+ handler: async (client, params) => {
91
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
92
+ if (!workspaceId) {
93
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
94
+ }
95
+ return client.get('/attachments/down', { ...params, workspace_id: workspaceId });
96
+ },
97
+ },
98
+ ];
99
+ //# sourceMappingURL=attachment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../src/tools/attachment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ToolDef } from '../types.js';
2
+ export declare const boardTools: ToolDef[];
3
+ //# sourceMappingURL=board.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/tools/board.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,UAAU,EAAE,OAAO,EA8F/B,CAAC"}
@@ -0,0 +1,98 @@
1
+ import { z } from 'zod';
2
+ import { TapdClient } from '../tapd-client.js';
3
+ export const boardTools = [
4
+ {
5
+ name: "tapd_add_board_card",
6
+ description: "新建看板工作项",
7
+ inputSchema: z.object({
8
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
9
+ board_id: z.number().describe("看板ID (必填)"),
10
+ column_id: z.number().describe("看板列ID (必填)"),
11
+ name: z.string().describe("工作项标题 (必填)"),
12
+ description: z.string().optional().describe("详细描述"),
13
+ owner: z.string().optional().describe("负责人,默认当前用户"),
14
+ creator: z.string().optional().describe("创建人,默认当前用户"),
15
+ priority: z.string().optional().describe("优先级"),
16
+ category_id: z.number().optional().describe("分类ID"),
17
+ due: z.string().optional().describe("预计完成日期,格式: YYYY-MM-DD"),
18
+ }),
19
+ handler: async (client, params) => {
20
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
21
+ if (!workspaceId) {
22
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
23
+ }
24
+ return client.post("/board_cards/add", { ...params, workspace_id: workspaceId });
25
+ },
26
+ },
27
+ {
28
+ name: "tapd_get_board_cards",
29
+ description: "获取看板工作项列表",
30
+ inputSchema: z.object({
31
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
32
+ board_id: z.number().optional().describe("看板ID"),
33
+ column_id: z.number().optional().describe("看板列ID"),
34
+ id: z.string().optional().describe("工作项ID,支持多ID查询"),
35
+ name: z.string().optional().describe("工作项标题,支持模糊匹配"),
36
+ owner: z.string().optional().describe("负责人"),
37
+ creator: z.string().optional().describe("创建人"),
38
+ status: z.string().optional().describe("状态"),
39
+ priority: z.string().optional().describe("优先级"),
40
+ category_id: z.number().optional().describe("分类ID"),
41
+ created: z.string().optional().describe("创建时间,支持时间查询"),
42
+ modified: z.string().optional().describe("修改时间,支持时间查询"),
43
+ due: z.string().optional().describe("预计完成日期,支持时间查询"),
44
+ limit: z.number().optional().describe("返回数量限制,默认30,最大200"),
45
+ page: z.number().optional().describe("页码,默认1"),
46
+ order: z.string().optional().describe("排序规则,如 created desc"),
47
+ fields: z.string().optional().describe("指定返回字段,多个字段以逗号分隔"),
48
+ }),
49
+ handler: async (client, params) => {
50
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
51
+ if (!workspaceId) {
52
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
53
+ }
54
+ return client.get("/board_cards", { ...params, workspace_id: workspaceId });
55
+ },
56
+ },
57
+ {
58
+ name: "tapd_update_board_card",
59
+ description: "更新看板工作项",
60
+ inputSchema: z.object({
61
+ id: z.string().describe("工作项ID (必填)"),
62
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
63
+ board_id: z.number().optional().describe("看板ID"),
64
+ column_id: z.number().optional().describe("看板列ID(用于移动卡片)"),
65
+ name: z.string().optional().describe("工作项标题"),
66
+ description: z.string().optional().describe("详细描述"),
67
+ owner: z.string().optional().describe("负责人"),
68
+ status: z.string().optional().describe("状态"),
69
+ priority: z.string().optional().describe("优先级"),
70
+ due: z.string().optional().describe("预计完成日期,格式: YYYY-MM-DD"),
71
+ }),
72
+ handler: async (client, params) => {
73
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
74
+ if (!workspaceId) {
75
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
76
+ }
77
+ return client.post("/board_cards/update", { ...params, workspace_id: workspaceId });
78
+ },
79
+ },
80
+ {
81
+ name: "tapd_get_board_columns",
82
+ description: "获取看板板块",
83
+ inputSchema: z.object({
84
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
85
+ board_id: z.number().describe("看板ID (必填)"),
86
+ id: z.number().optional().describe("看板列ID"),
87
+ fields: z.string().optional().describe("指定返回字段"),
88
+ }),
89
+ handler: async (client, params) => {
90
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
91
+ if (!workspaceId) {
92
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
93
+ }
94
+ return client.get("/board_columns", { ...params, workspace_id: workspaceId });
95
+ },
96
+ },
97
+ ];
98
+ //# sourceMappingURL=board.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board.js","sourceRoot":"","sources":["../../src/tools/board.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bug.d.ts","sourceRoot":"","sources":["../../src/tools/bug.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,QAAQ,EAAE,OAAO,EA4O7B,CAAC"}
1
+ {"version":3,"file":"bug.d.ts","sourceRoot":"","sources":["../../src/tools/bug.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,QAAQ,EAAE,OAAO,EAumB7B,CAAC"}