@xihe-lab/tapd-mcp-server 1.3.0 → 1.4.1

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 (97) hide show
  1. package/README.md +88 -26
  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/tapd-client.d.ts +32 -1
  7. package/dist/tapd-client.d.ts.map +1 -1
  8. package/dist/tapd-client.js +96 -19
  9. package/dist/tapd-client.js.map +1 -1
  10. package/dist/tools/attachment.d.ts.map +1 -1
  11. package/dist/tools/attachment.js +35 -10
  12. package/dist/tools/attachment.js.map +1 -1
  13. package/dist/tools/board.d.ts +3 -0
  14. package/dist/tools/board.d.ts.map +1 -0
  15. package/dist/tools/board.js +98 -0
  16. package/dist/tools/board.js.map +1 -0
  17. package/dist/tools/bug.d.ts.map +1 -1
  18. package/dist/tools/bug.js +382 -7
  19. package/dist/tools/bug.js.map +1 -1
  20. package/dist/tools/changes.d.ts.map +1 -1
  21. package/dist/tools/changes.js +25 -34
  22. package/dist/tools/changes.js.map +1 -1
  23. package/dist/tools/comment.d.ts.map +1 -1
  24. package/dist/tools/comment.js +53 -3
  25. package/dist/tools/comment.js.map +1 -1
  26. package/dist/tools/custom-fields.d.ts.map +1 -1
  27. package/dist/tools/custom-fields.js +43 -36
  28. package/dist/tools/custom-fields.js.map +1 -1
  29. package/dist/tools/image.d.ts +3 -0
  30. package/dist/tools/image.d.ts.map +1 -0
  31. package/dist/tools/image.js +23 -0
  32. package/dist/tools/image.js.map +1 -0
  33. package/dist/tools/index.d.ts.map +1 -1
  34. package/dist/tools/index.js +12 -0
  35. package/dist/tools/index.js.map +1 -1
  36. package/dist/tools/iteration.d.ts.map +1 -1
  37. package/dist/tools/iteration.js +95 -6
  38. package/dist/tools/iteration.js.map +1 -1
  39. package/dist/tools/mini-comment.d.ts.map +1 -1
  40. package/dist/tools/mini-comment.js +18 -5
  41. package/dist/tools/mini-comment.js.map +1 -1
  42. package/dist/tools/mini-item.d.ts.map +1 -1
  43. package/dist/tools/mini-item.js +36 -11
  44. package/dist/tools/mini-item.js.map +1 -1
  45. package/dist/tools/mini-workspace.d.ts.map +1 -1
  46. package/dist/tools/mini-workspace.js +13 -4
  47. package/dist/tools/mini-workspace.js.map +1 -1
  48. package/dist/tools/program.d.ts +3 -0
  49. package/dist/tools/program.d.ts.map +1 -0
  50. package/dist/tools/program.js +27 -0
  51. package/dist/tools/program.js.map +1 -0
  52. package/dist/tools/relations.d.ts.map +1 -1
  53. package/dist/tools/relations.js +25 -30
  54. package/dist/tools/relations.js.map +1 -1
  55. package/dist/tools/release.d.ts.map +1 -1
  56. package/dist/tools/release.js +228 -2
  57. package/dist/tools/release.js.map +1 -1
  58. package/dist/tools/report.d.ts +3 -0
  59. package/dist/tools/report.d.ts.map +1 -0
  60. package/dist/tools/report.js +38 -0
  61. package/dist/tools/report.js.map +1 -0
  62. package/dist/tools/settings.d.ts.map +1 -1
  63. package/dist/tools/settings.js +379 -31
  64. package/dist/tools/settings.js.map +1 -1
  65. package/dist/tools/source.d.ts +3 -0
  66. package/dist/tools/source.d.ts.map +1 -0
  67. package/dist/tools/source.js +69 -0
  68. package/dist/tools/source.js.map +1 -0
  69. package/dist/tools/story.d.ts.map +1 -1
  70. package/dist/tools/story.js +650 -160
  71. package/dist/tools/story.js.map +1 -1
  72. package/dist/tools/task.d.ts.map +1 -1
  73. package/dist/tools/task.js +104 -11
  74. package/dist/tools/task.js.map +1 -1
  75. package/dist/tools/test.d.ts.map +1 -1
  76. package/dist/tools/test.js +505 -75
  77. package/dist/tools/test.js.map +1 -1
  78. package/dist/tools/timesheet.d.ts.map +1 -1
  79. package/dist/tools/timesheet.js +72 -11
  80. package/dist/tools/timesheet.js.map +1 -1
  81. package/dist/tools/user.d.ts.map +1 -1
  82. package/dist/tools/user.js +36 -4
  83. package/dist/tools/user.js.map +1 -1
  84. package/dist/tools/utility.d.ts +3 -0
  85. package/dist/tools/utility.d.ts.map +1 -0
  86. package/dist/tools/utility.js +132 -0
  87. package/dist/tools/utility.js.map +1 -0
  88. package/dist/tools/wiki.d.ts.map +1 -1
  89. package/dist/tools/wiki.js +75 -20
  90. package/dist/tools/wiki.js.map +1 -1
  91. package/dist/tools/workflow.d.ts.map +1 -1
  92. package/dist/tools/workflow.js +78 -6
  93. package/dist/tools/workflow.js.map +1 -1
  94. package/dist/tools/workspace.d.ts.map +1 -1
  95. package/dist/tools/workspace.js +93 -4
  96. package/dist/tools/workspace.js.map +1 -1
  97. package/package.json +2 -1
@@ -1,14 +1,19 @@
1
1
  import { z } from 'zod';
2
+ import { TapdClient } from '../tapd-client.js';
2
3
  export const wikiTools = [
3
4
  {
4
5
  name: "tapd_get_wikis",
5
6
  description: "Get wiki pages from TAPD",
6
7
  inputSchema: z.object({
7
- workspace_id: z.number().describe("Project ID"),
8
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
8
9
  id: z.string().optional().describe("Wiki ID, supports multiple IDs"),
9
10
  name: z.string().optional().describe("Wiki page name, supports fuzzy matching"),
10
11
  creator: z.string().optional().describe("Creator name"),
11
12
  modifier: z.string().optional().describe("Last modifier name"),
13
+ note: z.string().optional().describe("Note/remark"),
14
+ view_count: z.string().optional().describe("View count"),
15
+ created: z.string().optional().describe("Creation time, supports time query"),
16
+ modified: z.string().optional().describe("Last modified time, supports time query"),
12
17
  status: z.string().optional().describe("Status of the wiki page"),
13
18
  category_id: z.string().optional().describe("Category ID"),
14
19
  limit: z.number().optional().describe("Number of results to return, max 200"),
@@ -17,14 +22,18 @@ export const wikiTools = [
17
22
  fields: z.string().optional().describe("Comma-separated list of fields to return"),
18
23
  }),
19
24
  handler: async (client, params) => {
20
- return client.get("/tapd_wikis", params);
25
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
26
+ if (!workspaceId) {
27
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
28
+ }
29
+ return client.get("/tapd_wikis", { ...params, workspace_id: workspaceId });
21
30
  },
22
31
  },
23
32
  {
24
33
  name: "tapd_create_wiki",
25
34
  description: "Create a new wiki page in TAPD",
26
35
  inputSchema: z.object({
27
- workspace_id: z.number().describe("Project ID"),
36
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
28
37
  name: z.string().describe("Wiki page title"),
29
38
  creator: z.string().optional().describe("Creator name (defaults to TAPD_NICK_NAME env)"),
30
39
  description: z.string().optional().describe("Rich text content"),
@@ -33,12 +42,17 @@ export const wikiTools = [
33
42
  parent_wiki_id: z.string().optional().describe("Parent wiki ID for nested pages"),
34
43
  }),
35
44
  handler: async (client, params) => {
45
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
46
+ if (!workspaceId) {
47
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
48
+ }
36
49
  const creator = params.creator ?? process.env.TAPD_NICK_NAME;
37
50
  if (!creator) {
38
51
  throw new Error("creator is required. Set TAPD_NICK_NAME environment variable or provide creator parameter.");
39
52
  }
40
53
  return client.post("/tapd_wikis", {
41
54
  ...params,
55
+ workspace_id: workspaceId,
42
56
  creator,
43
57
  });
44
58
  },
@@ -47,7 +61,7 @@ export const wikiTools = [
47
61
  name: "tapd_update_wiki",
48
62
  description: "Update an existing wiki page in TAPD",
49
63
  inputSchema: z.object({
50
- workspace_id: z.number().describe("Project ID"),
64
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
51
65
  id: z.string().describe("Wiki ID (required)"),
52
66
  name: z.string().optional().describe("Wiki page title"),
53
67
  modifier: z.string().optional().describe("Modifier name (defaults to TAPD_NICK_NAME env)"),
@@ -57,12 +71,17 @@ export const wikiTools = [
57
71
  parent_wiki_id: z.string().optional().describe("Parent wiki ID for nested pages"),
58
72
  }),
59
73
  handler: async (client, params) => {
74
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
75
+ if (!workspaceId) {
76
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
77
+ }
60
78
  const modifier = params.modifier ?? process.env.TAPD_NICK_NAME;
61
79
  if (!modifier) {
62
80
  throw new Error("modifier is required. Set TAPD_NICK_NAME environment variable or provide modifier parameter.");
63
81
  }
64
82
  return client.post("/tapd_wikis", {
65
83
  ...params,
84
+ workspace_id: workspaceId,
66
85
  modifier,
67
86
  });
68
87
  },
@@ -71,101 +90,137 @@ export const wikiTools = [
71
90
  name: "tapd_get_wiki_count",
72
91
  description: "Get the count of wiki pages matching filters",
73
92
  inputSchema: z.object({
74
- workspace_id: z.number().describe("Project ID (required)"),
93
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
75
94
  id: z.string().optional().describe("Wiki ID, supports multiple IDs"),
76
95
  name: z.string().optional().describe("Wiki page name, supports fuzzy matching"),
77
96
  creator: z.string().optional().describe("Creator name"),
78
97
  modifier: z.string().optional().describe("Last modifier name"),
98
+ note: z.string().optional().describe("Note/remark"),
99
+ view_count: z.string().optional().describe("View count"),
100
+ created: z.string().optional().describe("Creation time, supports time query"),
101
+ modified: z.string().optional().describe("Last modified time, supports time query"),
79
102
  status: z.string().optional().describe("Status of the wiki page"),
80
103
  category_id: z.string().optional().describe("Category ID"),
81
104
  }),
82
105
  handler: async (client, params) => {
83
- return client.get("/tapd_wikis/count", params);
106
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
107
+ if (!workspaceId) {
108
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
109
+ }
110
+ return client.get("/tapd_wikis/count", { ...params, workspace_id: workspaceId });
84
111
  },
85
112
  },
86
113
  {
87
114
  name: "tapd_get_wiki_attachments_count",
88
115
  description: "Get the count of wiki attachments",
89
116
  inputSchema: z.object({
90
- workspace_id: z.number().describe("Project ID (required)"),
117
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
91
118
  wiki_id: z.string().optional().describe("Wiki ID"),
92
119
  }),
93
120
  handler: async (client, params) => {
94
- return client.get("/tapd_wikis_attachments/count", params);
121
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
122
+ if (!workspaceId) {
123
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
124
+ }
125
+ return client.get("/tapd_wikis_attachments/count", { ...params, workspace_id: workspaceId });
95
126
  },
96
127
  },
97
128
  {
98
129
  name: "tapd_get_wiki_drawios",
99
130
  description: "Get DrawIO data from wiki pages",
100
131
  inputSchema: z.object({
101
- workspace_id: z.number().describe("Project ID (required)"),
132
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
102
133
  id: z.string().optional().describe("Wiki ID"),
103
134
  }),
104
135
  handler: async (client, params) => {
105
- return client.get("/tapd_wikis_drawios", params);
136
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
137
+ if (!workspaceId) {
138
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
139
+ }
140
+ return client.get("/tapd_wikis_drawios", { ...params, workspace_id: workspaceId });
106
141
  },
107
142
  },
108
143
  {
109
144
  name: "tapd_get_wiki_entity_permissions",
110
145
  description: "Get entity permissions of wiki pages",
111
146
  inputSchema: z.object({
112
- workspace_id: z.number().describe("Project ID (required)"),
147
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
113
148
  id: z.string().optional().describe("Wiki ID"),
114
149
  }),
115
150
  handler: async (client, params) => {
116
- return client.get("/tapd_wikis_entity_permissions", params);
151
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
152
+ if (!workspaceId) {
153
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
154
+ }
155
+ return client.get("/tapd_wikis_entity_permissions", { ...params, workspace_id: workspaceId });
117
156
  },
118
157
  },
119
158
  {
120
159
  name: "tapd_get_wiki_followers",
121
160
  description: "Get followers of wiki pages",
122
161
  inputSchema: z.object({
123
- workspace_id: z.number().describe("Project ID (required)"),
162
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
124
163
  wiki_id: z.string().optional().describe("Wiki ID"),
125
164
  user: z.string().optional().describe("User name"),
126
165
  limit: z.number().optional().describe("Number of results to return, max 200"),
127
166
  page: z.number().optional().describe("Page number, default 1"),
128
167
  }),
129
168
  handler: async (client, params) => {
130
- return client.get("/tapd_wikis_followers", params);
169
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
170
+ if (!workspaceId) {
171
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
172
+ }
173
+ return client.get("/tapd_wikis_followers", { ...params, workspace_id: workspaceId });
131
174
  },
132
175
  },
133
176
  {
134
177
  name: "tapd_get_wiki_followers_count",
135
178
  description: "Get the count of wiki followers",
136
179
  inputSchema: z.object({
137
- workspace_id: z.number().describe("Project ID (required)"),
180
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
138
181
  wiki_id: z.string().optional().describe("Wiki ID"),
139
182
  user: z.string().optional().describe("User name"),
140
183
  }),
141
184
  handler: async (client, params) => {
142
- return client.get("/tapd_wikis_followers/count", params);
185
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
186
+ if (!workspaceId) {
187
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
188
+ }
189
+ return client.get("/tapd_wikis_followers/count", { ...params, workspace_id: workspaceId });
143
190
  },
144
191
  },
145
192
  {
146
193
  name: "tapd_get_wiki_tags",
147
194
  description: "Get tags of wiki pages",
148
195
  inputSchema: z.object({
149
- workspace_id: z.number().describe("Project ID (required)"),
196
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
150
197
  wiki_id: z.string().optional().describe("Wiki ID"),
151
198
  name: z.string().optional().describe("Tag name"),
152
199
  limit: z.number().optional().describe("Number of results to return, max 200"),
153
200
  page: z.number().optional().describe("Page number, default 1"),
154
201
  }),
155
202
  handler: async (client, params) => {
156
- return client.get("/tapd_wikis_tags", params);
203
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
204
+ if (!workspaceId) {
205
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
206
+ }
207
+ return client.get("/tapd_wikis_tags", { ...params, workspace_id: workspaceId });
157
208
  },
158
209
  },
159
210
  {
160
211
  name: "tapd_get_wiki_tags_count",
161
212
  description: "Get the count of wiki tags",
162
213
  inputSchema: z.object({
163
- workspace_id: z.number().describe("Project ID (required)"),
214
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
164
215
  wiki_id: z.string().optional().describe("Wiki ID"),
165
216
  name: z.string().optional().describe("Tag name"),
166
217
  }),
167
218
  handler: async (client, params) => {
168
- return client.get("/tapd_wikis_tags/count", params);
219
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
220
+ if (!workspaceId) {
221
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
222
+ }
223
+ return client.get("/tapd_wikis_tags/count", { ...params, workspace_id: workspaceId });
169
224
  },
170
225
  },
171
226
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"wiki.js","sourceRoot":"","sources":["../../src/tools/wiki.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiki.js","sourceRoot":"","sources":["../../src/tools/wiki.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,eAAO,MAAM,aAAa,EAAE,OAAO,EAyClC,CAAC"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,aAAa,EAAE,OAAO,EAgHlC,CAAC"}
@@ -1,43 +1,115 @@
1
1
  import { z } from 'zod';
2
+ import { TapdClient } from '../tapd-client.js';
2
3
  export const workflowTools = [
3
4
  {
4
5
  name: "tapd_get_workflows",
5
6
  description: "Get workflow definitions for a project",
6
7
  inputSchema: z.object({
7
- workspace_id: z.number().describe("Project ID"),
8
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
8
9
  system: z.string().optional().describe("Workflow system: story, bug, task, or testcase"),
9
10
  limit: z.number().optional().describe("Number of results to return, max 200"),
10
11
  page: z.number().optional().describe("Page number, default 1"),
11
12
  fields: z.string().optional().describe("Comma-separated list of fields to return"),
12
13
  }),
13
14
  handler: async (client, params) => {
14
- return client.get("/workflows", params);
15
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
16
+ if (!workspaceId) {
17
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
18
+ }
19
+ return client.get("/workflows", { ...params, workspace_id: workspaceId });
15
20
  },
16
21
  },
17
22
  {
18
23
  name: "tapd_get_workflow_status_map",
19
24
  description: "Get workflow status mappings for a project (获取工作流状态中英文名对应关系)",
20
25
  inputSchema: z.object({
21
- workspace_id: z.number().describe("Project ID (必填)"),
26
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
22
27
  system: z.string().describe("系统名,取 'bug' 或 'story' (必填)"),
23
28
  workitem_type_id: z.number().optional().describe("需求类别ID,获取需求状态时必传"),
24
29
  fields: z.string().optional().describe("Comma-separated list of fields to return"),
25
30
  }),
26
31
  handler: async (client, params) => {
27
- return client.get("/workflows/status_map", params);
32
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
33
+ if (!workspaceId) {
34
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
35
+ }
36
+ return client.get("/workflows/status_map", { ...params, workspace_id: workspaceId });
28
37
  },
29
38
  },
30
39
  {
31
40
  name: "tapd_get_workflow_step_map",
32
41
  description: "Get workflow step/node information for a specific work item type (故事类别工作流节点)",
33
42
  inputSchema: z.object({
34
- workspace_id: z.number().describe("Project ID (必填)"),
43
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
35
44
  system: z.string().describe("系统名,当前仅支持 'story' (必填)"),
36
45
  workitem_type_id: z.number().describe("需求类别ID (必填)"),
37
46
  fields: z.string().optional().describe("Comma-separated list of fields to return"),
38
47
  }),
39
48
  handler: async (client, params) => {
40
- return client.get("/workflows/step_map", params);
49
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
50
+ if (!workspaceId) {
51
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
52
+ }
53
+ return client.get("/workflows/step_map", { ...params, workspace_id: workspaceId });
54
+ },
55
+ },
56
+ {
57
+ name: "tapd_get_workflow_all_transitions",
58
+ description: "获取工作流所有转换",
59
+ inputSchema: z.object({
60
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
61
+ system: z.string().describe("系统名: story, bug, task (必填)"),
62
+ }),
63
+ handler: async (client, params) => {
64
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
65
+ if (!workspaceId) {
66
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
67
+ }
68
+ return client.get("/workflows/all_transitions", { ...params, workspace_id: workspaceId });
69
+ },
70
+ },
71
+ {
72
+ name: "tapd_get_workflow_last_steps",
73
+ description: "获取工作流最后步骤",
74
+ inputSchema: z.object({
75
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
76
+ system: z.string().describe("系统名: story, bug, task (必填)"),
77
+ }),
78
+ handler: async (client, params) => {
79
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
80
+ if (!workspaceId) {
81
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
82
+ }
83
+ return client.get("/workflows/last_steps", { ...params, workspace_id: workspaceId });
84
+ },
85
+ },
86
+ {
87
+ name: "tapd_get_workflow_all_last_steps",
88
+ description: "获取工作流所有最后步骤",
89
+ inputSchema: z.object({
90
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
91
+ }),
92
+ handler: async (client, params) => {
93
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
94
+ if (!workspaceId) {
95
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
96
+ }
97
+ return client.get("/workflows/all_last_steps", { ...params, workspace_id: workspaceId });
98
+ },
99
+ },
100
+ {
101
+ name: "tapd_get_workflow_first_step",
102
+ description: "获取工作流第一步",
103
+ inputSchema: z.object({
104
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
105
+ system: z.string().describe("系统名: story, bug, task (必填)"),
106
+ }),
107
+ handler: async (client, params) => {
108
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
109
+ if (!workspaceId) {
110
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
111
+ }
112
+ return client.get("/workflows/first_step", { ...params, workspace_id: workspaceId });
41
113
  },
42
114
  },
43
115
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,wCAAwC;QACrD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YACxF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YAC9D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SACnF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;KACF;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,WAAW,EAAE,8DAA8D;QAC3E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YACzD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACpE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SACnF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,OAAO,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;KACF;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,8EAA8E;QAC3F,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACrD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SACnF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAChC,OAAO,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/tools/workflow.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/tools/workspace.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,cAAc,EAAE,OAAO,EA6CnC,CAAC"}
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/tools/workspace.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,cAAc,EAAE,OAAO,EAqInC,CAAC"}
@@ -1,13 +1,18 @@
1
1
  import { z } from 'zod';
2
+ import { TapdClient } from '../tapd-client.js';
2
3
  export const workspaceTools = [
3
4
  {
4
5
  name: "tapd_get_workspace_info",
5
6
  description: "Get TAPD workspace/project info by ID",
6
7
  inputSchema: z.object({
7
- workspace_id: z.number().describe("Project ID"),
8
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
8
9
  }),
9
10
  handler: async (client, params) => {
10
- return client.get("/workspaces/get_workspace_info", params);
11
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
12
+ if (!workspaceId) {
13
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
14
+ }
15
+ return client.get("/workspaces/get_workspace_info", { ...params, workspace_id: workspaceId });
11
16
  },
12
17
  },
13
18
  {
@@ -37,11 +42,95 @@ export const workspaceTools = [
37
42
  name: "tapd_get_workspace_users",
38
43
  description: "Get all users in a workspace",
39
44
  inputSchema: z.object({
40
- workspace_id: z.number().describe("项目ID (必填)"),
45
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
41
46
  fields: z.string().optional().describe("需要查的字段值: user,role_id,email,tof_id 可选,以,分隔"),
42
47
  }),
43
48
  handler: async (client, params) => {
44
- return client.get("/users", params);
49
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
50
+ if (!workspaceId) {
51
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
52
+ }
53
+ return client.get("/users", { ...params, workspace_id: workspaceId });
54
+ },
55
+ },
56
+ // 自定义字段
57
+ {
58
+ name: "tapd_get_workspace_custom_fields",
59
+ description: "获取项目自定义字段配置",
60
+ inputSchema: z.object({
61
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
62
+ }),
63
+ handler: async (client, params) => {
64
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
65
+ if (!workspaceId) {
66
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
67
+ }
68
+ return client.get("/workspaces/custom_fields", { ...params, workspace_id: workspaceId });
69
+ },
70
+ },
71
+ // 子项目
72
+ {
73
+ name: "tapd_get_sub_workspaces",
74
+ description: "获取子项目列表",
75
+ inputSchema: z.object({
76
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
77
+ }),
78
+ handler: async (client, params) => {
79
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
80
+ if (!workspaceId) {
81
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
82
+ }
83
+ return client.get("/workspaces/sub_workspaces", { ...params, workspace_id: workspaceId });
84
+ },
85
+ },
86
+ // 文档
87
+ {
88
+ name: "tapd_get_workspace_documents",
89
+ description: "获取项目文档列表",
90
+ inputSchema: z.object({
91
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
92
+ limit: z.number().optional().describe("返回数量"),
93
+ page: z.number().optional().describe("页码"),
94
+ fields: z.string().optional().describe("返回字段"),
95
+ }),
96
+ handler: async (client, params) => {
97
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
98
+ if (!workspaceId) {
99
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
100
+ }
101
+ return client.get("/workspaces/documents", { ...params, workspace_id: workspaceId });
102
+ },
103
+ },
104
+ // 日历
105
+ {
106
+ name: "tapd_get_workspace_calendar",
107
+ description: "获取项目日历信息",
108
+ inputSchema: z.object({
109
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
110
+ start_date: z.string().optional().describe("开始日期 YYYY-MM-DD"),
111
+ end_date: z.string().optional().describe("结束日期 YYYY-MM-DD"),
112
+ }),
113
+ handler: async (client, params) => {
114
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
115
+ if (!workspaceId) {
116
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
117
+ }
118
+ return client.get("/workspaces/calendar", { ...params, workspace_id: workspaceId });
119
+ },
120
+ },
121
+ // 第三方项目
122
+ {
123
+ name: "tapd_get_third_projects",
124
+ description: "获取第三方项目关联",
125
+ inputSchema: z.object({
126
+ workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
127
+ }),
128
+ handler: async (client, params) => {
129
+ const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
130
+ if (!workspaceId) {
131
+ throw new Error('workspace_id is required (either provide it or set TAPD_DEFAULT_WORKSPACE_ID env)');
132
+ }
133
+ return client.get("/workspaces/third_projects", { ...params, workspace_id: workspaceId });
45
134
  },
46
135
  },
47
136
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/tools/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,uCAAuC;QACpD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;SAChD,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAkB,EAAE,MAAM,EAAE,EAAE;YAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;QAC9D,CAAC;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,kCAAkC;QAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YAC9E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;SACjF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAkB,EAAE,MAAM,EAAE,EAAE;YAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,qCAAqC;QAClD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;SAC9C,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAkB,EAAE,MAAM,EAAE,EAAE;YAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,uCAAuC,EAAE,MAAM,CAAC,CAAC;QACrE,CAAC;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;SACrF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAkB,EAAE,MAAM,EAAE,EAAE;YAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/tools/workspace.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xihe-lab/tapd-mcp-server",
3
- "version": "1.3.0",
3
+ "version": "1.4.1",
4
4
  "description": "MCP server for TAPD project management API, enabling AI assistants to manage stories, bugs, tasks, iterations and more via natural language",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -11,6 +11,7 @@
11
11
  "build": "tsc",
12
12
  "start": "node dist/index.js",
13
13
  "dev": "tsx src/index.ts",
14
+ "test": "tsx src/integration-test.ts",
14
15
  "type-check": "tsc --noEmit",
15
16
  "lint": "eslint src/",
16
17
  "prepublishOnly": "npm run build"