mcp-probe-kit 1.15.1 → 2.0.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 +113 -1642
- package/build/index.js +75 -42
- package/build/lib/elicitation-helper.d.ts +73 -0
- package/build/lib/elicitation-helper.js +130 -0
- package/build/lib/response.d.ts +32 -0
- package/build/lib/response.js +28 -0
- package/build/lib/tasks-manager.d.ts +116 -0
- package/build/lib/tasks-manager.js +217 -0
- package/build/lib/toolset-manager.d.ts +48 -0
- package/build/lib/toolset-manager.js +112 -0
- package/build/schemas/basic-tools.d.ts +0 -32
- package/build/schemas/basic-tools.js +0 -34
- package/build/schemas/code-analysis-tools.d.ts +0 -36
- package/build/schemas/code-analysis-tools.js +0 -38
- package/build/schemas/code-gen-tools.d.ts +0 -44
- package/build/schemas/code-gen-tools.js +0 -46
- package/build/schemas/doc-util-tools.d.ts +0 -54
- package/build/schemas/doc-util-tools.js +0 -58
- package/build/schemas/index.d.ts +0 -188
- package/build/schemas/orchestration-tools.d.ts +0 -22
- package/build/schemas/orchestration-tools.js +0 -23
- package/build/schemas/output/core-tools.d.ts +817 -0
- package/build/schemas/output/core-tools.js +421 -0
- package/build/schemas/output/generation-tools.d.ts +936 -0
- package/build/schemas/output/generation-tools.js +446 -0
- package/build/schemas/output/helper-tools.d.ts +243 -0
- package/build/schemas/output/helper-tools.js +138 -0
- package/build/schemas/output/index.d.ts +76 -0
- package/build/schemas/output/index.js +96 -0
- package/build/schemas/output/project-tools.d.ts +702 -0
- package/build/schemas/output/project-tools.js +339 -0
- package/build/schemas/output/ui-ux-tools.d.ts +469 -0
- package/build/schemas/output/ui-ux-tools.js +218 -0
- package/build/schemas/output/workflow-tools.d.ts +267 -0
- package/build/schemas/output/workflow-tools.js +179 -0
- package/build/schemas/structured-output.d.ts +1317 -0
- package/build/schemas/structured-output.js +1017 -0
- package/build/tools/__tests__/start_ui.integration.test.js +5 -5
- package/build/tools/__tests__/start_ui.property.test.js +11 -11
- package/build/tools/add_feature.d.ts +1 -13
- package/build/tools/add_feature.js +48 -13
- package/build/tools/analyze_project.js +57 -18
- package/build/tools/check_deps.d.ts +1 -13
- package/build/tools/check_deps.js +24 -15
- package/build/tools/code_review.d.ts +1 -13
- package/build/tools/code_review.js +19 -16
- package/build/tools/debug.d.ts +1 -13
- package/build/tools/debug.js +18 -16
- package/build/tools/estimate.d.ts +1 -19
- package/build/tools/estimate.js +36 -6
- package/build/tools/fix_bug.d.ts +1 -13
- package/build/tools/fix_bug.js +24 -6
- package/build/tools/gen_mock.d.ts +1 -19
- package/build/tools/gen_mock.js +42 -227
- package/build/tools/genapi.d.ts +1 -13
- package/build/tools/genapi.js +18 -15
- package/build/tools/genchangelog.d.ts +1 -13
- package/build/tools/genchangelog.js +36 -212
- package/build/tools/gencommit.d.ts +1 -7
- package/build/tools/gencommit.js +21 -13
- package/build/tools/gendoc.d.ts +1 -13
- package/build/tools/gendoc.js +18 -15
- package/build/tools/genpr.d.ts +1 -13
- package/build/tools/genpr.js +28 -157
- package/build/tools/genreadme.d.ts +1 -13
- package/build/tools/genreadme.js +22 -587
- package/build/tools/gensql.d.ts +1 -13
- package/build/tools/gensql.js +24 -283
- package/build/tools/gentest.d.ts +1 -13
- package/build/tools/gentest.js +49 -16
- package/build/tools/index.d.ts +0 -10
- package/build/tools/index.js +0 -10
- package/build/tools/init_component_catalog.d.ts +3 -20
- package/build/tools/init_component_catalog.js +141 -786
- package/build/tools/init_project.d.ts +7 -13
- package/build/tools/init_project.js +54 -16
- package/build/tools/init_project_context.d.ts +1 -13
- package/build/tools/init_project_context.js +41 -14
- package/build/tools/perf.d.ts +1 -13
- package/build/tools/perf.js +18 -15
- package/build/tools/refactor.d.ts +1 -13
- package/build/tools/refactor.js +54 -15
- package/build/tools/render_ui.d.ts +2 -19
- package/build/tools/render_ui.js +201 -347
- package/build/tools/resolve_conflict.d.ts +1 -13
- package/build/tools/resolve_conflict.js +18 -15
- package/build/tools/security_scan.d.ts +1 -13
- package/build/tools/security_scan.js +16 -5
- package/build/tools/start_api.d.ts +7 -13
- package/build/tools/start_api.js +69 -157
- package/build/tools/start_bugfix.d.ts +1 -7
- package/build/tools/start_bugfix.js +38 -2
- package/build/tools/start_doc.d.ts +7 -13
- package/build/tools/start_doc.js +76 -169
- package/build/tools/start_feature.d.ts +1 -7
- package/build/tools/start_feature.js +54 -2
- package/build/tools/start_onboard.d.ts +1 -7
- package/build/tools/start_onboard.js +40 -2
- package/build/tools/start_ralph.d.ts +1 -7
- package/build/tools/start_ralph.js +88 -2
- package/build/tools/start_refactor.d.ts +7 -13
- package/build/tools/start_refactor.js +75 -148
- package/build/tools/start_release.d.ts +7 -13
- package/build/tools/start_release.js +56 -131
- package/build/tools/start_review.d.ts +7 -13
- package/build/tools/start_review.js +70 -142
- package/build/tools/start_ui.d.ts +1 -7
- package/build/tools/start_ui.js +98 -8
- package/build/tools/ui-ux-tools.d.ts +3 -39
- package/build/tools/ui-ux-tools.js +201 -125
- package/docs/data/tools.js +864 -0
- package/docs/index.html +594 -0
- package/docs/pages/all-tools.html +649 -0
- package/docs/pages/examples.html +564 -0
- package/docs/pages/getting-started.html +529 -0
- package/docs/pages/migration.html +308 -0
- package/docs/specs/algorithm-enhancement/roadmap.md +619 -0
- package/docs/specs/vnext-upgrade/00-OVERVIEW.md +258 -0
- package/docs/specs/vnext-upgrade/BETA_RELEASE_GUIDE.md +328 -0
- package/docs/specs/vnext-upgrade/GITHUB_DISCUSSION_TEMPLATE.md +236 -0
- package/docs/specs/vnext-upgrade/M8.9-PROGRESS-UPDATE.md +248 -0
- package/docs/specs/vnext-upgrade/PROGRESS-SUMMARY.md +195 -0
- package/docs/specs/vnext-upgrade/QUICK_REFERENCE.md +338 -0
- package/docs/specs/vnext-upgrade/README.md +125 -0
- package/docs/specs/vnext-upgrade/STATUS-UPDATE-2026-01-26.md +230 -0
- package/docs/specs/vnext-upgrade/TOOL_CLEANUP.md +343 -0
- package/docs/specs/vnext-upgrade/completed/M1-M2-SUMMARY.md +27 -0
- package/docs/specs/vnext-upgrade/completed/M3_COMPLETION_SUMMARY.md +273 -0
- package/docs/specs/vnext-upgrade/completed/M4-SUMMARY.md +19 -0
- package/docs/specs/vnext-upgrade/completed/M5_COMPLETION_SUMMARY.md +0 -0
- package/docs/specs/vnext-upgrade/completed/M8.1-SUMMARY.md +247 -0
- package/docs/specs/vnext-upgrade/completed/M8.2-SUMMARY.md +296 -0
- package/docs/specs/vnext-upgrade/completed/M8.3-SUMMARY.md +241 -0
- package/docs/specs/vnext-upgrade/completed/M8.3-TEST-SUMMARY.md +216 -0
- package/docs/specs/vnext-upgrade/completed/M8.4-SUMMARY.md +217 -0
- package/docs/specs/vnext-upgrade/completed/M8.4-TEST-SUMMARY.md +198 -0
- package/docs/specs/vnext-upgrade/completed/M8.5-SUMMARY.md +202 -0
- package/docs/specs/vnext-upgrade/completed/M8.5-TEST-SUMMARY.md +223 -0
- package/docs/specs/vnext-upgrade/completed/M8.6-SUMMARY.md +299 -0
- package/docs/specs/vnext-upgrade/completed/M8.8-TEST-SUMMARY.md +216 -0
- package/docs/specs/vnext-upgrade/completed/TOOL-CLEANUP-SUMMARY.md +210 -0
- package/docs/specs/vnext-upgrade/design.md +848 -0
- package/docs/specs/vnext-upgrade/requirements.md +221 -0
- package/docs/specs/vnext-upgrade/tasks/00-INDEX.md +335 -0
- package/docs/specs/vnext-upgrade/tasks/M8.1-SCHEMA-DEFINITION.md +300 -0
- package/docs/specs/vnext-upgrade/tasks/M8.2-P1-TOOLS.md +249 -0
- package/docs/specs/vnext-upgrade/tasks/M8.3-GENERATION-TOOLS.md +49 -0
- package/docs/specs/vnext-upgrade/tasks/M8.4-ORCHESTRATION-TOOLS.md +28 -0
- package/docs/specs/vnext-upgrade/tasks/M8.5-PROJECT-TOOLS.md +29 -0
- package/docs/specs/vnext-upgrade/tasks/M8.6-UI-TOOLS.md +66 -0
- package/docs/specs/vnext-upgrade/tasks/M8.7-HELPER-TOOLS.md +24 -0
- package/docs/specs/vnext-upgrade/tasks/M8.8-INTEGRATION-TESTS.md +90 -0
- package/docs/specs/vnext-upgrade/tasks/M8.9-DOCUMENTATION.md +103 -0
- package/docs/styles/docs.css +556 -0
- package/docs/styles/page.css +815 -0
- package/docs/vnext/MCP_2025-11-25_GUIDE.md +276 -0
- package/docs/vnext/vNext-PRD.md +488 -0
- package/package.json +6 -6
- package/docs/BEST_PRACTICES.md +0 -1185
- package/docs/HOW_TO_TRIGGER.md +0 -1141
- package/docs/MCP-Probe-Kit-/344/275/277/347/224/250/346/211/213/345/206/214.html +0 -544
- package/docs/MCP-Probe-Kit-/344/275/277/347/224/250/346/211/213/345/206/214.md +0 -1447
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
# MCP 2025-11-25 新特性开发者指南(面向 AI 编程增强场景)
|
|
2
|
+
|
|
3
|
+
> 目标:让 MCP Server 输出更可控、更可编排、更适合长流程(UI 开发/多轮 Loop/上手项目/修 bug/做 feature),减少“模型胡编 + 工具输出难解析 + 长任务卡死”。
|
|
4
|
+
> 协议版本:`2025-11-25 (latest)`。该版本引入 **Tasks(实验性)**、**Elicitation URL 模式**、**工具元数据(icons/title)**、**更完善的结构化输出约束** 等关键能力。([Model Context Protocol][1])
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1) 这版 MCP 为什么能让 AI 编程更聪明?
|
|
9
|
+
|
|
10
|
+
### A. 工具输出“可被机器校验”,AI 更不容易跑偏
|
|
11
|
+
|
|
12
|
+
* `tools/list` 可以给每个工具提供 `outputSchema`,并在 `tools/call` 返回里提供 `structuredContent`,客户端可按 schema 校验;这会显著降低“工具返回一坨自然语言导致 AI 误解”的概率。([Model Context Protocol][2])
|
|
13
|
+
|
|
14
|
+
### B. 长流程不再必须“一口气跑完”:Tasks 支持可轮询、可取结果、可取消
|
|
15
|
+
|
|
16
|
+
* `2025-11-25` 新增 **Tasks(实验性)**:请求方(requestor)可以把请求“任务化”,接收方(receiver)先回一个 `CreateTaskResult`(含 `taskId/status/pollInterval`),真正结果稍后通过 `tasks/result` 取回;也可以 `tasks/cancel`。特别适合你 `start_ralph / start_ui / start_feature / start_bugfix / start_onboard` 这种长链路编排。([Model Context Protocol][3])
|
|
17
|
+
|
|
18
|
+
### C. “向用户提问/引导授权”标准化:Elicitation 有 form + url 两种模式
|
|
19
|
+
|
|
20
|
+
* `elicitation/create` 用 **form 模式**可发一个受限 JSON Schema(扁平 primitive + enum),客户端能生成表单并校验输入;
|
|
21
|
+
* 用 **url 模式**可把用户带去外部页面完成敏感/安全交互(典型:OAuth 登录/支付/绑定账号),而不会把敏感数据透过 MCP 客户端回传。([Model Context Protocol][4])
|
|
22
|
+
|
|
23
|
+
### D. 更好的授权与发现:OAuth/发现流程更可落地
|
|
24
|
+
|
|
25
|
+
* 规范里明确支持 OAuth 授权服务器发现(`.well-known/oauth-authorization-server`/OIDC discovery),并推荐 Client ID Metadata Documents 等方式,提升“客户端/服务端互不认识”的情况下的可集成性。([Model Context Protocol][5])
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 2) 新增/变化点总览(开发者该用哪些)
|
|
30
|
+
|
|
31
|
+
**你最该优先吃透的 5 个能力:**
|
|
32
|
+
|
|
33
|
+
1. **Tasks(实验性)**:为长工具/长编排启用任务化(轮询、取结果、取消)([Model Context Protocol][3])
|
|
34
|
+
2. **Elicitation URL 模式**:把 OAuth/绑定账号/支付等敏感流程移出带外 URL 交互([Model Context Protocol][4])
|
|
35
|
+
3. **Elicitation 表单增强**:支持 enum/oneOf/数组 enum 等(更像真正的“交互式问答工具”)([Model Context Protocol][4])
|
|
36
|
+
4. **Tools 增强元数据**:`title`/`icons`/更标准的结构化输出(`outputSchema` + `structuredContent`)([Model Context Protocol][2])
|
|
37
|
+
5. **授权流程更完整**:发现、注册、scope/资源指示等更规范(减少各家“自定义 OAuth”)([Model Context Protocol][5])
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 3) 开发者怎么用:把“新版 MCP”写成可抄的实现范式
|
|
42
|
+
|
|
43
|
+
### 3.1 工具定义:在 `tools/list` 里把“可被校验的输出合同”写出来
|
|
44
|
+
|
|
45
|
+
`2025-11-25` 的 Tools 定义支持:
|
|
46
|
+
|
|
47
|
+
* `title`(更友好的工具展示名)
|
|
48
|
+
* `icons`(客户端 UI 展示)
|
|
49
|
+
* `outputSchema`(约束结构化输出)
|
|
50
|
+
* 以及工具执行相关协商(尤其是 tasks 的 `execution.taskSupport`)([Model Context Protocol][2])
|
|
51
|
+
|
|
52
|
+
**示例:为 `gencommit` 定义 outputSchema(强烈建议你保留它并把输出结构化)**
|
|
53
|
+
|
|
54
|
+
```jsonc
|
|
55
|
+
{
|
|
56
|
+
"name": "gencommit",
|
|
57
|
+
"title": "Generate Commit Message",
|
|
58
|
+
"description": "Analyze changes and generate a Conventional Commits message with optional emoji.",
|
|
59
|
+
"inputSchema": {
|
|
60
|
+
"type": "object",
|
|
61
|
+
"properties": {
|
|
62
|
+
"diffSummary": { "type": "string", "description": "Short summary of changed files" },
|
|
63
|
+
"style": { "type": "string", "enum": ["conventional", "conventional+emoji"], "default": "conventional+emoji" }
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"outputSchema": {
|
|
67
|
+
"type": "object",
|
|
68
|
+
"properties": {
|
|
69
|
+
"type": { "type": "string", "description": "feat/fix/docs/refactor/test/chore..." },
|
|
70
|
+
"scope": { "type": "string" },
|
|
71
|
+
"subject": { "type": "string" },
|
|
72
|
+
"body": { "type": "string" },
|
|
73
|
+
"footer": { "type": "string" },
|
|
74
|
+
"fullMessage": { "type": "string" }
|
|
75
|
+
},
|
|
76
|
+
"required": ["type", "subject", "fullMessage"]
|
|
77
|
+
},
|
|
78
|
+
"icons": [
|
|
79
|
+
{ "type": "emoji", "value": "🧾" }
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
> `outputSchema` 的意义:**客户端/宿主能验证你返回的 structuredContent 合法**,从而更可靠地把结果喂回模型或进入下一步编排。([Model Context Protocol][2])
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
### 3.2 工具返回:同时给 “人类可读 content” + “机器可读 structuredContent”
|
|
89
|
+
|
|
90
|
+
当你提供 `outputSchema` 时,工具返回应提供满足 schema 的结构化结果(`structuredContent`),同时保留 `content` 作为可读解释(利于调试/审计)。([Model Context Protocol][2])
|
|
91
|
+
|
|
92
|
+
```jsonc
|
|
93
|
+
{
|
|
94
|
+
"content": [
|
|
95
|
+
{ "type": "text", "text": "feat(auth): 🔐 add JWT login with refresh tokens\n\n- add auth middleware\n- add token rotation\n" }
|
|
96
|
+
],
|
|
97
|
+
"structuredContent": {
|
|
98
|
+
"type": "feat",
|
|
99
|
+
"scope": "auth",
|
|
100
|
+
"subject": "🔐 add JWT login with refresh tokens",
|
|
101
|
+
"body": "- add auth middleware\n- add token rotation",
|
|
102
|
+
"footer": "",
|
|
103
|
+
"fullMessage": "feat(auth): 🔐 add JWT login with refresh tokens\n\n- add auth middleware\n- add token rotation\n"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
### 3.3 Tasks:把长编排(start_*)升级成“可轮询的任务化工具”
|
|
111
|
+
|
|
112
|
+
#### 3.3.1 协议怎么做(最关键)
|
|
113
|
+
|
|
114
|
+
当客户端想任务化调用工具,直接在 `tools/call` 的 `params` 里带上 `task` 字段(可含 `ttl`)。服务端**立即返回** `CreateTaskResult`(含 task 元信息),真正结果后续通过 `tasks/result` 拉取。([Model Context Protocol][3])
|
|
115
|
+
|
|
116
|
+
**任务化调用示例(请求方 → 接收方)**
|
|
117
|
+
|
|
118
|
+
```jsonc
|
|
119
|
+
{
|
|
120
|
+
"jsonrpc": "2.0",
|
|
121
|
+
"id": 1,
|
|
122
|
+
"method": "tools/call",
|
|
123
|
+
"params": {
|
|
124
|
+
"name": "start_ralph",
|
|
125
|
+
"arguments": { "goal": "Refactor legacy module safely with tests" },
|
|
126
|
+
"task": { "ttl": 600000 }
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**立即响应(CreateTaskResult)**
|
|
132
|
+
|
|
133
|
+
```jsonc
|
|
134
|
+
{
|
|
135
|
+
"jsonrpc": "2.0",
|
|
136
|
+
"id": 1,
|
|
137
|
+
"result": {
|
|
138
|
+
"task": {
|
|
139
|
+
"taskId": "786512e2-9e0d-44bd-8f29-789f320fe840",
|
|
140
|
+
"status": "working",
|
|
141
|
+
"statusMessage": "The operation is now in progress.",
|
|
142
|
+
"createdAt": "2025-11-25T10:30:00Z",
|
|
143
|
+
"lastUpdatedAt": "2025-11-25T10:40:00Z",
|
|
144
|
+
"ttl": 600000,
|
|
145
|
+
"pollInterval": 5000
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
> 规范还提供了一个非常实用的可选 `_meta`:`io.modelcontextprotocol/model-immediate-response`,用于宿主在任务执行期间“先给模型一个即时提示”。([Model Context Protocol][3])
|
|
152
|
+
|
|
153
|
+
#### 3.3.2 轮询任务状态:`tasks/get`
|
|
154
|
+
|
|
155
|
+
```jsonc
|
|
156
|
+
{
|
|
157
|
+
"jsonrpc": "2.0",
|
|
158
|
+
"id": 3,
|
|
159
|
+
"method": "tasks/get",
|
|
160
|
+
"params": { "taskId": "786512e2-9e0d-44bd-8f29-789f320fe840" }
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
服务端回 `status/pollInterval`,请求方应尊重 `pollInterval`。([Model Context Protocol][3])
|
|
165
|
+
|
|
166
|
+
#### 3.3.3 拉取最终结果:`tasks/result`
|
|
167
|
+
|
|
168
|
+
当任务到达终态(`completed/failed/cancelled`)后,通过 `tasks/result` 获取“原请求的真实结果”(例如 `tools/call` 的 tool result)。([Model Context Protocol][3])
|
|
169
|
+
|
|
170
|
+
#### 3.3.4 取消:`tasks/cancel` / 列表:`tasks/list`
|
|
171
|
+
|
|
172
|
+
该版本定义了 `tasks/list`、`tasks/cancel` 等操作,并要求在初始化能力协商里声明支持。([Model Context Protocol][3])
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
### 3.4 Elicitation:把你现有的 `ask_user / interview` 升级成标准交互
|
|
177
|
+
|
|
178
|
+
#### 3.4.1 Form 模式:让客户端直接生成表单 + 校验输入
|
|
179
|
+
|
|
180
|
+
`elicitation/create` 的 `requestedSchema` 是受限 JSON Schema(扁平对象 + primitive + enum 等),特别适合你在编排工具里问关键缺失信息(技术栈、验收标准、页面类型、是否要兼容等)。([Model Context Protocol][4])
|
|
181
|
+
|
|
182
|
+
**示例:问 UI 技术栈与风格**
|
|
183
|
+
|
|
184
|
+
```jsonc
|
|
185
|
+
{
|
|
186
|
+
"jsonrpc": "2.0",
|
|
187
|
+
"id": 10,
|
|
188
|
+
"method": "elicitation/create",
|
|
189
|
+
"params": {
|
|
190
|
+
"mode": "form",
|
|
191
|
+
"message": "为了生成一致的 UI,请选择技术栈与风格偏好",
|
|
192
|
+
"requestedSchema": {
|
|
193
|
+
"type": "object",
|
|
194
|
+
"properties": {
|
|
195
|
+
"framework": { "type": "string", "enum": ["react", "vue"] },
|
|
196
|
+
"css": { "type": "string", "enum": ["tailwind", "css-modules", "styled-components"] },
|
|
197
|
+
"tone": { "type": "string", "enum": ["neutral", "playful", "enterprise"] }
|
|
198
|
+
},
|
|
199
|
+
"required": ["framework", "css"]
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
#### 3.4.2 URL 模式:OAuth/绑定账号/支付等敏感流程走带外 URL
|
|
206
|
+
|
|
207
|
+
URL 模式要求 `mode:"url"`,并携带 `url` 与 `elicitationId`。它的核心价值是:**“数据(除 URL 外)不暴露给 MCP 客户端”**,更适合安全/合规场景。([Model Context Protocol][4])
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## 4) 把这些新特性映射到你的 mcp-probe-kit(你优先级最高的那些工具)
|
|
212
|
+
|
|
213
|
+
你明确要高优先级保留/强化的工具:
|
|
214
|
+
|
|
215
|
+
* `start_feature / start_bugfix / start_onboard`
|
|
216
|
+
* `start_ui`
|
|
217
|
+
* `start_ralph`
|
|
218
|
+
* `gencommit`(你说必须保留)
|
|
219
|
+
|
|
220
|
+
**新版 MCP 的最佳落地方式:**
|
|
221
|
+
|
|
222
|
+
1. **这些“长编排工具”全部加 taskSupport**
|
|
223
|
+
|
|
224
|
+
* `start_ralph`: 建议 `execution.taskSupport = "required"`(多轮循环天然长任务)
|
|
225
|
+
* `start_ui / start_feature / start_bugfix / start_onboard`: 建议 `"optional"`(小项目可同步,大项目可任务化)([Model Context Protocol][3])
|
|
226
|
+
|
|
227
|
+
2. **这些工具全部加 outputSchema + structuredContent**
|
|
228
|
+
|
|
229
|
+
* 你的工具是“指令生成器”,那 structuredContent 就应该是“可执行计划”:
|
|
230
|
+
|
|
231
|
+
* `summary`(一句话)
|
|
232
|
+
* `artifacts[]`(要生成的文件/片段:路径、内容、目的)
|
|
233
|
+
* `steps[]`(按序的操作步骤)
|
|
234
|
+
* `commands[]`(可选)
|
|
235
|
+
* `checks[]`(验收/回归点)
|
|
236
|
+
* `risks[]`(风险与回滚)
|
|
237
|
+
这类结构一旦稳定,AI 编排会明显更稳。([Model Context Protocol][2])
|
|
238
|
+
|
|
239
|
+
3. **把“提问”统一迁移到 Elicitation(form/url)**
|
|
240
|
+
|
|
241
|
+
* `ask_user`:优先用 form 模式(枚举 + 默认值 + required),减少来回扯皮([Model Context Protocol][4])
|
|
242
|
+
* 遇到 OAuth/网页登录等:用 url 模式(而不是让用户复制 token)([Model Context Protocol][4])
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## 5) SDK 与版本信息(给开发者的“选型锚点”)
|
|
247
|
+
|
|
248
|
+
* 官方 TypeScript SDK `@modelcontextprotocol/sdk` 目前 npm 最新版本为 **1.25.3**,且 GitHub release 显示该版本发布时间为 **2026-01-20**。([npmjs.com][6])
|
|
249
|
+
* 建议你在文档中明确:**Server 协议修订版本以 `2025-11-25` 为主,必要时兼容旧客户端**(否则 tasks/elicitation url 等能力无法工作)。([Model Context Protocol][3])
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## 6)(可选但强烈建议)发布/发现:用 server.json 让客户端更容易安装你的 MCP
|
|
254
|
+
|
|
255
|
+
MCP Registry 体系里推荐用 `server.json` 描述你的 server(包、传输、环境变量、远程地址等),并通过 `$schema` 指向官方 schema;自定义元数据用 `_meta` 的反向域名命名空间,官方 registry 还要求自定义信息放在 `io.modelcontextprotocol.registry/publisher-provided` 下。([GitHub][7])
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
# 你可以直接复制到 README 的“新版 MCP 能力宣言”(简版)
|
|
260
|
+
|
|
261
|
+
> 本项目基于 MCP `2025-11-25` 协议实现,支持:
|
|
262
|
+
>
|
|
263
|
+
> * **Tasks(实验性)**:长编排工具可任务化执行(轮询/取结果/取消);
|
|
264
|
+
> * **Elicitation(form/url)**:标准化用户交互,支持枚举/默认值/URL 带外流程;
|
|
265
|
+
> * **Tools 结构化输出**:工具提供 `outputSchema` 并返回 `structuredContent`,使编排更稳定;
|
|
266
|
+
> * **更完善的 OAuth/发现规范**:提升跨客户端集成体验。([Model Context Protocol][3])
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
[1]: https://modelcontextprotocol.io/specification/2025-11-25/client/sampling "Sampling - Model Context Protocol"
|
|
271
|
+
[2]: https://modelcontextprotocol.io/specification/2025-11-25/server/tools "Tools - Model Context Protocol"
|
|
272
|
+
[3]: https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/tasks "Tasks - Model Context Protocol"
|
|
273
|
+
[4]: https://modelcontextprotocol.io/specification/2025-11-25/client/elicitation "Elicitation - Model Context Protocol"
|
|
274
|
+
[5]: https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization "Authorization - Model Context Protocol"
|
|
275
|
+
[6]: https://www.npmjs.com/package/%40modelcontextprotocol/sdk?utm_source=chatgpt.com "modelcontextprotocol/sdk"
|
|
276
|
+
[7]: https://raw.githubusercontent.com/modelcontextprotocol/registry/refs/heads/main/docs/reference/server-json/generic-server-json.md "raw.githubusercontent.com"
|