Udpate the README docs

This commit is contained in:
Christian Tzolov 2024-12-11 13:35:27 +01:00
commit 683cf93d7e
3 changed files with 172 additions and 0 deletions

119
README.md Normal file
View file

@ -0,0 +1,119 @@
# 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](https://modelcontextprotocol.org/docs/concepts/architecture). It enables Spring applications to interact with AI models and tools through a standardized interface, supporting both synchronous and asynchronous communication patterns.
<img src="spring-ai-mcp-architecture.jpg" width="600">
## 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
### 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:
```xml
<!-- 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>
```
## Documentation
- [Core Module Documentation](spring-ai-mcp-core/README.md)
- [Spring Integration Documentation](spring-ai-mcp-spring/README.md)
- [UML Class Diagrams](spring-ai-mcp-core/docs/spring-ai-mcp-uml-classdiagram.svg)
## Development
### Building from Source
```bash
mvn clean install
```
### Running Tests
```bash
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
## Links
- [GitHub Repository](https://github.com/spring-projects-experimental/spring-ai-mcp)
- [Issue Tracker](https://github.com/spring-projects-experimental/spring-ai-mcp/issues)
- [CI/CD](https://github.com/spring-projects-experimental/spring-ai-mcp/actions)
## License
This project is licensed under the [Apache License 2.0](LICENSE).
```
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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 581 KiB

View file

@ -0,0 +1,53 @@
# 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-spring` module is part of the [Spring AI MCP](https://github.com/spring-projects-experimental/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
## Dependencies
- Spring AI Core (`spring-ai-core`)
- Spring AI MCP Core (`spring-ai-mcp-core`)
## Usage
To use this module, add the following dependency to your Maven project:
```xml
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>spring-ai-mcp-spring</artifactId>
<version>0.2.0-SNAPSHOT</version>
</dependency>
```
## License
This project is licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).
## Links
- [GitHub Repository](https://github.com/spring-projects-experimental/spring-ai-mcp)
- [Issue Tracker](https://github.com/spring-projects-experimental/spring-ai-mcp/issues)
## Contributing
This is an experimental Spring project. Contributions are welcome! Please refer to the main project's contribution guidelines.