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 bc281dee54 feat: add SSE transport and improve documentation
- Add Server-Sent Events (SSE) transport implementation with test coverage
- Add detailed documentation for both SSE and STDIO transports
- Extract common test logic into abstract base classes
- Add testcontainers support for SSE integration tests
- Replace System.out with SLF4J logging
- Externalize dependency versions to properties
- Implement endpoint event handling per MCP spec
- Add message endpoint sink for reliable message routing
- Improve error handling and graceful shutdown
- Update core module README with expanded features and examples
- Add dependency version properties and logging configuration
- Update architecture and class diagrams

Resolves #4
2024-12-15 22:54:48 +01:00
.github Add github action for milestone repo release 2024-12-11 01:20:12 -05:00
.mvn/wrapper initial 2024-12-06 16:41:17 +01:00
spring-ai-mcp-core feat: add SSE transport and improve documentation 2024-12-15 22:54:48 +01:00
spring-ai-mcp-spring Udpate the README docs 2024-12-11 13:35:27 +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 feat: add SSE transport and improve documentation 2024-12-15 22:54:48 +01:00
README.md feat: add SSE transport and improve documentation 2024-12-15 22:54:48 +01:00
settings.xml Rename modules, update .gitignore 2024-12-10 18:46:49 -05:00
spring-ai-mcp-architecture.jpg feat: add SSE transport and improve documentation 2024-12-15 22:54:48 +01:00

Spring AI MCP

Java SDK for the Model Context Protocol (MCP), providing seamless integration between Java and Spring applications and MCP-compliant AI models and tools.

Overview

Spring AI MCP is an experimental project that provides Java and Spring Framework integration for the Model Context Protocol. It enables Spring applications to interact with AI models and tools through a standardized interface, supporting both synchronous and asynchronous communication patterns.

Modules

The project consists of two main modules:

spring-ai-mcp-core

The core module provides a Java implementation of the Model Context Protocol specification. It includes:

  • Synchronous and asynchronous client implementations
  • Standard MCP operations support (tool discovery, resource management, prompt handling)
  • Stdio-based server transport
  • Reactive programming support using Project Reactor

find more

spring-ai-mcp-spring

The Spring integration module provides Spring-specific functionality:

  • Integration with Spring AI's function calling system
  • Spring-friendly abstractions for MCP clients
  • Automatic conversion between JSON and Java objects for tool arguments

Requirements

  • Java 17 or later
  • Maven 3.6 or later
  • Spring AI 1.0.0-M4 or later

Installation

Add the following dependencies to your Maven project:

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

<!-- For Spring integration -->
<dependency>
    <groupId>org.springframework.experimental</groupId>
    <artifactId>spring-ai-mcp-spring</artifactId>
    <version>0.2.0-SNAPSHOT</version>
</dependency>

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.

Documentation

Development

Building from Source

mvn clean install

Running Tests

mvn test

Project Information

  • Group ID: org.springframework.experimental
  • Version: 0.2.0-SNAPSHOT
  • Java Version: 17
  • Spring AI Version: 1.0.0-M4

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.

Copyright 2024-2024 the original author or authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.