
NOTE: This project has been graduated and moved to theMCP Java SDKandSpring AI MCP. See you there! This repository is now archived.

2025.02.15
153
JavaAI 集成Java SDKSpring 集成开发效率
Spring AI MCP 是一个为 Java 和 Spring 框架提供 Model Context Protocol (MCP) 集成的项目。它使 Java 应用程序能够通过标准化接口与 AI 模型和工具进行交互,支持同步和异步通信模式。该项目包括 Java SDK 和 Spring 集成模块,提供了丰富的功能和灵活的传输实现。
View on GitHub
Overview
基本能力
产品定位
Spring AI MCP 旨在为 Java 和 Spring 应用程序提供与 AI 模型和工具交互的标准化接口,支持多种通信模式和传输协议。
核心功能
- MCP Java SDK:
- 同步和异步的 MCP 客户端和服务器实现
- 支持标准 MCP 操作(工具发现、资源管理、提示处理、结构化日志)
- 支持请求和通知处理
-
提供 Stdio 和 SSE 传输实现
-
MCP Transports:
- 核心传输:Stdio 和 SSE 传输
-
可选传输:WebFlux SSE 传输和 WebMvc SSE 传输
-
Spring AI MCP:
- 与 Spring AI 的函数调用系统集成
- 提供 Spring 友好的 MCP 客户端抽象
- 自动配置(开发中)
适用场景
- 与 AI 模型交互的 Java 应用程序
- 需要标准化接口的 AI 工具集成
- 支持同步和异步通信的 AI 应用
- 使用 Spring 框架的 AI 集成项目
工具列表
- MCP Java SDK:提供 MCP 客户端和服务器的核心实现。
- MCP Transports:支持多种传输协议,包括 Stdio 和 SSE。
- Spring AI MCP:提供 Spring 框架的集成支持。
常见问题解答
- 如何安装?:通过 Maven 添加依赖,并配置 Spring Milestones 仓库。
- 支持哪些传输协议?:支持 Stdio 和 SSE 传输协议。
- 如何贡献?:通过 Fork 仓库并提交 Pull Request 进行贡献。
使用教程
使用依赖
- 确保已安装 Maven 和 Java 开发环境。
- 添加以下依赖到 Maven 项目:
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>mcp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>mcp-webflux-sse-transport</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>mcp-webmvc-sse-transport</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>spring-ai-mcp</artifactId>
</dependency>
- 添加 Spring Milestones 仓库:
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
安装教程
- 克隆仓库:
git clone https://github.com/spring-projects-experimental/spring-ai-mcp.git
- 构建项目:
mvn clean install
- 运行测试:
mvn test
调试方式
- 使用 Maven 运行测试:
mvn test
- 查看日志输出以调试问题。
- 参考示例项目进行调试:
- SQLite Simple
- SQLite Chatbot
- Filesystem
- Brave
- Theme Park API Example
- Http SSE Client + WebMvc SSE Server
- WebFlux SSE Client + WebFlux SSE Server
- HttpClient SSE Client + Servlet SSE Server