领先一步
VMware 提供培训和认证,助您加速进步。
了解更多这篇博文由 David Soria Parra、Christian Tzolov 和 Dariusz Jędrzejczyk 联合撰写。
Model Context Protocol (MCP) 是由 Anthropic 开发的一项开放协议,它正在改变 AI 应用程序连接和共享上下文的方式。它已获得跨 AI 应用程序的广泛支持,作为大型语言模型 (LLM) 与数据源、工具和 AI 代理交互的标准接口。无论您是构建需要访问数据库的自主系统,编排复杂的 AI 工作流,还是创建多个代理协作的系统,MCP 都提供了使这些集成无缝的基础层。
MCP 的独特之处在于其对可组合性和互操作性的关注。 MCP 不仅仅是连接到数据源,它还使开发人员能够构建丰富、交互式的 AI 系统,在这些系统中,代理可以通过一致的接口共享上下文、访问工具并协同工作。这意味着您可以快速接入不断增长的预构建集成生态系统,同时保持在不同 LLM 提供商之间切换的灵活性,使其成为构建复杂 AI 应用程序的理想基础。
去年 11 月开始的实验性项目,现已发展成为与 Spring AI 团队和 Anthropic 的激动人心的合作。我们很高兴地宣布,该实验性项目已移入官方 MCP Java SDK。
该 SDK 是该协议的最新语言绑定,与 Python、TypeScript 和 Kotlin SDK 一起,可在 modelcontextprotocol.io 上找到。Java 长期以来一直是企业的语言,MCP Java SDK 使组织能够更轻松地开发尖端的 AI 应用程序。
MCP Java SDK 为集成 AI 模型与外部工具和数据源提供了全面的基础。该 SDK 的主要功能包括:
基于 Spring WebFlux 的 SSE 传输,用于响应式应用程序。
基于 Spring WebMVC 的 SSE 传输,用于基于 Servlet 的应用程序。
请查阅 文档,了解有关入门的更多信息,并访问 GitHub 仓库 来提出问题和参与讨论。
Spring AI 项目通过添加开发人员生产力增强功能来扩展 MCP Java SDK,以集成 Spring Boot 应用程序。借助 Spring Boot starters,开发人员可以使用 Spring 的依赖注入和配置管理来快速配置 MCP 客户端和服务器,从而更轻松地将 AI 驱动的工作流集成到他们的应用程序中。
spring-ai-mcp-client-spring-boot-starter – 支持 STDIO 和基于 HTTP 的 SSE 传输的核心客户端启动器。spring-ai-mcp-client-webflux-spring-boot-starter – 用于响应式应用程序的基于 WebFlux 的 SSE 传输实现。spring-ai-mcp-server-spring-boot-starter – 支持 STDIO 传输的核心服务器启动器。spring-ai-mcp-server-webmvc-spring-boot-starter – 用于基于 Servlet 的应用程序的基于 Spring MVC 的 SSE 传输实现。spring-ai-mcp-server-webflux-spring-boot-starter – 用于响应式应用程序的基于 WebFlux 的 SSE 传输实现。以下是如何声明式配置一个通过 STDIO 传输的客户端应用程序的示例。在 application.yml 中,定义以下配置:
spring:
ai:
mcp:
client:
stdio:
servers-configuration: classpath:mcp-servers.json
引用的 JSON 文件以 Claude Desktop 格式定义了要连接的服务器。
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/Users/username/Downloads"
]
}
}
}
当客户端应用程序启动时,它将启动 MCP 服务器,建立 STDIO 通信通道,并管理服务器的生命周期。
Spring AI M6 还引入了 @Tool 注解,这简化了 MCP 服务器的创建。有关更多信息,请阅读 Spring AI 关于 MCP 的 参考文档。
我们期待在 GitHub 上收到反馈,并非常感谢 Anthropic 团队的支持。