Spring AI MCP:用于模型上下文协议的 Java SDK

banq


Spring AI MCP是模型上下文协议 (MCP)的强大 Java SDK 实现。Spring AI 生态系统的这一新成员为 Java 平台带来了标准化的 AI 模型集成功能。

什么是MCP?
MCP 是一种开放协议,它标准化了应用程序向 LLM 提供上下文的方式。可以将 MCP 视为 AI 应用程序的 USB-C 端口。正如 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 提供了一种将 AI 模型连接到不同数据源和工具的标准化方式。

为什么选择 MCP?
MCP 可帮助您在 LLM 之上构建代理和复杂的工作流。LLM 通常需要与数据和工具集成,而 MCP 可提供:

  • 您的 LLM 可以直接插入不断增加的预构建集成列表
  • 在 LLM 提供商和供应商之间切换的灵活性
  • 保护基础架构内数据的最佳实践

体架构
MCP 的核心是客户端-服务器架构,其中主机应用程序可以连接到多个服务器:

  • MCP 主机:希望通过 MCP 访问数据的程序,例如 Claude Desktop、IDE 或 AI 工具
  • MCP 客户端:与服务器保持 1:1 连接的协议客户端
  • MCP 服务器:轻量级程序,每个程序都通过标准化模型上下文协议公开特定功能
  • 本地数据源:MCP 服务器可以安全访问的您的计算机文件、数据库和服务
  • 远程服务:MCP 服务器可通过互联网(例如通过 API)连接到的外部系统

Spring AI MCP实现模块化架构,包含以下组件:

  • Spring AI 应用程序:使用 Spring AI 框架构建想要通过 MCP 访问数据的生成式 AI 应用程序
  • Spring MCP 客户端:Spring AI 实现的 MCP 协议,与服务器保持 1:1 连接
  • MCP 服务器:轻量级程序,每个程序都通过标准化模型上下文协议公开特定功能
  • 本地数据源:MCP 服务器可以安全访问的计算机文件、数据库和服务
  • 远程服务:MCP 服务器可通过互联网(例如通过 API)连接到的外部系统


入门
Spring AI MCP GitHub:https ://github.com/spring-projects-experimental/spring-ai-mcp

Maven 依赖项
将以下依赖项之一添加到您的 Maven 项目:

<dependency>
    <groupId>org.springframework.experimental</groupId>
    <artifactId>spring-ai-mcp-core</artifactId>
    <version>0.1.0</version>
</dependency>

或者

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

后者spring-ai-mcp-core通过附加的 Spring AI 抽象来扩展,例如McpFunctionCallback。

Maven 存储库配置
添加 Spring Milestones 存储库:

<repositories>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/libs-milestone-local</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>


示例演示
在spring-ai-examples/model-context-protocol存储库中探索这些 MCP 示例: