springboot - mcp
🚀 使用 Spring Boot 搭建自己的 MCP Server
https://github.com/modelcontextprotocol/java-sdk
CAUTION
注意 springboot 版本一定要大于 3.4x,不然不支持 Spring AI
一、什么是 MCP?
MCP(Model Context Protocol) 是由 Anthropic 提出的一种标准化协议 ,用于让语言模型(LLM)以结构化方式访问外部工具和数据源。
核心功能:
- List Tools:列出可用的工具
- Call Tool:调用指定工具并返回结果
- Streaming Support(可选):支持流式响应
类似于 OpenAI 的 Function Calling 或 Google 的 Vertex AI Gateway,但更开放、轻量。
二、项目结构设计
src/
├── main/
│ ├── java/
│ │ └── com.example.mcpserver/
│ │ ├── McpApplication.java # 主启动类
│ │ │
│ │ ├── controller/
│ │ │ └── McpController.java # 处理 /mcp 路由
│ │ │
│ │ ├── model/
│ │ │ ├── Tool.java # 工具元信息
│ │ │ ├── ToolCallRequest.java # 调用请求
│ │ │ └── ToolResult.java # 返回结果
│ │ │
│ │ └── service/
│ │ ├── ToolRegistry.java # 工具注册中心
│ │ └── impl/
│ │ ├── TimeTool.java # 示例工具:获取当前时间
│ │ └── WeatherTool.java # 示例工具:查天气
│ │
│ └── resources/
│ ├── application.yml
│ └── openapi/mcp-api.yaml # OpenAPI 描述文件(可选)三、添加依赖(pom.xml)
<!-- https://github.com/openai/openai-java -->
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
<version>4.6.1</version>
</dependency>
<!-- https://github.com/modelcontextprotocol/java-sdk -->
<dependency>
<groupId>io.modelcontextprotocol.sdk</groupId>
<artifactId>mcp</artifactId>
<version>1.1.1</version>
</dependency>