
Spring I/O
STDIOMCP server providing AI assistants with access to Spring I/O 2025 conference session data.
MCP server providing AI assistants with access to Spring I/O 2025 conference session data.
A Model Context Protocol (MCP) server that provides AI assistants with access to Spring I/O 2025 conference session data. This server exposes conference information including talks, workshops, speakers, and scheduling details through a standardized MCP interface.
The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely connect to external data sources and tools. This project implements an MCP server that makes Spring I/O conference data accessible to AI models, allowing them to answer questions about sessions, speakers, schedules, and more.
The project uses several key dependencies:
spring-boot-starter-web
: Core Spring Boot web functionalityspring-ai-starter-mcp-server-webmvc
: Spring AI MCP server implementationspring-boot-starter-test
: Testing frameworkjackson-databind
: JSON processing (included with Spring Boot)The project includes Maven wrapper scripts for easy building:
# On Unix/macOS ./mvnw clean compile # On Windows mvnw.cmd clean compile
Verify everything works correctly by running the test suite:
# Unix/macOS ./mvnw test # Windows mvnw.cmd test
Build and run the application using Maven:
# Build the JAR file ./mvnw clean package # Run the application java -jar target/spring-io-mcp-0.0.1-SNAPSHOT.jar
For development, you can run directly with Maven:
./mvnw spring-boot:run
The application is configured as an MCP server with the following settings:
spring-io-sessions-mcp
0.0.1
Important STDIO Configuration: When using STDIO transport, it's essential to disable Spring Boot's banner and logging to prevent interference with MCP communication:
# Disable banner and logging for STDIO transport spring.main.banner-mode=off logging.level.root=OFF
Without these settings, Spring Boot's startup messages and log output would corrupt the MCP protocol communication over STDIO.
The server works with session data structured as follows:
public record Session( String day, String time, String title, String type, String[] speakers, String room ) {}
Conference information is represented using this structure:
public record Conference( String name, int year, String[] dates, String location, List<Session> sessions ) {}
The core functionality is exposed through an MCP tool:
@Tool( name = "spring-io-sessions", description = "Returns all sessions for Spring I/O 2025 Conference" ) public List<Session> findAllSessions() { return sessions; }
The application registers MCP tools using Spring's configuration:
@Bean public List<ToolCallback> springIOSessionTools(SessionTools sessionTools) { return List.of(ToolCallbacks.from(sessionTools)); }
Sessions are loaded from JSON during application startup:
@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); } }
The conference includes various session types:
Here's an example of how session data is structured:
{ "day": "2025-05-22", "time": "11:00-11:50", "title": "Demystifying Spring Boot Magic", "type": "talk", "speakers": ["Patrick Baumgartner"], "room": "Auditorium" }
This server can be connected to AI assistants that support MCP. The server provides:
The MCP server automatically registers the spring-io-sessions
tool, making it available to connected AI clients for querying conference data.
src/main/java/dev/danvega/spring_io_mcp/
├── Application.java # Main application and MCP configuration
├── SessionTools.java # MCP tool implementation
├── Session.java # Session data model
└── Conference.java # Conference data model
src/main/resources/
├── application.properties # Spring configuration
└── sessions.json # Conference session data
Key application properties for MCP server operation:
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 # Critical for STDIO transport - prevents output corruption spring.main.banner-mode=off logging.level.root=OFF
To add new tools or modify session data:
sessions.json
with new conference information@Tool
annotated methods to SessionTools
Application.java
This server contains complete session data for:
The conference covers cutting-edge topics in Spring Framework, Spring Boot, Spring AI, cloud-native development, and modern Java practices.
The Spring I/O MCP Server bridges the gap between AI assistants and conference data, enabling intelligent interactions with Spring I/O 2025 session information. Whether you're building AI-powered conference apps, creating smart scheduling assistants, or developing conference navigation tools, this MCP server provides the foundation for AI-enhanced conference experiences.
Ready to integrate AI with conference data? Start by running the server and connecting it to your favorite MCP-compatible AI assistant to explore the rich world of Spring I/O sessions!