Set of projects that provide Java SDK and Spring Framework integration for the Model Context Protocol. It enables Java applications to interact with AI models and tools through a standardized interface, supporting both synchronous and asynchronous communication patterns.
Java implementation of the Model Context Protocol specification. It includes:
- Synchronous and asynchronous MCP Client and MCP Server implementations
- Standard MCP operations support (tool discovery, resource management, prompt handling, structured logging). Support for request and notification handling.
- Stdio and SSE transport implementations.
- Find more.
The Spring integration module provides Spring-specific functionality:
- Integration with Spring AI's function calling system
- Spring-friendly abstractions for MCP clients
- Auto-configurations (WIP)
Add the following dependencies to your Maven project:
<!-- For core MCP functionality -->
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>mcp</artifactId>
<version>0.5.0-SNAPSHOT</version>
</dependency>
<!-- For Spring AI integration -->
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>spring-ai-mcp</artifactId>
<version>0.5.0-SNAPSHOT</version>
</dependency>
This is a milestone release, not available on Maven Central. Add this repository to your POM:
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/libs-milestone-local</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
Explore these MCP examples in the spring-ai-examples/model-context-protocol repository:
- SQLite Simple - Demonstrates LLM integration with a database
- SQLite Chatbot - Interactive chatbot with SQLite database interaction
- Filesystem - Enables LLM interaction with local filesystem folders and files
- Brave - Enables natural language interactions with Brave Search, allowing you to perform internet searches.
- Spring-ai-mcp-sample - Showcases how to create and use MCP servers and clients with different transport modes and capabilities.
- Building from Source
mvn clean install
- Running Tests
mvn test
This is an experimental Spring project. Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Submit a Pull Request
- Christian Tzolov
- Dariusz Jędrzejczyk
This project is licensed under the Apache License 2.0.