mcp-probe-kit 1.7.0 → 1.8.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/build/index.js +112 -83
- package/build/tools/code_review.js +33 -0
- package/build/tools/convert.js +9 -0
- package/build/tools/debug.js +41 -0
- package/build/tools/design2code.js +9 -0
- package/build/tools/estimate.js +41 -9
- package/build/tools/explain.js +8 -0
- package/build/tools/fix_bug.js +44 -0
- package/build/tools/gen_skill.d.ts +16 -0
- package/build/tools/gen_skill.js +543 -0
- package/build/tools/genapi.js +10 -1
- package/build/tools/genchangelog.js +9 -1
- package/build/tools/gendoc.js +9 -0
- package/build/tools/genpr.js +8 -0
- package/build/tools/gentest.js +9 -0
- package/build/tools/genui.js +9 -0
- package/build/tools/index.d.ts +1 -0
- package/build/tools/index.js +1 -0
- package/build/tools/perf.js +37 -0
- package/build/tools/refactor.js +9 -0
- package/build/tools/security_scan.js +35 -9
- package/build/tools/split.js +9 -0
- package/package.json +2 -2
package/build/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
5
|
-
import { detectShell, initSetting, initProject, gencommit, debug, genapi, codeReview, gentest, genpr, checkDeps, gendoc, genchangelog, refactor, perf, fix, gensql, resolveConflict, genui, explain, convert, cssOrder, genreadme, split, analyzeProject, initProjectContext, addFeature, securityScan, fixBug, estimate, genMock, design2code, startFeature, startBugfix, startReview, startRelease, startRefactor, startOnboard, startApi, startDoc } from "./tools/index.js";
|
|
5
|
+
import { detectShell, initSetting, initProject, gencommit, debug, genapi, codeReview, gentest, genpr, checkDeps, gendoc, genchangelog, refactor, perf, fix, gensql, resolveConflict, genui, explain, convert, cssOrder, genreadme, split, analyzeProject, initProjectContext, addFeature, securityScan, fixBug, estimate, genMock, design2code, startFeature, startBugfix, startReview, startRelease, startRefactor, startOnboard, startApi, startDoc, genSkill } from "./tools/index.js";
|
|
6
6
|
import { VERSION, NAME } from "./version.js";
|
|
7
7
|
// 创建MCP服务器实例
|
|
8
8
|
const server = new Server({
|
|
@@ -20,7 +20,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
20
20
|
tools: [
|
|
21
21
|
{
|
|
22
22
|
name: "detect_shell",
|
|
23
|
-
description: "
|
|
23
|
+
description: "检测 AI 应用环境指纹,识别是否为套壳产品;返回 JSON 检测报告;仅基于环境指纹判断,不做法律/归因结论",
|
|
24
24
|
inputSchema: {
|
|
25
25
|
type: "object",
|
|
26
26
|
properties: {
|
|
@@ -38,7 +38,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
name: "init_setting",
|
|
41
|
-
description: "
|
|
41
|
+
description: "初始化 Cursor IDE 配置,写入推荐的 AI 设置到 .cursor/settings.json",
|
|
42
42
|
inputSchema: {
|
|
43
43
|
type: "object",
|
|
44
44
|
properties: {
|
|
@@ -52,7 +52,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
54
|
name: "init_project",
|
|
55
|
-
description: "
|
|
55
|
+
description: "创建新项目结构和任务分解,按 Spec-Driven Development 方式生成需求/设计/任务文档",
|
|
56
56
|
inputSchema: {
|
|
57
57
|
type: "object",
|
|
58
58
|
properties: {
|
|
@@ -70,7 +70,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
72
|
name: "gencommit",
|
|
73
|
-
description: "
|
|
73
|
+
description: "分析代码变更生成 Git commit 消息,支持 Conventional Commits 和 emoji;输出文本,不执行提交",
|
|
74
74
|
inputSchema: {
|
|
75
75
|
type: "object",
|
|
76
76
|
properties: {
|
|
@@ -88,17 +88,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
name: "debug",
|
|
91
|
-
description: "
|
|
91
|
+
description: "分析错误信息和堆栈,定位问题根因,输出调试策略和解决方案;仅分析定位,不修复代码",
|
|
92
92
|
inputSchema: {
|
|
93
93
|
type: "object",
|
|
94
94
|
properties: {
|
|
95
95
|
error: {
|
|
96
96
|
type: "string",
|
|
97
|
-
description: "
|
|
97
|
+
description: "完整错误信息,包含错误消息、堆栈跟踪、触发位置",
|
|
98
98
|
},
|
|
99
99
|
context: {
|
|
100
100
|
type: "string",
|
|
101
|
-
description: "
|
|
101
|
+
description: "相关代码片段、复现步骤或运行环境描述",
|
|
102
102
|
},
|
|
103
103
|
},
|
|
104
104
|
required: [],
|
|
@@ -106,13 +106,13 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
108
|
name: "genapi",
|
|
109
|
-
description: "
|
|
109
|
+
description: "生成 API 文档(Markdown/OpenAPI/JSDoc),包含参数说明与示例;基于现有接口定义/路由/注释推断;输出文本,不修改业务代码",
|
|
110
110
|
inputSchema: {
|
|
111
111
|
type: "object",
|
|
112
112
|
properties: {
|
|
113
113
|
code: {
|
|
114
114
|
type: "string",
|
|
115
|
-
description: "
|
|
115
|
+
description: "API 代码(路由定义/Controller/接口函数),包含参数类型和返回值",
|
|
116
116
|
},
|
|
117
117
|
format: {
|
|
118
118
|
type: "string",
|
|
@@ -124,13 +124,13 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
126
|
name: "code_review",
|
|
127
|
-
description: "
|
|
127
|
+
description: "审查代码质量、安全性、性能,输出结构化问题清单(severity/category/file/line/suggestion);仅分析,不自动修改代码",
|
|
128
128
|
inputSchema: {
|
|
129
129
|
type: "object",
|
|
130
130
|
properties: {
|
|
131
131
|
code: {
|
|
132
132
|
type: "string",
|
|
133
|
-
description: "
|
|
133
|
+
description: "代码片段、文件完整内容或 git diff;支持多文件拼接",
|
|
134
134
|
},
|
|
135
135
|
focus: {
|
|
136
136
|
type: "string",
|
|
@@ -142,17 +142,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
142
142
|
},
|
|
143
143
|
{
|
|
144
144
|
name: "gentest",
|
|
145
|
-
description: "
|
|
145
|
+
description: "生成单元测试代码(Jest/Vitest/Mocha),包含边界用例和 mock;默认跟随项目现有测试框架与语言;输出代码,不运行测试",
|
|
146
146
|
inputSchema: {
|
|
147
147
|
type: "object",
|
|
148
148
|
properties: {
|
|
149
149
|
code: {
|
|
150
150
|
type: "string",
|
|
151
|
-
description: "
|
|
151
|
+
description: "需要测试的代码(函数/类/模块),包含完整签名和依赖导入",
|
|
152
152
|
},
|
|
153
153
|
framework: {
|
|
154
154
|
type: "string",
|
|
155
|
-
description: "测试框架:jest, vitest, mocha
|
|
155
|
+
description: "测试框架:jest, vitest, mocha(默认跟随项目现有框架,若无法检测则 jest)",
|
|
156
156
|
},
|
|
157
157
|
},
|
|
158
158
|
required: [],
|
|
@@ -160,17 +160,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
160
160
|
},
|
|
161
161
|
{
|
|
162
162
|
name: "genpr",
|
|
163
|
-
description: "
|
|
163
|
+
description: "生成 Pull Request 描述,包含变更摘要、影响范围、测试说明;输出文本,不创建 PR",
|
|
164
164
|
inputSchema: {
|
|
165
165
|
type: "object",
|
|
166
166
|
properties: {
|
|
167
167
|
branch: {
|
|
168
168
|
type: "string",
|
|
169
|
-
description: "
|
|
169
|
+
description: "当前分支名称(如 feature/user-auth)",
|
|
170
170
|
},
|
|
171
171
|
commits: {
|
|
172
172
|
type: "string",
|
|
173
|
-
description: "Commit
|
|
173
|
+
description: "Commit 历史(git log 输出或 commit 消息列表)",
|
|
174
174
|
},
|
|
175
175
|
},
|
|
176
176
|
required: [],
|
|
@@ -178,7 +178,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
178
178
|
},
|
|
179
179
|
{
|
|
180
180
|
name: "check_deps",
|
|
181
|
-
description: "
|
|
181
|
+
description: "检查依赖健康度(版本过期/安全漏洞/体积),输出升级建议(含潜在 breaking 风险);仅分析,不自动升级",
|
|
182
182
|
inputSchema: {
|
|
183
183
|
type: "object",
|
|
184
184
|
properties: {},
|
|
@@ -187,13 +187,13 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
187
187
|
},
|
|
188
188
|
{
|
|
189
189
|
name: "gendoc",
|
|
190
|
-
description: "
|
|
190
|
+
description: "生成代码注释(JSDoc/TSDoc/Javadoc),补全参数/返回值/异常/示例;输出代码,不改变逻辑",
|
|
191
191
|
inputSchema: {
|
|
192
192
|
type: "object",
|
|
193
193
|
properties: {
|
|
194
194
|
code: {
|
|
195
195
|
type: "string",
|
|
196
|
-
description: "
|
|
196
|
+
description: "需要生成注释的代码(函数/类/模块),包含完整签名",
|
|
197
197
|
},
|
|
198
198
|
style: {
|
|
199
199
|
type: "string",
|
|
@@ -201,7 +201,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
201
201
|
},
|
|
202
202
|
lang: {
|
|
203
203
|
type: "string",
|
|
204
|
-
description: "
|
|
204
|
+
description: "注释语言:zh, en(默认 zh)",
|
|
205
205
|
},
|
|
206
206
|
},
|
|
207
207
|
required: [],
|
|
@@ -209,21 +209,21 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
209
209
|
},
|
|
210
210
|
{
|
|
211
211
|
name: "genchangelog",
|
|
212
|
-
description: "
|
|
212
|
+
description: "根据 commit 历史生成 CHANGELOG,按 feat/fix/breaking 分类;输出文本,不打 tag",
|
|
213
213
|
inputSchema: {
|
|
214
214
|
type: "object",
|
|
215
215
|
properties: {
|
|
216
216
|
version: {
|
|
217
217
|
type: "string",
|
|
218
|
-
description: "
|
|
218
|
+
description: "版本号(如 v1.2.0)",
|
|
219
219
|
},
|
|
220
220
|
from: {
|
|
221
221
|
type: "string",
|
|
222
|
-
description: "起始 commit
|
|
222
|
+
description: "起始 commit hash 或 tag(如 v1.0.0 或 abc1234)",
|
|
223
223
|
},
|
|
224
224
|
to: {
|
|
225
225
|
type: "string",
|
|
226
|
-
description: "结束 commit
|
|
226
|
+
description: "结束 commit hash 或 tag(默认 HEAD)",
|
|
227
227
|
},
|
|
228
228
|
},
|
|
229
229
|
required: [],
|
|
@@ -231,17 +231,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
231
231
|
},
|
|
232
232
|
{
|
|
233
233
|
name: "refactor",
|
|
234
|
-
description: "
|
|
234
|
+
description: "分析代码结构提供重构建议,输出重构步骤和风险评估;仅建议,不自动重构",
|
|
235
235
|
inputSchema: {
|
|
236
236
|
type: "object",
|
|
237
237
|
properties: {
|
|
238
238
|
code: {
|
|
239
239
|
type: "string",
|
|
240
|
-
description: "
|
|
240
|
+
description: "需要重构的代码,包含完整上下文和依赖关系",
|
|
241
241
|
},
|
|
242
242
|
goal: {
|
|
243
243
|
type: "string",
|
|
244
|
-
description: "重构目标:improve_readability, reduce_complexity, extract_function
|
|
244
|
+
description: "重构目标:improve_readability, reduce_complexity, extract_function, extract_class, remove_duplication, simplify_conditionals, improve_naming",
|
|
245
245
|
},
|
|
246
246
|
},
|
|
247
247
|
required: [],
|
|
@@ -249,13 +249,13 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
249
249
|
},
|
|
250
250
|
{
|
|
251
251
|
name: "perf",
|
|
252
|
-
description: "
|
|
252
|
+
description: "分析性能瓶颈(算法/内存/数据库/React渲染),输出结构化瓶颈清单(evidence/fix/impact);如需全面审查请用 start_review",
|
|
253
253
|
inputSchema: {
|
|
254
254
|
type: "object",
|
|
255
255
|
properties: {
|
|
256
256
|
code: {
|
|
257
257
|
type: "string",
|
|
258
|
-
description: "
|
|
258
|
+
description: "需要性能分析的代码,包含循环、数据库查询、渲染逻辑等关键路径",
|
|
259
259
|
},
|
|
260
260
|
type: {
|
|
261
261
|
type: "string",
|
|
@@ -267,7 +267,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
267
267
|
},
|
|
268
268
|
{
|
|
269
269
|
name: "fix",
|
|
270
|
-
description: "
|
|
270
|
+
description: "自动修复可机械化问题(Lint/TS/格式化/导入/未使用变量),输出补丁(unified diff);不做业务逻辑改动",
|
|
271
271
|
inputSchema: {
|
|
272
272
|
type: "object",
|
|
273
273
|
properties: {
|
|
@@ -285,13 +285,13 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
285
285
|
},
|
|
286
286
|
{
|
|
287
287
|
name: "gensql",
|
|
288
|
-
description: "
|
|
288
|
+
description: "根据自然语言生成 SQL 语句(PostgreSQL/MySQL/SQLite);输出文本,不执行查询",
|
|
289
289
|
inputSchema: {
|
|
290
290
|
type: "object",
|
|
291
291
|
properties: {
|
|
292
292
|
description: {
|
|
293
293
|
type: "string",
|
|
294
|
-
description: "
|
|
294
|
+
description: "查询需求的自然语言描述,包含表名、字段、条件、排序等要求",
|
|
295
295
|
},
|
|
296
296
|
dialect: {
|
|
297
297
|
type: "string",
|
|
@@ -303,13 +303,13 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
303
303
|
},
|
|
304
304
|
{
|
|
305
305
|
name: "resolve_conflict",
|
|
306
|
-
description: "
|
|
306
|
+
description: "分析 Git 合并冲突,理解双方意图,输出补丁(unified diff);需人工确认后应用",
|
|
307
307
|
inputSchema: {
|
|
308
308
|
type: "object",
|
|
309
309
|
properties: {
|
|
310
310
|
conflicts: {
|
|
311
311
|
type: "string",
|
|
312
|
-
description: "
|
|
312
|
+
description: "冲突文件内容(包含 <<<<<<< ======= >>>>>>> 标记)或 git diff 输出",
|
|
313
313
|
},
|
|
314
314
|
},
|
|
315
315
|
required: [],
|
|
@@ -317,17 +317,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
317
317
|
},
|
|
318
318
|
{
|
|
319
319
|
name: "genui",
|
|
320
|
-
description: "
|
|
320
|
+
description: "生成 UI 组件代码(React/Vue/HTML),包含 Props 和样式;默认跟随项目现有前端栈与组件风格;输出代码",
|
|
321
321
|
inputSchema: {
|
|
322
322
|
type: "object",
|
|
323
323
|
properties: {
|
|
324
324
|
description: {
|
|
325
325
|
type: "string",
|
|
326
|
-
description: "
|
|
326
|
+
description: "组件功能描述,包含交互行为、状态、样式要求",
|
|
327
327
|
},
|
|
328
328
|
framework: {
|
|
329
329
|
type: "string",
|
|
330
|
-
description: "框架:react, vue, html
|
|
330
|
+
description: "框架:react, vue, html(默认跟随项目现有框架,若无法检测则 react)",
|
|
331
331
|
},
|
|
332
332
|
},
|
|
333
333
|
required: [],
|
|
@@ -335,17 +335,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
335
335
|
},
|
|
336
336
|
{
|
|
337
337
|
name: "explain",
|
|
338
|
-
description: "
|
|
338
|
+
description: "解释代码逻辑和实现原理,包含执行流程、关键概念;输出文本,不修改代码",
|
|
339
339
|
inputSchema: {
|
|
340
340
|
type: "object",
|
|
341
341
|
properties: {
|
|
342
342
|
code: {
|
|
343
343
|
type: "string",
|
|
344
|
-
description: "
|
|
344
|
+
description: "需要解释的代码片段,包含必要的上下文(导入、类型定义)",
|
|
345
345
|
},
|
|
346
346
|
context: {
|
|
347
347
|
type: "string",
|
|
348
|
-
description: "
|
|
348
|
+
description: "补充说明(如业务背景、技术栈、想了解的重点)",
|
|
349
349
|
},
|
|
350
350
|
},
|
|
351
351
|
required: [],
|
|
@@ -353,21 +353,21 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
353
353
|
},
|
|
354
354
|
{
|
|
355
355
|
name: "convert",
|
|
356
|
-
description: "
|
|
356
|
+
description: "转换代码格式或框架(JS→TS/Class→Hooks/Vue2→Vue3),保持逻辑不变;输出代码",
|
|
357
357
|
inputSchema: {
|
|
358
358
|
type: "object",
|
|
359
359
|
properties: {
|
|
360
360
|
code: {
|
|
361
361
|
type: "string",
|
|
362
|
-
description: "
|
|
362
|
+
description: "源代码,包含完整的导入和类型定义",
|
|
363
363
|
},
|
|
364
364
|
from: {
|
|
365
365
|
type: "string",
|
|
366
|
-
description: "
|
|
366
|
+
description: "源格式/框架(如 js, ts, vue2, vue3, class, hooks, options-api, composition-api)",
|
|
367
367
|
},
|
|
368
368
|
to: {
|
|
369
369
|
type: "string",
|
|
370
|
-
description: "
|
|
370
|
+
description: "目标格式/框架(如 js, ts, vue2, vue3, class, hooks, options-api, composition-api)",
|
|
371
371
|
},
|
|
372
372
|
},
|
|
373
373
|
required: [],
|
|
@@ -375,7 +375,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
375
375
|
},
|
|
376
376
|
{
|
|
377
377
|
name: "css_order",
|
|
378
|
-
description: "
|
|
378
|
+
description: "重排 CSS 属性顺序,按布局→盒模型→视觉→其他规则整理;输出文本",
|
|
379
379
|
inputSchema: {
|
|
380
380
|
type: "object",
|
|
381
381
|
properties: {},
|
|
@@ -384,7 +384,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
384
384
|
},
|
|
385
385
|
{
|
|
386
386
|
name: "genreadme",
|
|
387
|
-
description: "
|
|
387
|
+
description: "生成 README(介绍/安装/使用/脚本/FAQ);输出文本;如需 OpenAPI 请用 genapi 或 start_doc",
|
|
388
388
|
inputSchema: {
|
|
389
389
|
type: "object",
|
|
390
390
|
properties: {
|
|
@@ -402,13 +402,13 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
402
402
|
},
|
|
403
403
|
{
|
|
404
404
|
name: "split",
|
|
405
|
-
description: "
|
|
405
|
+
description: "拆分大文件为小模块,按类型/功能/组件策略拆分;尽量保持对外导出与行为不变;输出代码",
|
|
406
406
|
inputSchema: {
|
|
407
407
|
type: "object",
|
|
408
408
|
properties: {
|
|
409
409
|
file: {
|
|
410
410
|
type: "string",
|
|
411
|
-
description: "
|
|
411
|
+
description: "文件完整内容(推荐)或相对路径;内容需包含所有导入导出",
|
|
412
412
|
},
|
|
413
413
|
strategy: {
|
|
414
414
|
type: "string",
|
|
@@ -420,7 +420,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
420
420
|
},
|
|
421
421
|
{
|
|
422
422
|
name: "analyze_project",
|
|
423
|
-
description: "
|
|
423
|
+
description: "分析项目结构、技术栈、架构模式,输出项目全景报告;如需生成上下文文档请用 init_project_context",
|
|
424
424
|
inputSchema: {
|
|
425
425
|
type: "object",
|
|
426
426
|
properties: {
|
|
@@ -442,7 +442,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
442
442
|
},
|
|
443
443
|
{
|
|
444
444
|
name: "init_project_context",
|
|
445
|
-
description: "
|
|
445
|
+
description: "生成项目上下文文档(技术栈/架构/编码规范),供后续开发参考;如需分析项目请先用 analyze_project",
|
|
446
446
|
inputSchema: {
|
|
447
447
|
type: "object",
|
|
448
448
|
properties: {
|
|
@@ -456,7 +456,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
456
456
|
},
|
|
457
457
|
{
|
|
458
458
|
name: "add_feature",
|
|
459
|
-
description: "
|
|
459
|
+
description: "生成新功能规格文档(需求/设计/任务清单),基于项目上下文;如需完整流程请用 start_feature",
|
|
460
460
|
inputSchema: {
|
|
461
461
|
type: "object",
|
|
462
462
|
properties: {
|
|
@@ -478,13 +478,13 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
478
478
|
},
|
|
479
479
|
{
|
|
480
480
|
name: "security_scan",
|
|
481
|
-
description: "
|
|
481
|
+
description: "专项安全漏洞扫描(注入/认证/加密/敏感数据),输出结构化风险清单(severity/type/location/fix);如需全面审查请用 start_review",
|
|
482
482
|
inputSchema: {
|
|
483
483
|
type: "object",
|
|
484
484
|
properties: {
|
|
485
485
|
code: {
|
|
486
486
|
type: "string",
|
|
487
|
-
description: "
|
|
487
|
+
description: "需要扫描的代码,包含完整上下文(导入、配置、数据库操作等)",
|
|
488
488
|
},
|
|
489
489
|
language: {
|
|
490
490
|
type: "string",
|
|
@@ -500,29 +500,29 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
500
500
|
},
|
|
501
501
|
{
|
|
502
502
|
name: "fix_bug",
|
|
503
|
-
description: "
|
|
503
|
+
description: "指导 Bug 修复流程,输出根因分析+修复方案+验证步骤;不保证自动修改代码,如要自动改可配合 fix",
|
|
504
504
|
inputSchema: {
|
|
505
505
|
type: "object",
|
|
506
506
|
properties: {
|
|
507
507
|
error_message: {
|
|
508
508
|
type: "string",
|
|
509
|
-
description: "
|
|
509
|
+
description: "完整错误消息,包含错误类型和描述",
|
|
510
510
|
},
|
|
511
511
|
stack_trace: {
|
|
512
512
|
type: "string",
|
|
513
|
-
description: "
|
|
513
|
+
description: "完整调用栈,包含文件路径和行号",
|
|
514
514
|
},
|
|
515
515
|
steps_to_reproduce: {
|
|
516
516
|
type: "string",
|
|
517
|
-
description: "
|
|
517
|
+
description: "复现步骤(操作序列或测试用例)",
|
|
518
518
|
},
|
|
519
519
|
expected_behavior: {
|
|
520
520
|
type: "string",
|
|
521
|
-
description: "
|
|
521
|
+
description: "期望行为(正确的输出或状态)",
|
|
522
522
|
},
|
|
523
523
|
actual_behavior: {
|
|
524
524
|
type: "string",
|
|
525
|
-
description: "
|
|
525
|
+
description: "实际行为(错误的输出或状态)",
|
|
526
526
|
},
|
|
527
527
|
},
|
|
528
528
|
required: ["error_message"],
|
|
@@ -530,17 +530,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
530
530
|
},
|
|
531
531
|
{
|
|
532
532
|
name: "estimate",
|
|
533
|
-
description: "
|
|
533
|
+
description: "估算开发工作量,输出故事点、时间范围(乐观/正常/悲观)、风险点;仅估算,不生成代码",
|
|
534
534
|
inputSchema: {
|
|
535
535
|
type: "object",
|
|
536
536
|
properties: {
|
|
537
537
|
task_description: {
|
|
538
538
|
type: "string",
|
|
539
|
-
description: "
|
|
539
|
+
description: "任务描述(功能需求、技术要求、验收标准)",
|
|
540
540
|
},
|
|
541
541
|
code_context: {
|
|
542
542
|
type: "string",
|
|
543
|
-
description: "
|
|
543
|
+
description: "相关代码、现有实现或架构文档,用于评估复杂度",
|
|
544
544
|
},
|
|
545
545
|
team_size: {
|
|
546
546
|
type: "number",
|
|
@@ -556,13 +556,13 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
556
556
|
},
|
|
557
557
|
{
|
|
558
558
|
name: "gen_mock",
|
|
559
|
-
description: "
|
|
559
|
+
description: "根据 TypeScript 类型或 JSON Schema 生成 Mock 数据;输出文本,不写入数据库",
|
|
560
560
|
inputSchema: {
|
|
561
561
|
type: "object",
|
|
562
562
|
properties: {
|
|
563
563
|
schema: {
|
|
564
564
|
type: "string",
|
|
565
|
-
description: "数据结构定义(TypeScript interface 或 JSON Schema
|
|
565
|
+
description: "数据结构定义(TypeScript interface 或 JSON Schema),字段名应有语义便于生成真实数据",
|
|
566
566
|
},
|
|
567
567
|
count: {
|
|
568
568
|
type: "number",
|
|
@@ -578,7 +578,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
578
578
|
},
|
|
579
579
|
seed: {
|
|
580
580
|
type: "number",
|
|
581
|
-
description: "
|
|
581
|
+
description: "随机种子(用于可重复生成,相同种子产生相同数据)",
|
|
582
582
|
},
|
|
583
583
|
},
|
|
584
584
|
required: ["schema"],
|
|
@@ -586,17 +586,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
586
586
|
},
|
|
587
587
|
{
|
|
588
588
|
name: "design2code",
|
|
589
|
-
description: "
|
|
589
|
+
description: "设计稿转代码(图片URL/描述/HTML→Vue/React),1:1 还原布局和样式;默认输出与项目一致的框架与样式方案;输出代码",
|
|
590
590
|
inputSchema: {
|
|
591
591
|
type: "object",
|
|
592
592
|
properties: {
|
|
593
593
|
input: {
|
|
594
594
|
type: "string",
|
|
595
|
-
description: "
|
|
595
|
+
description: "设计稿图片 URL、base64 编码图片、设计稿文字描述或 HTML 源码(三选一)",
|
|
596
596
|
},
|
|
597
597
|
framework: {
|
|
598
598
|
type: "string",
|
|
599
|
-
description: "目标框架:vue, react
|
|
599
|
+
description: "目标框架:vue, react(默认跟随项目现有框架,若无法检测则 vue)",
|
|
600
600
|
},
|
|
601
601
|
style_solution: {
|
|
602
602
|
type: "string",
|
|
@@ -604,7 +604,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
604
604
|
},
|
|
605
605
|
component_type: {
|
|
606
606
|
type: "string",
|
|
607
|
-
description: "组件类型:page
|
|
607
|
+
description: "组件类型:page(页面级), component(通用组件)(默认 page)",
|
|
608
608
|
},
|
|
609
609
|
},
|
|
610
610
|
required: ["input"],
|
|
@@ -613,7 +613,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
613
613
|
// ========== 智能编排工具 ==========
|
|
614
614
|
{
|
|
615
615
|
name: "start_feature",
|
|
616
|
-
description: "
|
|
616
|
+
description: "新功能开发编排:检查上下文→生成规格→估算工作量;若只需规格文档请用 add_feature",
|
|
617
617
|
inputSchema: {
|
|
618
618
|
type: "object",
|
|
619
619
|
properties: {
|
|
@@ -635,7 +635,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
635
635
|
},
|
|
636
636
|
{
|
|
637
637
|
name: "start_bugfix",
|
|
638
|
-
description: "
|
|
638
|
+
description: "Bug 修复编排:检查上下文→分析定位→修复方案→生成测试;若只需定位与调试策略请用 debug;若只需修复流程指导请用 fix_bug",
|
|
639
639
|
inputSchema: {
|
|
640
640
|
type: "object",
|
|
641
641
|
properties: {
|
|
@@ -653,17 +653,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
653
653
|
},
|
|
654
654
|
{
|
|
655
655
|
name: "start_review",
|
|
656
|
-
description: "
|
|
656
|
+
description: "代码全面体检:代码审查+安全扫描+性能分析,输出综合报告;若只需单项请用对应工具",
|
|
657
657
|
inputSchema: {
|
|
658
658
|
type: "object",
|
|
659
659
|
properties: {
|
|
660
660
|
code: {
|
|
661
661
|
type: "string",
|
|
662
|
-
description: "
|
|
662
|
+
description: "需要审查的代码,建议提供完整文件或模块以便全面分析",
|
|
663
663
|
},
|
|
664
664
|
language: {
|
|
665
665
|
type: "string",
|
|
666
|
-
description: "
|
|
666
|
+
description: "编程语言(默认自动检测)",
|
|
667
667
|
},
|
|
668
668
|
},
|
|
669
669
|
required: ["code"],
|
|
@@ -671,7 +671,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
671
671
|
},
|
|
672
672
|
{
|
|
673
673
|
name: "start_release",
|
|
674
|
-
description: "
|
|
674
|
+
description: "发布准备编排:生成 Changelog→生成 PR 描述;若只需单项请用 genchangelog 或 genpr",
|
|
675
675
|
inputSchema: {
|
|
676
676
|
type: "object",
|
|
677
677
|
properties: {
|
|
@@ -693,7 +693,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
693
693
|
},
|
|
694
694
|
{
|
|
695
695
|
name: "start_refactor",
|
|
696
|
-
description: "
|
|
696
|
+
description: "代码重构编排:审查现状→重构建议→生成测试;若只需建议请用 refactor",
|
|
697
697
|
inputSchema: {
|
|
698
698
|
type: "object",
|
|
699
699
|
properties: {
|
|
@@ -711,7 +711,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
711
711
|
},
|
|
712
712
|
{
|
|
713
713
|
name: "start_onboard",
|
|
714
|
-
description: "
|
|
714
|
+
description: "快速上手编排:分析项目→生成上下文文档;若只需分析请用 analyze_project",
|
|
715
715
|
inputSchema: {
|
|
716
716
|
type: "object",
|
|
717
717
|
properties: {
|
|
@@ -729,17 +729,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
729
729
|
},
|
|
730
730
|
{
|
|
731
731
|
name: "start_api",
|
|
732
|
-
description: "
|
|
732
|
+
description: "API 开发编排:生成文档→生成 Mock→生成测试;若只需单项请用对应生成工具",
|
|
733
733
|
inputSchema: {
|
|
734
734
|
type: "object",
|
|
735
735
|
properties: {
|
|
736
736
|
code: {
|
|
737
737
|
type: "string",
|
|
738
|
-
description: "API
|
|
738
|
+
description: "API 代码(路由/Controller/Service),包含完整的请求响应定义",
|
|
739
739
|
},
|
|
740
740
|
language: {
|
|
741
741
|
type: "string",
|
|
742
|
-
description: "
|
|
742
|
+
description: "编程语言(默认自动检测)",
|
|
743
743
|
},
|
|
744
744
|
format: {
|
|
745
745
|
type: "string",
|
|
@@ -751,7 +751,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
751
751
|
},
|
|
752
752
|
{
|
|
753
753
|
name: "start_doc",
|
|
754
|
-
description: "
|
|
754
|
+
description: "文档补全编排:注释→README→API 文档;若只需单项文档请用对应生成工具",
|
|
755
755
|
inputSchema: {
|
|
756
756
|
type: "object",
|
|
757
757
|
properties: {
|
|
@@ -771,6 +771,32 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
771
771
|
required: ["code"],
|
|
772
772
|
},
|
|
773
773
|
},
|
|
774
|
+
{
|
|
775
|
+
name: "gen_skill",
|
|
776
|
+
description: "生成 Agent Skills 文档,为 MCP Probe Kit 工具生成符合开放标准的技能文档;输出到 skills/ 目录,用户可自行修改扩展",
|
|
777
|
+
inputSchema: {
|
|
778
|
+
type: "object",
|
|
779
|
+
properties: {
|
|
780
|
+
scope: {
|
|
781
|
+
type: "string",
|
|
782
|
+
description: "生成范围:all(全部), basic, generation, analysis, refactoring, workflow, context, orchestration(默认 all)",
|
|
783
|
+
},
|
|
784
|
+
tool_name: {
|
|
785
|
+
type: "string",
|
|
786
|
+
description: "指定单个工具名称(如 code_review),优先级高于 scope",
|
|
787
|
+
},
|
|
788
|
+
output_dir: {
|
|
789
|
+
type: "string",
|
|
790
|
+
description: "输出目录(默认 skills)",
|
|
791
|
+
},
|
|
792
|
+
lang: {
|
|
793
|
+
type: "string",
|
|
794
|
+
description: "文档语言:zh, en(默认 zh)",
|
|
795
|
+
},
|
|
796
|
+
},
|
|
797
|
+
required: [],
|
|
798
|
+
},
|
|
799
|
+
},
|
|
774
800
|
],
|
|
775
801
|
};
|
|
776
802
|
});
|
|
@@ -858,6 +884,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
858
884
|
return await startApi(args);
|
|
859
885
|
case "start_doc":
|
|
860
886
|
return await startDoc(args);
|
|
887
|
+
case "gen_skill":
|
|
888
|
+
return await genSkill(args);
|
|
861
889
|
default:
|
|
862
890
|
throw new Error(`未知工具: ${name}`);
|
|
863
891
|
}
|
|
@@ -946,6 +974,7 @@ server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
|
|
|
946
974
|
start_onboard: "enabled",
|
|
947
975
|
start_api: "enabled",
|
|
948
976
|
start_doc: "enabled",
|
|
977
|
+
gen_skill: "enabled",
|
|
949
978
|
},
|
|
950
979
|
}, null, 2),
|
|
951
980
|
},
|