这是一个使用Spring Boot的模型上下文协议(MCP)服务器的示例实现。该服务器旨在与模型上下文协议检查器一起使用,以进行测试和调试。它提供了一个简单的RESTneneneba API来与服务器交互,并演示了如何设置基本的SpringBoot应用程序。包括单元测试以验证服务器的功能。
📋 目录
- 调试 - 安装MCP检查器 - 运行MCP检查器进行测试 - 构建MCP服务器 - 运行MCP检查器
🧠 What is MCP?
模型上下文协议(MCP)是一个开放标准,定义了人工智能模型如何与外部工具和数据源通信。它为像克劳德这样的人工智能助手创建了一种标准化的访问方式:
- 🌐 实时信息
- 📊 自定义数据库
- 🔄 API和服务
- 📁 文件系统
将MCP视为“AI的USB标准”——它提供了一个通用接口,允许任何AI模型通过一致的协议与各种工具进行交互。 将MCP与Spring Boot一起使用的好处:
- 🔄 无缝集成:轻松地将应用程序的功能暴露给AI助手
- 🛠️ 工具定义:使用简单注释定义自定义工具
- 🚀 Spring Boot简洁:利用Spring的依赖注入和配置管理
- 📈 增强的人工智能能力:让AI模型访问您组织的实时数据和服务
需求
- Java 17+
- 梅文
- MCP检查员(测试可选)
例如Claude Desktop的配置
{
"mcpServers": {
"sample-mcp-server": {
"command": "java",
"args": [
"-jar",
"sample-mcp-server-0.0.1-SNAPSHOT.jar",
"--port",
"8080",
"--host",
"localhost"
],
"env": {
"JAVA_TOOL_OPTIONS": "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005"
}
}
}
}注: JAVA_TOOL_OPTIONS 环境变量用于设置远程调试的JVM选项。地址和端口可以根据需要更改。
💻 发展
调试
安装MCP检查器
npm -g install @modelcontextprotocol/inspector运行MCP检查器进行测试
构建MCP服务器
mvn clean package运行MCP检查器
npx @modelcontextprotocol/inspector \
-e JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 \
java -jar target/sample-mcp-server--SNAPSHOT.jar \
--port 8080 --host localhost注: JAVA_TOOL_OPTIONS 环境变量用于设置远程调试的JVM选项。地址和端口可以根据需要更改。 现在,您可以使用MCP检查器来测试和调试您的Spring Boot MCP服务器。检查器提供了一个用户友好的界面(浏览器),用于与服务器交互并可视化交换的数据。检查器可用于向服务器发送请求、查看响应以及分析客户端和服务器之间的数据流。 要调试服务器,您可以在代码中设置断点,并使用IDE中的调试器逐步调试代码和检查变量。使用中指定的远程调试选项将调试器附加到正在运行的服务器 JAVA_TOOL_OPTIONS 环境变量。
Spring AI通过提高生产力扩展了MCP Java SDK,使构建MCP服务器变得简单 [\[1\]](https://spring.io/blog/2025/02/14/mcp-java-sdk-released-2).
🔧 将此服务器与Claude Desktop一起使用
此示例服务器可以与Claude Desktop或支持MCP的其他AI助手集成。之后 配置服务器 在您的AI助手中:
- 启动此Spring Boot MCP服务器
- 打开Claude Desktop并在设置中启用服务器
- 向Claude提出需要此服务器提供的工具的问题
- 观看Claude无缝地使用服务器访问数据并执行操作
