java-sdk/spring-ai-mcp/README.md
Christian Tzolov 12fd8e51f3 refactor: rename artifacts and restructure modules
- Rename spring-ai-mcp-core to mcp for simpler artifact naming
- Rename spring-ai-mcp-spring to spring-ai-mcp for clarity
- Rename parent artifact from spring-ai-mcp to mcp-parent
- Update artifact references in pom files and documentation
- Update directory structure and paths in GitHub workflow

Resolves #31

chore: improve module descriptions and update dependencies

- Update parent pom description to better reflect overall project scope
- Update mcp module description to detail core Java SDK capabilities
- Update spring-ai-mcp module description to emphasize Spring integration features
- Update dependency versions to stable releases:
  * JUnit: 5.11.3 -> 5.10.2
  * Jackson: 2.18.2 -> 2.17.0
2024-12-21 16:30:19 +01:00

1.7 KiB

Spring AI MCP Spring

Spring Integration module for Model Control Protocol (MCP) that provides Spring-specific functionality for working with MCP clients.

Overview

The spring-ai-mcp module is part of the Spring AI MCP project. It provides Spring Framework integration for the Model Control Protocol (MCP), enabling seamless integration of MCP functionality within Spring applications.

Features

  • Spring integration for MCP clients
  • Function callback implementation for tool invocations
  • Seamless integration with Spring AI's function calling capabilities

Main Components

McpFunctionCallback

The McpFunctionCallback class is the primary component of this module. It implements Spring AI's FunctionCallback interface and provides:

  • Integration between Spring AI's function calling system and MCP tools
  • Automatic conversion between JSON and Java objects for tool arguments
  • Synchronous tool execution support

Usage

To use this module, add the following dependency to your Maven project:

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

License

This project is licensed under the Apache License 2.0.

Contributing

This is an experimental Spring project. Contributions are welcome! Please refer to the main project's contribution guidelines.