Spring Io Mcp

Spring Io Mcp

🚀 Spring I/O MCP 服务器

Spring I/O MCP 服务器是一个模型上下文协议(MCP)服务器,它为 AI 助手提供访问 Spring I/O 2025 会议会话数据的途径。该服务器通过标准化的 MCP 接口公开会议信息,包括演讲、研讨会、演讲者和日程安排细节。

🚀 快速开始

构建项目

项目包含 Maven 包装器脚本,便于构建:

# 在 Unix/macOS 系统上
./mvnw clean compile

# 在 Windows 系统上
mvnw.cmd clean compile

运行测试

通过运行测试套件来验证一切是否正常工作:

# Unix/macOS
./mvnw test

# Windows
mvnw.cmd test

如何运行应用程序

标准执行

使用 Maven 构建并运行应用程序:

# 构建 JAR 文件
./mvnw clean package

# 运行应用程序
java -jar target/spring-io-mcp-0.0.1-SNAPSHOT.jar

开发模式

在开发时,你可以直接使用 Maven 运行:

./mvnw spring-boot:run

MCP 服务器配置

应用程序被配置为 MCP 服务器,具有以下设置:

  • 服务器名称spring-io-sessions-mcp
  • 版本0.0.1
  • 传输方式:STDIO(标准输入/输出)
  • 应用程序类型:非 Web(控制台应用程序)

⚠️ 重要提示

使用 STDIO 传输时,必须禁用 Spring Boot 的横幅和日志记录,以防止干扰 MCP 通信:

# 禁用 STDIO 传输的横幅和日志记录
spring.main.banner-mode=off
logging.level.root=OFF

如果没有这些设置,Spring Boot 的启动消息和日志输出会破坏通过 STDIO 进行的 MCP 协议通信。

✨ 主要特性

  • 会议会话访问:拥有 Spring I/O 2025 会议会话的完整数据库。
  • MCP 合规性:完全兼容 MCP 标准,便于与 AI 集成。
  • 丰富的会话数据:包含演讲者、会议室分配、会话类型和时间安排等信息。
  • Spring Boot 集成:基于 Spring Boot 3.5 和 Spring AI MCP 支持构建。
  • JSON 数据源:通过 JSON 配置实现灵活的数据管理。

📦 安装指南

项目要求

  • Java:版本 24 或更高
  • Maven:3.6+(包含包装器)
  • Spring Boot:3.5.0
  • Spring AI:1.0.0

依赖项

项目使用了几个关键依赖项:

  • spring-boot-starter-web:Spring Boot 核心 Web 功能。
  • spring-ai-starter-mcp-server-webmvc:Spring AI MCP 服务器实现。
  • spring-boot-starter-test:测试框架。
  • jackson-databind:JSON 处理(包含在 Spring Boot 中)。

💻 使用示例

基础用法

会话数据结构

服务器处理的会话数据结构如下:

public record Session(
String day,
String time,
String title,
String type,
String[] speakers,
String room
) {}

会议模型

会议信息采用以下结构表示:

public record Conference(
String name,
int year,
String[] dates,
String location,
List sessions
) {}

MCP 工具实现

核心功能通过 MCP 工具暴露:

@Tool(
name = "spring-io-sessions",
description = "Returns all sessions for Spring I/O 2025 Conference"
)
public List findAllSessions() {
return sessions;
}

Spring 配置

应用程序使用 Spring 配置注册 MCP 工具:

@Bean
public List springIOSessionTools(SessionTools sessionTools) {
return List.of(ToolCallbacks.from(sessionTools));
}

会话加载过程

应用程序启动时从 JSON 加载会话:

@PostConstruct
public void init() {
try (InputStream inputStream =
TypeReference.class.getResourceAsStream("/sessions.json")) {
var conference = objectMapper.readValue(inputStream, Conference.class);
this.sessions = conference.sessions();
} catch (IOException e) {
throw new RuntimeException("Failed to read JSON data", e);
}
}

高级用法

会话类型

会议包含各种会话类型:

  • talks:技术演讲和深入探讨。
  • workshops:实践学习课程。
  • keynote:重要的会议演讲。
  • break:咖啡休息和社交时间。
  • networking:社交活动和社区建设。
  • logistics:注册和组织活动。

示例会话数据

以下是会话数据的结构示例:

{
"day": "2025-05-22",
"time": "11:00-11:50",
"title": "Demystifying Spring Boot Magic",
"type": "talk",
"speakers": ["Patrick Baumgartner"],
"room": "Auditorium"
}

📚 详细文档

MCP 集成

连接到 AI 助手

该服务器可以连接到支持 MCP 的 AI 助手。服务器提供以下功能:

  1. 会话发现:根据各种条件查找会话。
  2. 演讲者信息:访问每个会话的演讲者详细信息。
  3. 日程导航:按日期和时间浏览会话。
  4. 会议室管理:了解场地布局和会话地点。

工具注册

MCP 服务器会自动注册 spring-io-sessions 工具,使其可供连接的 AI 客户端查询会议数据。

开发说明

项目结构

src/main/java/dev/danvega/spring_io_mcp/
├── Application.java          # 主应用程序和 MCP 配置
├── SessionTools.java         # MCP 工具实现
├── Session.java             # 会话数据模型
└── Conference.java          # 会议数据模型

src/main/resources/
├── application.properties   # Spring 配置
└── sessions.json           # 会议会话数据

配置属性

MCP 服务器运行的关键应用程序属性:

spring.ai.mcp.server.stdio=true
spring.ai.mcp.server.name=spring-io-sessions-mcp
spring.ai.mcp.server.version=0.0.1
spring.main.web-application-type=none

# 对于 STDIO 传输至关重要 - 防止输出损坏
spring.main.banner-mode=off
logging.level.root=OFF

扩展服务器

要添加新工具或修改会话数据,请按以下步骤操作:

  1. 使用新的会议信息更新 sessions.json
  2. SessionTools 中添加新的 @Tool 注解方法。
  3. Application.java 中注册额外的工具回调。
  4. 重新构建并重启服务器。

Spring I/O 2025 会议详情

该服务器包含以下完整的会话数据:

  • 会议:Spring I/O 2025
  • 日期:2025 年 5 月 22 - 23 日
  • 地点:巴塞罗那,巴塞罗那国际会展中心
  • 会话:80 多个演讲、研讨会和活动
  • 主题:多个并行主题,涵盖 Spring 生态系统主题

会议涵盖了 Spring 框架、Spring Boot、Spring AI、云原生开发和现代 Java 实践等前沿主题。

🔚 总结

Spring I/O MCP 服务器架起了 AI 助手与会议数据之间的桥梁,实现了与 Spring I/O 2025 会话信息的智能交互。无论你是在构建 AI 驱动的会议应用程序、创建智能日程安排助手,还是开发会议导航工具,这个 MCP 服务器都为增强会议体验的 AI 应用提供了基础。

准备好将 AI 与会场数据集成了吗?先运行服务器,再将其连接到你喜欢的支持 MCP 的 AI 助手,探索丰富的 Spring I/O 会话世界!

  • 0 关注
  • 0 收藏,9 浏览
  • system 提出于 2025-09-20 17:48

相似服务问题