Spring Into MCP 是一个基于 Spring AI 构建的示范 MCP(模型上下文协议)服务器,它能够提供有关 SpringOne 会议场次和演讲者的信息。这个项目展示了如何利用 Spring AI 搭建一个 MCP 服务器,为 AI 模型与外部数据源和工具的连接提供了标准化的解决方案。
# 构建项目
mvn clean package -DskipTests
# 运行服务器
java -jar target/springone-mcp-0.0.1-SNAPSHOT.jar
# 使用 MCP Inspector 测试服务器
npx @modelcontextprotocol/inspector
此 MCP 服务器具备以下三大主要功能:
springone-sessions-by-date
:按会议日期分组获取场次数量springone-sessions
:检索 2025 年 SpringOne 所有场次的详细信息将此服务器添加到你的 Claude Desktop 配置文件中:
文件位置:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"springone-conference": {
"command": "java",
"args": [
"-jar",
"/Users/vega/Downloads/springone-mcp/target/springone-mcp-0.0.1-SNAPSHOT.jar"
]
}
}
}
⚠️ 重要提示
请更新路径以匹配你实际的项目位置。
配置完成后,你可以向 Claude 提出如下问题:
Claude 将自动使用 MCP 服务器的工具和资源来提供准确、最新的答案。
src/main/java/dev/danvega/springone/
├── Application.java # 带有 MCP 配置的主 Spring Boot 应用程序
├── Conference.java # 会议数据模型
├── Session.java # 场次数据模型
├── SessionTools.java # 用于场次查询的 MCP 工具
├── ConferencePrompts.java # MCP 提示模板
└── SpeakersResource.java # 用于演讲者信息的 MCP 资源
src/main/resources/
└── data/
└── sessions.json # 会议场次数据
默认情况下,此 MCP 服务器以 STDIO 模式运行,用于与 Claude Desktop 直接集成。不过,你也可以将其作为公共 HTTP 服务器运行,使用 Server-Sent Events(SSE)以实现更广泛的访问。
项目包含两种配置文件:
application.properties
application-sse.yaml
# 构建项目
mvn clean package -DskipTests
# 使用 SSE 配置文件运行
java -jar target/springone-mcp-0.0.1-SNAPSHOT.jar --spring.profiles.active=sse
服务器运行后,你可以测试 MCP 服务器的端点:
# 检查服务器状态
curl http://localhost:8080/mcp/status
# 列出可用工具
curl http://localhost:8080/mcp/tools
# 测试工具调用
curl -X POST http://localhost:8080/mcp/tools/springone-sessions-by-date \
-H "Content-Type: application/json"
这使得 MCP 服务器可以公开部署,并通过 HTTP 供任何兼容 MCP 的客户端访问。
mvn clean package -DskipTests
npx @modelcontextprotocol/inspector