使用说明
注:此项目已毕业并移至 MCP Java SDK 和 春季AI MCP到时候见!此存储库现在已存档。
Java和Spring MCP
提供Java SDK和Spring Framework集成的项目集 模型上下文协议. 它使Java应用程序能够通过标准化的接口与AI模型和工具进行交互,支持同步和异步通信模式。
📚 参考文件
有关全面指南和API文档,请访问 Spring AI MCP参考文档.
项目
MCP Java SDK
模型上下文协议规范的Java实现。它包括:
MCP运输
核心运输
- 基于标准(
StdioClientTransport,StdioServerTransport)用于基于过程的通信 - 基于Java HttpClient的SSE客户端(
HttpClientSseClientTransport)用于HTTP流媒体 - 基于Servlet的SSE服务器(
HttpServletSseServerTransport)用于使用传统Servlet API的HTTP SSE服务器流
可选的SSE运输
- WebFlux SSE 传输 -Spring WebFlux的响应式HTTP流媒体(客户端和服务器端)
- WebMvc SSE 传输 -基于Spring MVC的HTTP SSE传输(仅限服务器)。
你可以使用核心
HttpClientSseClientTransport作为SSE客户端进行传输。
春季AI MCP
Spring集成模块提供特定于Spring的功能:
- 与Spring AI的函数调用系统集成
- MCP客户端的Spring友好抽象
- 自动配置(WIP)
安装
将以下依赖项添加到Maven项目中:
<!-- Core MCP -->
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>mcp</artifactId>
</dependency>
<!-- Optional: WebFlux SSE transport -->
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>mcp-webflux-sse-transport</artifactId>
</dependency>
<!-- Optional: WebMVC SSE transport -->
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>mcp-webmvc-sse-transport</artifactId>
</dependency>
<!-- Optional: Spring AI integration -->
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>spring-ai-mcp</artifactId>
</dependency>
这是一个里程碑式的版本,在Maven Central上不可用。 将此存储库添加到您的POM:
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
请参阅 依赖管理 页面了解更多信息。
示例演示
在以下内容中探索这些MCP示例 spring ai示例/模型上下文协议 存储库:
- SQLite简单 -演示LLM与数据库的集成
- SQLite聊天机器人 -交互式聊天机器人与SQLite数据库交互
- 文件系统 -启用LLM与本地文件系统文件夹和文件的交互
- 勇敢 -启用与Brave Search的自然语言交互,允许您执行互联网搜索。
- 主题公园API示例 -展示如何使用Spring AI创建MCP服务器和客户端,展示主题公园API工具
- Http SSE客户端+WebVC SSE服务器 -展示如何创建和使用具有不同功能的MCP WebVC服务器和HttpClient客户端。
- WebFlux SSE客户端+WebFlux上证服务器 -展示如何创建和使用具有不同功能的MCP WebFlux服务器和客户端
- HttpClient SSE客户端+Servlet SSE服务器 -展示如何创建和使用具有不同功能的MCP Servlet SSE服务器和HttpClient SSE客户端
文档
发展
- 从源头构建
mvn clean install
- 运行测试
mvn test
贡献
这是一个春季实验项目。欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 提交拉取请求
团队
- 克里斯蒂安·佐洛夫
- 达里乌斯 Jędrzejczyk
链接
许可证
该项目根据 Apache许可证2.0.