Mirror of https://github.com/modelcontextprotocol/java-sdk — The official Java SDK for Model Context Protocol servers and clients. Maintained in collaboration with Spring AI
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Christian Tzolov 2748260cda feat: Enhance MCP roots implementation and test coverage
- Add proper ListRootsResult wrapping in async client
- Implement paginated listRoots methods in server components
- Fix roots notification handling in async server
- Add roots integration tests
- Update architecture diagram and documentation layout

The changes improve the roots feature implementation with proper result
types,  and robust notification handling. Adds thorough
test coverage for roots functionality including async notifications and
root addition/removal scenarios.

Resolves #46
2025-01-04 01:11:38 +01:00
.github Add deploy docs GH actions 2025-01-03 13:34:24 +01:00
.mvn/wrapper initial 2024-12-06 16:41:17 +01:00
docs refactor: Improve MCP documentation and transport interfaces 2025-01-03 15:54:43 +01:00
mcp feat: Enhance MCP roots implementation and test coverage 2025-01-04 01:11:38 +01:00
mcp-docs feat: Enhance MCP roots implementation and test coverage 2025-01-04 01:11:38 +01:00
spring-ai-mcp refactor: Improve MCP documentation and transport interfaces 2025-01-03 15:54:43 +01:00
spring-ai-mcp-sample refactor: Improve MCP documentation and transport interfaces 2025-01-03 15:54:43 +01:00
.gitattributes initial 2024-12-06 16:41:17 +01:00
.gitignore Rename modules, update .gitignore 2024-12-10 18:46:49 -05:00
LICENSE Initial commit 2024-12-06 16:06:20 +01:00
mvnw initial 2024-12-06 16:41:17 +01:00
mvnw.cmd initial 2024-12-06 16:41:17 +01:00
pom.xml Add mcp-docs with initial Antora support 2025-01-02 19:27:59 +01:00
README.md refactor: Improve MCP documentation and transport interfaces 2025-01-03 15:54:43 +01:00
settings.xml Rename modules, update .gitignore 2024-12-10 18:46:49 -05:00

Java & Spring MCP

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.

Projects

MCP Java SDK

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.

Spring AI MCP

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)

Installation

Add the following dependencies to your Maven project:

<!-- For core MCP functionality -->
<dependency>
    <groupId>org.springframework.experimental</groupId>
    <artifactId>mcp</artifactId>
    <version>0.4.0-SNAPSHOT</version>
</dependency>

<!-- For Spring AI integration -->
<dependency>
    <groupId>org.springframework.experimental</groupId>
    <artifactId>spring-ai-mcp</artifactId>
    <version>0.4.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>

Example Demos

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.

Documentation

Development

  • Building from Source
mvn clean install
  • Running Tests
mvn test

Contributing

This is an experimental Spring project. Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Submit a Pull Request

Team

  • Christian Tzolov
  • Dariusz Jędrzejczyk

License

This project is licensed under the Apache License 2.0.