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
Dariusz Jędrzejczyk 34a733509d refactor: introduce session-based architecture for MCP server (#31)
This commit introduces a major refactoring of the MCP Java SDK to implement a session-based architecture
for server-side implementations. The changes improve the SDK's ability to handle multiple concurrent
client connections and provide an API better aligned with the MCP specification.

Key changes:

- Introduce McpServerTransportProvider interface to manage client connections
- Rename ClientMcpTransport to McpClientTransport and ServerMcpTransport to McpServerTransport
- Add exchange objects (McpAsyncServerExchange, McpSyncServerExchange) for client interaction
- Update handler signatures to include exchange parameter: (args) -> result to (exchange, args) -> result
- Rename Registration classes to Specification classes
- Update method names (e.g., rootsChangeConsumers to rootsChangeHandlers)
- Deprecate old interfaces and classes for removal in 0.9.0
- Add migration guide (migration-0.8.0.md)

Resolves #9, #15

Co-authored-by: Christian Tzolov <christian.tzolov@broadcom.com>
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2025-03-20 21:49:51 +01:00
.github Add CI GitHub Action and rename snapshot publish workflow 2025-03-18 13:37:49 +01:00
.mvn/wrapper initial 2024-12-06 16:41:17 +01:00
mcp refactor: introduce session-based architecture for MCP server (#31) 2025-03-20 21:49:51 +01:00
mcp-bom Next development version 0.8.0-SNAPSHOT 2025-02-14 13:39:20 +01:00
mcp-spring refactor: introduce session-based architecture for MCP server (#31) 2025-03-20 21:49:51 +01:00
mcp-test refactor: introduce session-based architecture for MCP server (#31) 2025-03-20 21:49:51 +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 Update license text and GH actions 2025-01-28 14:36:31 +01:00
migration-0.8.0.md refactor: introduce session-based architecture for MCP server (#31) 2025-03-20 21:49:51 +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 refactor(mcp): remove redundant type field from Content implementations (#27) 2025-03-03 13:57:41 +01:00
README.md Update README.md 2025-03-19 07:28:35 +01:00

MCP Java SDK

Build Status

A set of projects that provide Java SDK integration for the Model Context Protocol. This SDK enables Java applications to interact with AI models and tools through a standardized interface, supporting both synchronous and asynchronous communication patterns.

📚 Reference Documentation

MCP Java SDK documentation

For comprehensive guides and SDK API documentation, visit the MCP Java SDK Reference Documentation.

Spring AI MCP documentation

Spring AI MCP extends the MCP Java SDK with Spring Boot integration, providing both client and server starters. Bootstrap your AI applications with MCP support using Spring Initializer.

Development

Building from Source

./mvnw clean install -DskipTests

Running Tests

To run the tests you have to pre-install Docker and npx.

./mvnw test

Contributing

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 MIT License.