本文介绍基于 SpringBoot3 和 OpenSpec 开发 MCP 服务器的完整流程,以 MCP 工具为例演示从需求、设计到实现的步骤。
一、MCP 协议简介
MCP(Model Context Protocol) 是 Anthropic 推出的开放协议,用于规范 AI 应用与外部数据源的交互。
解决了什么问题
传统模式下,让 AI 访问数据库、文件系统、第三方 API,每接一个数据源都要写一套对接代码:认证、数据格式解析、错误处理… 重复劳动多,维护成本高。
MCP 规范了一套统一接口,数据源按标准实现后,AI 就能直接调用。
核心能力
- Tools - AI 可调用的函数
- Resources - AI 可读取的数据
- Prompts - 预定义的提示模板
协议本身与传输层无关,采用 JSON-RPC 2.0 格式通信。
二、OpenSpec 流程简介
OpenSpec 是一个工件驱动的开发方法,通过结构化的文档规范开发过程。
解决了什么问题
AI 辅助编程时,经常出现需求理解偏差、代码偏离原始意图、后期验证困难等问题。OpenSpec 通过前置设计和后期验证,减少 AI 开发中的需求偏差和返工。
核心工件
| 工件 | 描述 | 提示词 |
|---|---|---|
| Proposal | 设计提案,记录决策和权衡 | '我需要为 xxx 功能创建一个提案,包含技术选型、架构设计决策' |
| Tasks | 任务拆分 | '基于上面的提案,帮我拆解成具体的开发任务' |
| Design | 详细设计 | '基于任务列表,帮我设计类结构、接口定义' |
| Implementation | 代码实现 | '按照设计文档,实现具体的代码' |
| Verification | 验证归档 | '验证实现是否完整,整理归档' |
OpenSpec 流程的价值
在 AI 辅助编程场景下,OpenSpec 流程能解决几个常见问题:
- 避免开发过程中需求漂移
- 每一步都有明确的产出物
- 后期验证有据可依
- 归档后可追溯决策过程
三、MCP 工具开发
功能目标
用 SpringBoot3 + SSE 实现一个基础的 MCP 服务器 Demo:
- 支持 Tools 能力
- 代码结构清晰
- 便于演示和讲解
OpenSpec 工件清单
本项目将产出以下工件:
| 工件 | 内容 |
|---|---|
| Proposal | 技术选型、架构设计决策 |
| Tasks | 任务拆分和依赖关系 |
| Design | 类设计、接口定义 |
| Implementation | 核心代码实现 |

