我们很高兴推出 Spring AI MCP,它是模型上下文协议(Model Context Protocol,MCP)的强大 Java SDK 实现。Spring AI 生态系统的这一新成员为 Java 平台带来了标准化的 AI 模型集成能力。
MCP 是什么? {#mcp-是什么}
模型上下文协议(MCP)是一种开放式协议,它规范了应用程序为大型语言模型(LLM)提供上下文的方式。MCP 提供了一种将人工智能模型连接到不同数据源和工具的标准化方法,使集成无缝且一致。它可以帮助你在 LLM 的基础上构建代理和复杂的工作流程。LLM 经常需要与数据和工具集成,而 MCP 提供了以下功能:
- 一个不断扩充的预构建集成列表,你的大语言模型(LLM)可以直接接入使用。
- 在不同的大语言模型(LLM)提供商和供应商之间灵活切换的能力。
总体结构 {#总体结构}
MCP 的核心是客户端-服务器(CS)架构,一个应用可以连接多个服务器。
Spring AI MCP 采用模块化架构,包含以下组件:
- Spring AI 应用: 使用 Spring AI 框架构建希望通过 MCP 访问数据的生成式 AI 应用。
- Spring MCP 客户端:与服务器保持 1:1 连接的 MCP 协议的 Spring AI 实现。
- MCP 服务器:轻量级程序,每个程序都通过标准化的模型上下文协议公开特定功能。
- 本地数据源:MCP 服务器可安全访问的计算机文件、数据库和服务。
- 远程服务:MCP 服务器可通过互联网(如 API)连接的外部系统。
该架构支持广泛的用例,从简单的文件系统访问到复杂的多模型人工智能与数据库和互联网连接的交互。
入门 {#入门}
Spring AI MCP GitHub:https://github.com/spring-projects-experimental/spring-ai-mcp
Maven 依赖 {#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 抽象(如 McpFunctionCallback
)对 spring-ai-mcp-core 进行了扩展。
Maven Repository 配置 {#maven-repository-配置}
添加 Spring Milestones repository:
<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>
示例 {#示例}
完整的 MCP 示例在 spring-ai-examples/model-context-protocol 仓库中:
- SQLite Simple - 演示 LLM 与数据库的集成。
- SQLite Chatbot - 与 SQLite 数据库互动的交互式聊天机器人。
- Filesystem - 使 LLM 能够与本地文件系统文件夹和文件交互。
展望未来 {#展望未来}
Spring AI MCP 代表着 Java 应用程序在人工智能集成标准化方面迈出的重要一步。随着 MCP 生态系统的发展壮大,该 SDK 将使 Java 开发人员能够轻松连接不断扩展的人工智能(AI)模型和工具,同时保持一致、可靠的集成模式。
Spring AI MCP SDK 现已作为实验模块推出,采用 Apache License 2.0 许可。我们诚邀社会各界共同探索、贡献力量,帮助塑造 Java 生态系统中人工智能集成的未来。
Ref:https://spring.io/blog/2024/12/11/spring-ai-mcp-announcement