可运行示例
MCP 工具服务(2026-07-28 规范)
构建符合 2026-07-28 无状态规范的 MCP 工具服务,实现无需 initialize 握手的 JSON-RPC 2.0 分发、参数校验、错误隔离与 input_required 多轮交互。
问题
Model Context Protocol 连接 AI 模型与外部工具及数据。朴素的服务端遇到未知工具会崩溃、跳过参数校验,而且仍然假设 2026-07-28 规范已移除的 initialize 握手。
任务契约
- 直接响应 tools/list 与 tools/call;2026-07-28 规范是无状态的,不存在 initialize 握手与会话。
- 按请求校验 _meta.protocolVersion,拒绝不支持的版本。
- 对非法请求、已移除或未知方法、非法参数返回 JSON-RPC 错误码 -32600、-32601 与 -32602。
- 执行前按声明的 inputSchema 校验必填工具参数。
- 把工具执行异常隔离为结构化的 isError 结果,而不是打断传输。
- 完成 input_required 多轮交互:返回待回答请求,客户端携带 params.inputResponses 重试后完成。
本地验证
在 FlyPython 仓库根目录下,先复现 starter 的失败,再验证审校过的 solution:
python examples/mcp-server/verify.py starter --expect-failurepython examples/mcp-server/verify.py solution交给 coding agent
继续
这个示例在学习路线中的位置。
审校日期 2026-09-06 · 仓库内容版本 2。可以继续阅读对应学习路径、浏览仓库目录,或阅读 MCP 迁移指南了解规范背景。