AI模型交互协议

提供Java SDK和Spring框架集成,支持通过标准化接口与AI模型和工具进行交互,包括同步和异步通信模式。

  • by spring-attic
  • Java
  • 本地部署
  • 203 星标
  • 更新于
在 GitHub 查看 spring-projects-experimental/spring-ai-mcp

使用说明

注:此项目已毕业并移至 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示例/模型上下文协议 存储库:

文档

发展

  • 从源头构建
mvn clean install
  • 运行测试
mvn test

贡献

这是一个春季实验项目。欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 提交拉取请求

团队

  • 克里斯蒂安·佐洛夫
  • 达里乌斯 Jędrzejczyk

链接

许可证

该项目根据 Apache许可证2.0.