java-sdk/README.md
Christian Tzolov a2a8be2155 Improve README
2024-12-30 13:53:23 +01:00

4.2 KiB

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). Support for request and notificaiotn 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.