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 48fad96fe4 docs: Add MCP SDK documentation and architecture diagrams
Add comprehensive documentation for the MCP Java SDK implementation
Add architecture diagrams showing layered design and class relationships
Reorganize documentation structure with dedicated pages for:
Overview and introduction
MCP Java SDK reference
Spring AI MCP integration
Include detailed examples and usage patterns for both sync and async APIs
2025-01-03 00:25:41 +01:00
.github refactor: rename artifacts and restructure modules 2024-12-21 16:30:19 +01:00
.mvn/wrapper initial 2024-12-06 16:41:17 +01:00
docs feat: add structured logging support with severity levels 2024-12-31 14:46:32 +01:00
mcp feat: enforce sampling handler presence and add CreateMessageResult builder 2025-01-02 18:19:33 +01:00
mcp-docs docs: Add MCP SDK documentation and architecture diagrams 2025-01-03 00:25:41 +01:00
spring-ai-mcp feat: add structured logging support with severity levels 2024-12-31 14:46:32 +01:00
spring-ai-mcp-sample feat: Add roots change notification support to MCP server 2025-01-02 09:12:42 +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 feat: add structured logging support with severity levels 2024-12-31 14:46:32 +01:00
settings.xml Rename modules, update .gitignore 2024-12-10 18:46:49 -05:00

Java & Spring MCP

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

Overview

Provides Java 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.

Modules

The project consists of two main modules:

mcp

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)

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>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>

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

Project Information

  • Group ID: org.springframework.experimental
  • Version: 0.4.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.