关于 MCP Server using Spring Boot Java
这是一个基于 Spring Boot、Java 21 和 Spring AI 的 MCP 服务示例,面向构建 AI 用户管理能力的开发者。它通过同步通信提供用户查询与修改工具,并支持标准输入输出和 SSE 传输。
主要功能
- 01提供用户管理工具
- 02支持分页查询、搜索与 CRUD
- 03支持同步通信
- 04支持标准输入输出和 SSE
- 05通过 DummyJSON 获取用户数据
适用场景
- 01向 AI 客户端提供用户查询能力
- 02按 ID 查找并更新用户
- 03测试不同 MCP 传输方式
MCP 相关
该 MCP 服务向客户端公开用户管理工具,包括查询、搜索、新增、更新和删除用户。支持标准输入输出与 SSE 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
使用 Spring Boot Java 构建 MCP 服务
此 Model Context Protocol(MCP)服务使用 Spring Boot 和 Java 21 构建。本项目演示了如何创建一个为 AI 助手提供用户管理工具的 MCP 服务。
功能
- 使用 Spring AI 实现 MCP 服务功能
- 通过 MCP 提供用户管理工具
- 同步通信模式
- 支持标准输入/输出和服务器发送事件传输
- 集成 DummyJSON 外部 API 获取用户数据
技术
- Java 21
- Spring Boot 3.4.3
- Spring AI(Model Context Protocol)
- Project Lombok
- Maven
快速开始
前置条件
- Java 21 或更高版本
- Maven
安装
- 克隆代码仓库
git clone https://github.com/yourusername/mcp-spring-java.git
cd mcp-spring-java
- 构建项目
mvn clean package
- 运行应用程序
java -jar target/mcp-spring-java-0.0.1-SNAPSHOT.jar
配置
MCP 服务在 application.yml 中配置:
- 服务运行在端口 8090
- 服务名称:my-dummy-users-server
- 同步通信模式
- 支持基于终端通信的 STDIO 传输
- 提供用于 SSE 通信的
/mcp/message端点
可用工具
此服务提供以下用户管理工具:
getAllUsers- 获取所有用户并支持分页getAllUsersDefault- 使用默认分页获取所有用户getUserById- 根据 ID 获取单个用户searchUsers- 根据查询内容搜索用户addUser- 添加新用户updateUser- 更新用户deleteUser- 删除用户
使用 Postman 测试
你可以使用 Postman 测试 MCP 服务端点:
-
启动 MCP 服务
-
打开 Postman 并创建新请求:
- 方法:POST
- URL:http://localhost:8090/mcp/message
- 请求头:
- Content-Type:application/json
- Accept:application/json
-
对于请求正文,使用以下 JSON 格式调用任意可用工具:
{
"message": {
"toolCalls": [
{
"id": "call-123",
"name": "[TOOL_NAME]",
"parameters": {
"[PARAMETER_NAME]": "[PARAMETER_VALUE]"
}
}
]
}
}
请求示例
获取所有用户(默认分页)
{
"message": {
"toolCalls": [
{
"id": "call-123",
"name": "getAllUsersDefault",
"parameters": {}
}
]
}
}
根据 ID 获取用户
{
"message": {
"toolCalls": [
{
"id": "call-123",
"name": "getUserById",
"parameters": {
"id": 1
}
}
]
}
}
搜索用户
{
"message": {
"toolCalls": [
{
"id": "call-123",
"name": "searchUsers",
"parameters": {
"query": "John"
}
}
]
}
}
响应将包含一个 JSON 对象,其中包含工具执行结果。
与 MCP 客户端搭配使用
你可以使用以下配置,在 MCP 客户端应用程序中配置此服务:
{
"mcpServers": {
"dummy-user-server": {
"command": "java",
"args": [
"-Dspring.ai.mcp.server.stdio=true",
"-Dspring.main.web-application-type=none",
"-Dlogging.pattern.console=",
"-jar",
"path/to/mcp-spring-java-0.0.1-SNAPSHOT.jar"
]
}
}
}
许可证
本项目遵循 LICENSE 文件中规定的条款授权。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。