抢先一步
VMware 提供培训和认证,助您快速提升。
了解更多本博客文章由 David Soria Parra、Christian Tzolov 和 Dariusz Jędrzejczyk 合著。
Model Context Protocol (MCP) 是由 Anthropic 开发的一个开放协议,正在改变人工智能应用程序连接和共享上下文的方式。它在各种人工智能应用程序中获得了广泛支持,作为大型语言模型 (LLM) 与数据源、工具和人工智能代理交互的标准化接口。无论您是构建需要访问数据库的自主系统、协调复杂的人工智能工作流,还是创建多个代理协作的系统,MCP 都提供了使这些集成无缝衔接的基础层。
MCP 的独特之处在于它专注于可组合性和互操作性。除了连接数据源,MCP 还使开发者能够构建丰富、交互式的人工智能系统,其中代理可以通过一致的接口共享上下文、访问工具并协同工作。这意味着您可以快速接入不断增长的预构建集成生态系统,同时保持在不同 LLM 提供商之间切换的灵活性,使其成为构建复杂人工智能应用的理想基础。
去年 11 月启动的一个实验项目,现已发展成为与 Spring AI 团队和 Anthropic 的激动人心的合作。我们很高兴地宣布,该实验项目已纳入官方 MCP Java SDK。
该 SDK 是该协议最新的语言绑定,与 Python、TypeScript 和 Kotlin SDK 一起发布在 modelcontextprotocol.io 上。长期以来,Java 一直是企业语言,而 MCP Java SDK 使组织更容易开发前沿的人工智能应用。
MCP Java SDK 为将人工智能模型与外部工具和数据源集成提供了全面的基础。该 SDK 的主要功能包括:
基于 Spring WebFlux 的 SSE 传输,用于响应式应用。
基于 Spring WebMVC 的 SSE 传输,用于基于 Servlet 的应用。
请查阅文档了解更多入门信息,并访问GitHub 仓库提出问题和参与讨论。
Spring AI 项目通过增加开发者生产力增强功能来扩展 MCP Java SDK,以便与 Spring Boot 应用集成。借助 Spring Boot starter,开发者可以使用 Spring 的依赖注入和配置管理快速配置 MCP 客户端和服务端,从而更容易将人工智能驱动的工作流集成到他们的应用中。
spring-ai-mcp-client-spring-boot-starter
– 核心客户端 starter,支持 STDIO 和基于 HTTP 的 SSE 传输。spring-ai-mcp-client-webflux-spring-boot-starter
– 基于 WebFlux 的 SSE 传输实现,用于响应式应用。spring-ai-mcp-server-spring-boot-starter
– 核心服务端 starter,支持 STDIO 传输。spring-ai-mcp-server-webmvc-spring-boot-starter
– 基于 Spring MVC 的 SSE 传输实现,用于基于 Servlet 的应用。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 团队的支持。