@xihe-lab/tapd-mcp-server 2.0.2 → 2.1.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 CHANGED
@@ -122,9 +122,64 @@ WorkBuddy 采用标准 `mcpServers` 配置,支持两级配置文件:
122
122
  | `TAPD_NICK_NAME` | 否 | 用户昵称,作为 owner/creator 等参数的默认值 |
123
123
  | `TAPD_DEFAULT_STORY_WORKITEM_TYPE_ID` | 否 | 默认 STORY 工作项类型 ID |
124
124
  | `TAPD_DEFAULT_TASK_WORKITEM_TYPE_ID` | 否 | 默认 TASK 工作项类型 ID |
125
+ | `TAPD_TOOLSETS` | 否 | 启动时在默认集之上追加挂载的工具集(逗号分隔域 id,大小写不敏感);`all` = 全量挂载 216 工具(2.1.0 新增) |
126
+ | `TAPD_TOOLS` | 否 | 工具白名单回补(逗号分隔,`tapd_` 前缀可省略),与默认集并集生效(2.1.0 新增) |
127
+ | `TAPD_PERMISSION_MODE` | 否 | 设为 `readonly`(大小写不敏感)进入只读档:全部写工具不挂载、不可调用(2.1.0 新增) |
125
128
 
126
129
  注意:`TAPD_API_USER`/`TAPD_API_PASSWORD`(API 账号密码)与 `TAPD_ACCESS_TOKEN`(个人访问令牌)为两种调用方式,选一种即可。
127
130
 
131
+ ## 工具集分级(2.1.0 新增)
132
+
133
+ 2.1.0 起,server 默认只挂载**工作台 8 域 85 工具 + 1 个 `tapd_discover_tools` 元工具**(共 86 个),tools/list 上下文占用从约 46k token 降到约 17k token。其余工具不挂载即不可调用(可见性即权限边界),需要时用 discover 按需激活,无需重启。
134
+
135
+ ### 默认集(启动即挂载)
136
+
137
+ | 工具集 id | 名称 | 工具数 |
138
+ |---|---|---|
139
+ | `workspace` | 工作空间 | 9 |
140
+ | `iteration` | 迭代 | 7 |
141
+ | `user` | 用户 | 4 |
142
+ | `story` | 需求 | 28 |
143
+ | `bug` | 缺陷 | 20 |
144
+ | `task` | 任务 | 7 |
145
+ | `comment` | 评论 | 4 |
146
+ | `utility` | 工具箱(md↔html 富文本转换 / 批量详情 / 短ID转换) | 6 |
147
+
148
+ ### discover 元工具:按需激活
149
+
150
+ - **无参调用**:返回全部 27 个工具集 `{id, label, toolCount, active, isDefault}` 及操作提示。
151
+ - **`{"toolset": "<id>"}`**:立即注册该域全部工具并触发 `tools/list_changed`(幂等,重复调用安全)。
152
+ - **`{"toolset": "all"}`**:一次性激活全部 216 工具。
153
+
154
+ ```text
155
+ AI 助手:tapd_discover_tools()
156
+ → 发现 wiki 域(11 工具,active: false)
157
+ AI 助手:tapd_discover_tools({"toolset": "wiki"})
158
+ → wiki 工具全部可见,随后可调用 tapd_get_wikis 等
159
+ ```
160
+
161
+ ### 环境变量配置(启动即挂载,免 discover)
162
+
163
+ ```bash
164
+ # 追加域(默认集之外):wiki + 发布计划
165
+ TAPD_TOOLSETS=wiki,release
166
+
167
+ # 完全恢复 2.0 全量挂载行为(推荐 2.0 老用户迁移期使用)
168
+ TAPD_TOOLSETS=all
169
+
170
+ # 只回补个别工具(与默认集并集生效,tapd_ 前缀可省略)
171
+ TAPD_TOOLS=tapd_create_release,get_wikis
172
+
173
+ # 只读档:全部写工具(含 tapd_change_workitem_type)不进入注册面
174
+ TAPD_PERMISSION_MODE=readonly
175
+ ```
176
+
177
+ 非法域 / 未知工具会在启动时经 MCP logging notification 告警并忽略(不写 stderr,不影响启动)。
178
+
179
+ ### 从 2.0 升级
180
+
181
+ 如果你依赖全量工具清单(如配置了工具白名单、或 AI 助手依赖少见的测试计划 / Wiki 工具),在 env 加一行 `TAPD_TOOLSETS=all` 即可恢复 2.0 行为;否则建议保持默认并让助手按需 discover。
182
+
128
183
  ## 支持的能力
129
184
 
130
185
  | 模块 | 工具数 | 可用操作 |
@@ -141,22 +196,23 @@ WorkBuddy 采用标准 `mcpServers` 配置,支持两级配置文件:
141
196
  | 工作流 | 7 | 工作流定义查询;状态映射;节点信息;转换规则;首末步骤查询 |
142
197
  | 自定义字段 | 7 | 需求/缺陷/任务/测试用例/迭代自定义字段配置查询;字段信息查询 |
143
198
  | 轻量级项目 | 6 | 轻量级工作项查询/创建/更新;分类管理;变更历史 |
144
- | 附件 | 5 | 附件查询/下载;轻量级项目附件管理 |
199
+ | 附件 | 8 | 附件查询/下载;轻量级项目附件管理;外部文件挂接 |
145
200
  | 工时 | 5 | 工时记录查询/创建/更新/删除;工时统计 |
146
201
  | 评论 | 4 | 评论查询/创建/更新;评论数量统计 |
147
202
  | 用户 | 4 | 个人设置查询;角色列表;第三方用户映射;当前用户信息 |
148
203
  | 变更历史 | 4 | 需求/任务变更历史查询;变更数量统计 |
149
204
  | 看板 | 4 | 看板工作项创建/查询/更新;看板列查询 |
150
205
  | 关联关系 | 4 | 需求关联查询/添加/删除;关联缺陷查询 |
151
- | 工具类 | 4 | 短ID转长ID;批量获取需求/缺陷/任务详情 |
206
+ | 工具类 | 6 | 短ID转长ID;批量获取需求/缺陷/任务详情;md↔html 富文本转换 |
152
207
  | 代码 | 3 | 代码提交记录添加/查询;提交对象详情 |
153
208
  | 轻量级项目空间 | 3 | 项目信息查询;成员列表;用户项目列表 |
154
209
  | 轻量级评论 | 3 | 评论查询/创建;评论数量统计 |
155
210
  | 报表 | 2 | 项目报表列表;状态流转时间统计 |
156
211
  | 项目集 | 2 | 项目集关联项目;项目集绑定实体 |
157
212
  | 图片 | 1 | 获取图片 URL |
213
+ | 媒体素材 | 1 | 临时素材上传/获取 |
158
214
 
159
- 共 **210 个工具**,覆盖 **26 个模块**。AI 助手会根据你的自然语言描述自动选择合适的工具。
215
+ 共 **216 个工具**,覆盖 **27 个模块**。2.1.0 起默认只挂载其中工作台 8 域 85 工具(见[工具集分级](#工具集分级210-新增)),其余经 `tapd_discover_tools` 或 `TAPD_TOOLSETS` 激活。
160
216
 
161
217
  ## 富媒体协作
162
218
 
@@ -200,6 +256,10 @@ WorkBuddy 采用标准 `mcpServers` 配置,支持两级配置文件:
200
256
 
201
257
  确认 Node.js >= 18 已安装,npx 可正常执行。修改配置后需重启客户端。
202
258
 
259
+ ### 升级 2.1.0 后工具清单变短了
260
+
261
+ 这是预期行为:默认只挂载工作台 8 域 85 工具(见[工具集分级](#工具集分级210-新增))。测试计划、Wiki、发布计划等工具需先 `tapd_discover_tools({"toolset": "<id>"})` 激活;要完全恢复 2.0 全量挂载,设 `TAPD_TOOLSETS=all`。直接调用未激活工具会返回 "Tool not found"——这不是能力缺失,先 discover 即可。
262
+
203
263
  ### 工具返回权限不足 (403)
204
264
 
205
265
  在 TAPD 开放平台检查应用权限,确保已勾选所需 API 的访问权限。
package/dist/server.d.ts CHANGED
@@ -1,6 +1,38 @@
1
+ /**
2
+ * P1-3/P1-4/P2-1(迭代 1139814312001000122 · FSD §3.4/§3.5/§3.7):MCP 分级挂载。
3
+ *
4
+ * 核心不变量(不可偏离):
5
+ * - 激活即注册、未注册即不可调用:SDK CallTool 路由只认 server.tool() 注册过的
6
+ * 工具名(未注册直接 "Tool X not found"),可见性即权限边界。
7
+ * - 启动注册面 = resolveStartupTools(env)(默认集 8 域 85 工具,
8
+ * TAPD_TOOLSETS 追加域 / all 全量,TAPD_TOOLS 白名单回补)。
9
+ * - tapd_discover_tools 元工具:无参列出全部工具集(id/工具数/是否激活/是否默认集);
10
+ * {toolset:"<id>"} 立即注册该域全部工具并触发 tools/list_changed(SDK 在每次
11
+ * server.tool() 时自动 sendToolListChanged,无需手动调用);幂等可重复调用。
12
+ * - TAPD_PERMISSION_MODE=readonly:写工具不进入注册面(ListTools 不可见),
13
+ * exec 层 READ_ONLY_BLOCKED 双保险。
14
+ *
15
+ * ListTools 覆写沿用 P0-1/P0-3 设计:tools/list 载荷由 core 的 buildToolsListPayload
16
+ * 一体产出(转换 + slim + annotations),且只包含当前已激活(registered)的工具 + discover。
17
+ */
1
18
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
19
  import type { ToolDef } from '@xihe-lab/tapd-core';
20
+ /** discover 元工具名(工具清单内常驻,不计入工具集成员) */
21
+ export declare const DISCOVER_TOOL_NAME = "tapd_discover_tools";
22
+ /** P2-1(FSD §3.7):TAPD_PERMISSION_MODE=readonly(大小写不敏感)进入只读档 */
23
+ export declare function isReadonlyMode(env?: Record<string, string | undefined>): boolean;
3
24
  export declare function createServer(): McpServer;
4
- export declare function registerTools(server: McpServer, tools: ToolDef[]): void;
5
- export declare function start(tools: ToolDef[]): Promise<void>;
25
+ export interface RegisterToolsResult {
26
+ /** env 非法输入告警(未知域/未知工具),经 MCP logging notification 透出 */
27
+ readonly warnings: readonly string[];
28
+ }
29
+ /**
30
+ * 分级注册(P1-3/P1-4/P2-1)。
31
+ *
32
+ * @param server MCP server 实例
33
+ * @param tools 候选全集(bin 传 allTools;测试可传子集)
34
+ * @param env 环境变量来源(默认 process.env;测试注入用)
35
+ */
36
+ export declare function registerTools(server: McpServer, tools: ToolDef[], env?: Record<string, string | undefined>): RegisterToolsResult;
37
+ export declare function start(tools: ToolDef[], env?: Record<string, string | undefined>): Promise<void>;
6
38
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAWnD,wBAAgB,YAAY,IAAI,SAAS,CAYxC;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CA4CvE;AAED,wBAAsB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB3D"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAWnD,sCAAsC;AACtC,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AASxD,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,OAAO,CAE7F;AAoCD,wBAAgB,YAAY,IAAI,SAAS,CAaxC;AAED,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,OAAO,EAAE,EAChB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,mBAAmB,CAqKrB;AAED,wBAAsB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BlH"}
package/dist/server.js CHANGED
@@ -1,31 +1,105 @@
1
+ /**
2
+ * P1-3/P1-4/P2-1(迭代 1139814312001000122 · FSD §3.4/§3.5/§3.7):MCP 分级挂载。
3
+ *
4
+ * 核心不变量(不可偏离):
5
+ * - 激活即注册、未注册即不可调用:SDK CallTool 路由只认 server.tool() 注册过的
6
+ * 工具名(未注册直接 "Tool X not found"),可见性即权限边界。
7
+ * - 启动注册面 = resolveStartupTools(env)(默认集 8 域 85 工具,
8
+ * TAPD_TOOLSETS 追加域 / all 全量,TAPD_TOOLS 白名单回补)。
9
+ * - tapd_discover_tools 元工具:无参列出全部工具集(id/工具数/是否激活/是否默认集);
10
+ * {toolset:"<id>"} 立即注册该域全部工具并触发 tools/list_changed(SDK 在每次
11
+ * server.tool() 时自动 sendToolListChanged,无需手动调用);幂等可重复调用。
12
+ * - TAPD_PERMISSION_MODE=readonly:写工具不进入注册面(ListTools 不可见),
13
+ * exec 层 READ_ONLY_BLOCKED 双保险。
14
+ *
15
+ * ListTools 覆写沿用 P0-1/P0-3 设计:tools/list 载荷由 core 的 buildToolsListPayload
16
+ * 一体产出(转换 + slim + annotations),且只包含当前已激活(registered)的工具 + discover。
17
+ */
1
18
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
19
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
20
  import { ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
4
- import { ToolRegistry, TapdClient, buildToolsListPayload } from '@xihe-lab/tapd-core';
5
- import { checkForUpdate } from './update-check.js';
21
+ import { z } from 'zod';
22
+ import { TOOLSET_DEFINITIONS, ToolRegistry, TapdClient, buildToolsListPayload, resolveStartupTools, resolveWrite, } from '@xihe-lab/tapd-core';
23
+ import { checkForUpdate, readLocalVersions } from './update-check.js';
24
+ /** discover 元工具名(工具清单内常驻,不计入工具集成员) */
25
+ export const DISCOVER_TOOL_NAME = 'tapd_discover_tools';
6
26
  let client = null;
7
27
  function getTapdClient() {
8
28
  client ??= TapdClient.fromEnv();
9
29
  return client;
10
30
  }
31
+ /** P2-1(FSD §3.7):TAPD_PERMISSION_MODE=readonly(大小写不敏感)进入只读档 */
32
+ export function isReadonlyMode(env = process.env) {
33
+ return (env.TAPD_PERMISSION_MODE ?? '').trim().toLowerCase() === 'readonly';
34
+ }
35
+ /**
36
+ * discover 元工具描述:动态枚举全部工具集(id / 展示名 / 工具数 / 是否默认集),
37
+ * 保证与 TOOLSET_DEFINITIONS 永远同步(新域登记即自动出现在路由表)。
38
+ */
39
+ function buildDiscoverDescription() {
40
+ const lines = TOOLSET_DEFINITIONS.map((d) => {
41
+ const mark = DEFAULT_MARK.has(d.id) ? ' [默认]' : '';
42
+ return `- ${d.id}(${d.label},${d.tools.length} 工具)${mark}`;
43
+ }).join('\n');
44
+ return [
45
+ 'TAPD 工具集发现与按需激活(分级挂载元工具)。',
46
+ '',
47
+ '不带参数调用:列出全部工具集及当前激活状态({id, label, toolCount, active, isDefault})。',
48
+ '传 {"toolset":"<id>"}:立即注册该域全部工具(幂等,重复调用安全),无需重启服务;',
49
+ '传 {"toolset":"all"}:一次性激活全部域(等价 TAPD_TOOLSETS=all)。',
50
+ '',
51
+ '全部工具集:',
52
+ lines,
53
+ '',
54
+ '[默认] 域在服务启动时已激活;其余域需先经本工具激活后才能调用其成员工具。',
55
+ ].join('\n');
56
+ }
57
+ const DEFAULT_MARK = new Set(['workspace', 'iteration', 'user', 'story', 'bug', 'task', 'comment', 'utility']);
58
+ /** discover 元工具的输入 schema(toolset 可选;空 = 只列表) */
59
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
60
+ const DISCOVER_INPUT_SCHEMA = z.object({
61
+ toolset: z
62
+ .string()
63
+ .optional()
64
+ .describe('要激活的工具集 id(见无参调用返回的列表;all = 全部域)。缺省 = 只列表不激活'),
65
+ });
11
66
  export function createServer() {
12
67
  const server = new McpServer({
13
68
  name: 'tapd-mcp-server',
14
- version: '1.0.0',
69
+ version: readLocalVersions(import.meta.url)?.server ?? 'unknown',
15
70
  },
16
71
  // 声明 logging 能力:SDK 的 sendLoggingMessage 仅在 capabilities.logging
17
- // 存在时才真正发出 notifications/message,否则静默丢弃
72
+ // 存在时才真正发出 notifications/message,否则静默丢弃。
73
+ // tools + listChanged 能力由 SDK 在首次 server.tool() 时自动登记,无需显式声明。
18
74
  { capabilities: { logging: {} } });
19
75
  return server;
20
76
  }
21
- export function registerTools(server, tools) {
77
+ /**
78
+ * 分级注册(P1-3/P1-4/P2-1)。
79
+ *
80
+ * @param server MCP server 实例
81
+ * @param tools 候选全集(bin 传 allTools;测试可传子集)
82
+ * @param env 环境变量来源(默认 process.env;测试注入用)
83
+ */
84
+ export function registerTools(server, tools, env = process.env) {
22
85
  const registry = new ToolRegistry();
86
+ const readOnlyMode = isReadonlyMode(env);
87
+ // 候选全集进 registry(exec 路由依据);SDK 注册面才是可见性边界
23
88
  registry.register(tools);
24
- for (const tool of registry.list()) {
89
+ // P1-3:解析启动注册面(默认集 + env 追加/白名单)
90
+ const startup = resolveStartupTools(env);
91
+ const startupNames = new Set(startup.tools.map((t) => t.name));
92
+ // P2-1:只读档下写工具整体出局(不可见即不可调用;exec 层 READ_ONLY_BLOCKED 双保险)
93
+ const eligible = (tool) => !readOnlyMode || !resolveWrite(tool);
94
+ /** 当前 SDK 已注册工具名(discover 幂等 + ListTools 载荷过滤依据) */
95
+ const registered = new Set();
96
+ const registerSingleTool = (tool) => {
97
+ if (registered.has(tool.name))
98
+ return; // 幂等:SDK 重复注册会抛错
25
99
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
100
  const schema = tool.inputSchema.shape ?? tool.inputSchema;
27
101
  server.tool(tool.name, tool.description, schema, async (args) => {
28
- const result = await registry.exec(tool.name, args, { entry: 'mcp' }, getTapdClient);
102
+ const result = await registry.exec(tool.name, args, { entry: 'mcp', readOnly: readOnlyMode }, getTapdClient);
29
103
  if (result.ok) {
30
104
  return {
31
105
  content: [
@@ -46,29 +120,130 @@ export function registerTools(server, tools) {
46
120
  isError: true,
47
121
  };
48
122
  });
123
+ registered.add(tool.name);
124
+ };
125
+ // 启动注册面(顺序与 core allTools 一致,确定性输出)。
126
+ // 资格判定必须用 registry 合并后的工具(EXPLICIT_WRITE 等写策略标记在 register
127
+ // 时合入):直接判原始 tool 会漏判 tapd_change_workitem_type 这类无写动词的写工具。
128
+ for (const tool of tools) {
129
+ if (!startupNames.has(tool.name))
130
+ continue;
131
+ const merged = registry.get(tool.name) ?? tool;
132
+ if (eligible(merged))
133
+ registerSingleTool(merged);
49
134
  }
135
+ // P1-4:discover 元工具。不走 registry.exec(其 clientFactory 在无凭据时会
136
+ // AUTH_MISSING,而列表/激活是纯本地操作必须免凭据可用),直接内联 handler。
137
+ const toolsetOf = new Map(TOOLSET_DEFINITIONS.map((d) => [d.id, d]));
138
+ const registerToolset = (id) => {
139
+ const def = toolsetOf.get(id);
140
+ if (!def)
141
+ return 0;
142
+ let added = 0;
143
+ for (const name of def.tools) {
144
+ const tool = registry.get(name);
145
+ if (tool && eligible(tool) && !registered.has(name)) {
146
+ registerSingleTool(tool);
147
+ added += 1;
148
+ }
149
+ }
150
+ return added;
151
+ };
152
+ const discoverListPayload = () => {
153
+ const activeCount = [...registered].filter((n) => n !== DISCOVER_TOOL_NAME).length;
154
+ const list = TOOLSET_DEFINITIONS.map((d) => ({
155
+ id: d.id,
156
+ label: d.label,
157
+ toolCount: d.tools.length,
158
+ active: d.tools.every((n) => registered.has(n)) && d.tools.length > 0,
159
+ isDefault: DEFAULT_MARK.has(d.id),
160
+ }));
161
+ return {
162
+ toolsets: list,
163
+ hint: `当前已激活 ${activeCount} 个工具(不含本工具)。传 {"toolset":"<id>"} 激活对应域(幂等);传 {"toolset":"all"} 激活全部域。`,
164
+ };
165
+ };
166
+ const textResult = (payload, isError = false) => ({
167
+ content: [{ type: 'text', text: JSON.stringify(payload, null, 2) }],
168
+ ...(isError ? { isError: true } : {}),
169
+ });
170
+ // ---- discover 注册(单次;SDK 对同名重复注册会抛错)----
171
+ const discoverTool = {
172
+ name: DISCOVER_TOOL_NAME,
173
+ description: buildDiscoverDescription(),
174
+ inputSchema: DISCOVER_INPUT_SCHEMA,
175
+ // eslint-disable-next-line @typescript-eslint/require-await -- ToolDef.handler 签名要求 async;占位实现同步抛出
176
+ handler: async () => {
177
+ throw new Error('discover is dispatched inline, not via registry.exec');
178
+ },
179
+ };
180
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
181
+ const discoverSchema = discoverTool.inputSchema.shape ?? discoverTool.inputSchema;
182
+ server.tool(DISCOVER_TOOL_NAME, discoverTool.description, discoverSchema,
183
+ // eslint-disable-next-line @typescript-eslint/require-await -- 列表/激活均为同步本地操作;保留 async 匹配 SDK 回调签名
184
+ async (args) => {
185
+ const raw = args?.toolset;
186
+ if (typeof raw !== 'string' || raw.trim() === '') {
187
+ return textResult(discoverListPayload());
188
+ }
189
+ const id = raw.trim().toLowerCase();
190
+ if (id === 'all') {
191
+ let added = 0;
192
+ for (const def of TOOLSET_DEFINITIONS)
193
+ added += registerToolset(def.id);
194
+ return textResult({
195
+ activated: 'all',
196
+ added,
197
+ totalTools: [...registered].filter((n) => n !== DISCOVER_TOOL_NAME).length,
198
+ note: '全部域已激活(tools/list 已更新)。等价启动配置 TAPD_TOOLSETS=all。',
199
+ });
200
+ }
201
+ if (!toolsetOf.has(id)) {
202
+ return textResult({
203
+ error: `未知工具集「${raw}」。可用值: ${TOOLSET_DEFINITIONS.map((d) => d.id).join(', ')}(或 all)`,
204
+ hint: '也可设置环境变量 TAPD_TOOLSETS=all 在启动时挂载全部工具集。',
205
+ }, true);
206
+ }
207
+ const added = registerToolset(id);
208
+ return textResult({
209
+ activated: id,
210
+ added,
211
+ totalTools: [...registered].filter((n) => n !== DISCOVER_TOOL_NAME).length,
212
+ note: '工具集已激活(幂等:重复激活 added=0,tools/list 已更新)。',
213
+ });
214
+ });
215
+ registered.add(DISCOVER_TOOL_NAME);
50
216
  // P0-1/P0-3(迭代 1139814312001000122):覆写 ListTools 处理器——
51
217
  // SDK 内部 zod→JSON 转换不可注入 slim 逻辑,改由 core 的 buildToolsListPayload
52
218
  // 一体产出(转换 + slim + annotations),与 exportSchemas 字节级一致。
53
- // CallTool 路由仍走 SDK 注册路径,不受本覆写影响。
219
+ // P1-3:载荷只含当前已激活(registered)的工具 + discover——未注册工具不出现在
220
+ // 客户端工具清单里(可见性即权限边界)。必须在首次 server.tool() 之后安装本覆写
221
+ //(SDK 首次注册工具时才初始化工具处理器并自动登记 listChanged 能力)。
54
222
  // eslint-disable-next-line @typescript-eslint/require-await
55
223
  server.server.setRequestHandler(ListToolsRequestSchema, async () => ({
56
- tools: buildToolsListPayload(tools),
224
+ tools: [
225
+ ...buildToolsListPayload(tools.filter((t) => registered.has(t.name))),
226
+ ...buildToolsListPayload([discoverTool]),
227
+ ],
57
228
  }));
229
+ return { warnings: startup.warnings };
58
230
  }
59
- export async function start(tools) {
231
+ export async function start(tools, env = process.env) {
60
232
  const server = createServer();
61
- registerTools(server, tools);
233
+ const { warnings } = registerTools(server, tools, env);
62
234
  const transport = new StdioServerTransport();
63
235
  await server.connect(transport);
236
+ const notify = async (message) => {
237
+ await server.server.sendLoggingMessage({ level: 'notice', data: message });
238
+ };
239
+ // 启动注册面告警(未知域/未知工具):唯一出口是 MCP logging notification
240
+ //(严禁 stderr——Claude Code 会把 server 的 stderr 一律当 error 显示)。
241
+ for (const warning of warnings) {
242
+ await notify(warning).catch(() => undefined);
243
+ }
64
244
  // 启动版本自检:异步执行,不阻塞初始化与工具响应;提示经 MCP logging
65
- // notification 送达(严禁 stderr——Claude Code 会把 server 的 stderr 一律当
66
- // error 显示)。断网 / registry 不可达时静默跳过;TAPD_MCP_UPDATE_CHECK=off 关闭。
67
- void checkForUpdate({
68
- notify: async (message) => {
69
- await server.server.sendLoggingMessage({ level: 'notice', data: message });
70
- },
71
- });
245
+ // notification 送达。断网 / registry 不可达时静默跳过;TAPD_MCP_UPDATE_CHECK=off 关闭。
246
+ void checkForUpdate({ notify });
72
247
  process.on('SIGINT', () => {
73
248
  void server.close();
74
249
  process.exit(0);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAgBH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,uDAAuD;IACvD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,qCAAqC;IACrC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtE,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,UAAU,aAAa;IACrB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,4CAA4C;IAC5C,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;CACjC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAOlE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA0B5D;AAMD,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAGnF;AAED,+DAA+D;AAC/D,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAGhF;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1E;AAwCD,uCAAuC;AACvC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAIvE;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkExB;AAMD,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,GACrB,MAAM,GAAG,IAAI,CAcf;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB9E"}
1
+ {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAgBH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,uDAAuD;IACvD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,qCAAqC;IACrC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtE,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,UAAU,aAAa;IACrB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,4CAA4C;IAC5C,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;CACjC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAOlE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA0B5D;AAMD,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAGnF;AAED,+DAA+D;AAC/D,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAGhF;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1E;AAwCD,uCAAuC;AACvC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAIvE;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkExB;AAgBD,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,GACrB,MAAM,GAAG,IAAI,CAwBf;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB9E"}
@@ -209,6 +209,14 @@ export function fetchRcVersion(registryBase, pkgName, timeoutMs = REQUEST_TIMEOU
209
209
  // ---------------------------------------------------------------------------
210
210
  // 组装与入口
211
211
  // ---------------------------------------------------------------------------
212
+ /**
213
+ * 行为变更版本:2.1.0 起默认仅挂载工作台 8 域 85 工具(分级挂载,FSD §3.4)。
214
+ * 2.1.0 的 rc prerelease 同样携带该变更,故阈值取 '2.1.0-rc.0'——任何 2.1.0 系列
215
+ * (rc / GA 及其后)都 ≥ 该值,2.0.x 均小于它。
216
+ */
217
+ const BEHAVIOR_CHANGE_VERSION = '2.1.0-rc.0';
218
+ const BEHAVIOR_CHANGE_NOTICE = '注意:2.1.0 起默认仅挂载工作台常用工具(8 域 85 个,原为全量挂载);' +
219
+ '其余工具可让 AI 助手调用 tapd_discover_tools 按需激活,或在 env 设 TAPD_TOOLSETS=all 恢复旧行为。';
212
220
  /** 本地任一包落后于 registry @rc 时返回提示文案;否则返回 null */
213
221
  export function buildUpdateNotice(local, remote) {
214
222
  const parts = [];
@@ -225,7 +233,16 @@ export function buildUpdateNotice(local, remote) {
225
233
  }
226
234
  if (parts.length === 0)
227
235
  return null;
228
- return `${parts.join(';')}——重启 MCP 会话即可更新(Claude Code 可用 /mcp 菜单 Reconnect)。`;
236
+ // 升级目标取两个远端中较新者:行为变更随 core+server lockstep 落地,
237
+ // 任一指向 2.1.0 系列即应预告(例如 server 未落后但 core 先行发版)。
238
+ const candidates = [remote.server, remote.core]
239
+ .filter((v) => v !== null)
240
+ .sort(compareVersions);
241
+ const target = candidates[candidates.length - 1] ?? null;
242
+ const behaviorNote = target !== null && compareVersions(target, BEHAVIOR_CHANGE_VERSION) >= 0
243
+ ? BEHAVIOR_CHANGE_NOTICE
244
+ : '';
245
+ return `${parts.join(';')}——重启 MCP 会话即可更新(Claude Code 可用 /mcp 菜单 Reconnect)。${behaviorNote}`;
229
246
  }
230
247
  /**
231
248
  * 启动自检入口:读本地版本 → 查 registry @rc → 有更新则经 notify 提示。
@@ -1 +1 @@
1
- {"version":3,"file":"update-check.js","sourceRoot":"","sources":["../src/update-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,eAAe,GAAG,2BAA2B,CAAC;AACpD,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAC5C,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;AACtD,sCAAsC;AACtC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,kCAAkC;AAClC,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAqCvC,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,KAAK,GAAG,6CAA6C,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3E,CAAC,CAAC,IAAI,CAAC;IACT,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;AAClF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,4CAA4C;IAC5C,IAAI,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QACvC,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG;YAAE,OAAO,CAAC,CAAC;QAChC,OAAO,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,EAAE,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;QAC1C,IAAI,EAAE,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QACxB,0BAA0B;QAC1B,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,UAAU,qBAAqB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACxE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnE,OAAO,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG,CAAC;AACzD,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,mBAAmB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACtE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,mBAAmB,IAAI,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5F,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,YAAY,CAAC,YAAoB,EAAE,OAAe;IAChE,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E,gEAAgE;AAChE,SAAS,cAAc,CAAC,OAAe;IACrC,IAAI,CAAC;QACH,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAG1E,CAAC;gBACF,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;oBAAE,OAAO,GAAG,CAAC,OAAO,CAAC;YAC1F,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,MAAM,KAAK,GAAG;gBAAE,MAAM;YAC1B,GAAG,GAAG,MAAM,CAAC;QACf,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mBAAmB;IACrB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+CAA+C;AAC/C,SAAS,eAAe,CAAC,OAAe;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,aAAa,eAAe,CAA0B,CAAC;QAC7F,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,YAAoB,EACpB,OAAe,EACf,YAAoB,kBAAkB;IAEtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,IAAI,GAAG,CAAC,KAAoB,EAAE,EAAE;YACpC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CACvB,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,EACnC;gBACE,OAAO,EAAE;oBACP,MAAM,EAAE,qCAAqC;oBAC7C,YAAY,EAAE,GAAG,eAAe,eAAe;iBAChD;gBACD,OAAO,EAAE,SAAS;aACnB,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC3B,GAAG,CAAC,MAAM,EAAE,CAAC;oBACb,IAAI,CAAC,IAAI,CAAC,CAAC;oBACX,OAAO;gBACT,CAAC;gBACD,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC/B,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;oBACrB,IAAI,IAAI,GAAG,cAAc,EAAE,CAAC;wBAC1B,OAAO,CAAC,OAAO,EAAE,CAAC;wBAClB,IAAI,CAAC,IAAI,CAAC,CAAC;wBACX,OAAO;oBACT,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACjB,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAE5D,CAAC;wBACF,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;wBACxC,MAAM,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;wBAChC,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC7D,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBACjD,IAAI,SAAS,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;4BACzC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACnE,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;wBAC3B,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,IAAI,CAAC,IAAI,CAAC,CAAC;oBACb,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,CAAC,CACF,CAAC;YACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBACzB,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,8CAA8C;AAC9C,MAAM,UAAU,iBAAiB,CAC/B,KAAoB,EACpB,MAAsB;IAEtB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACxG,KAAK,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,MAAM,MAAM,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,MAAM,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,oDAAoD,CAAC;AAChF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAwB,EAAE;IAC7D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QACpC,IAAI,qBAAqB,CAAC,GAAG,CAAC;YAAE,OAAO;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAE3B,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC;QACvD,MAAM,OAAO,GACX,IAAI,CAAC,OAAO;YACZ,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QAE1E,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACpF,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;IAC3C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"update-check.js","sourceRoot":"","sources":["../src/update-check.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": "2.0.2",
3
+ "version": "2.1.0",
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
  "bin": {
@@ -10,7 +10,7 @@
10
10
  "build": "tsc -p tsconfig.build.json",
11
11
  "start": "node dist/bin/tapd-mcp-server.js",
12
12
  "dev": "tsx src/bin/tapd-mcp-server.ts",
13
- "test": "tsx src/update-check.test.ts",
13
+ "test": "tsx src/update-check.test.ts && tsx src/server.test.ts",
14
14
  "test:integration": "tsx src/integration-test.ts",
15
15
  "type-check": "tsc --noEmit"
16
16
  },
@@ -47,7 +47,7 @@
47
47
  ],
48
48
  "dependencies": {
49
49
  "@modelcontextprotocol/sdk": "^1.0.4",
50
- "@xihe-lab/tapd-core": "2.0.2",
50
+ "@xihe-lab/tapd-core": "2.1.0",
51
51
  "zod": "^3.25.76"
52
52
  },
53
53
  "packageManager": "pnpm@12.3.4",