开始使用模型上下文协议 (MCP)
模型上下文协议(MCP)标准化了人工智能应用与外部工具及资源交互的方式。
Spring 很早就作为关键贡献者加入了 MCP 生态系统,协助开发并维护了官方的 MCP Java SDK,该 SDK 为基于 Java 的 MCP 实现提供了基础。基于此贡献,Spring AI 通过 Boot Starters 和注解提供了 MCP 支持,使得构建 MCP 服务器和客户端变得非常容易。
介绍视频
从这里开始,了解 Model Context Protocol 的介绍性概述,解释核心概念和架构。
完整教程与源代码
📖 博客教程: 连接你的AI到万物
💻 完整源代码: MCP 天气示例仓库
本教程涵盖了使用Spring AI进行MCP开发的基本要点,包括高级功能和部署模式。以下所有代码示例均出自本教程。
快速开始
最快上手的方法是使用 Spring AI 的基于注解的方式。以下示例来自博客教程:
简单 MCP 服务器
@Service
public class WeatherService {
@McpTool(description = "Get current temperature for a location")
public String getTemperature(
@McpToolParam(description = "City name", required = true) String city) {
return String.format("Current temperature in %s: 22°C", city);
}
}
添加依赖项并进行配置:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
</dependency>
spring.ai.mcp.server.protocol=STREAMABLE
简单 MCP 客户端
@Bean
public CommandLineRunner demo(ChatClient chatClient, ToolCallbackProvider mcpTools) {
return args -> {
String response = chatClient
.prompt("What's the weather like in Paris?")
.toolCallbacks(mcpTools)
.call()
.content();
System.out.println(response);
};
}
添加依赖并进行配置:
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-mcp-client</artifactId>
</dependency>
spring:
ai:
mcp:
client:
streamable-http:
connections:
weather-server:
url: http://localhost:8080
学习资源
实现视频
Spring AI MCP集成的视频教程,涵盖了服务器端和客户端实现。
附加示例库
除了教程示例之外,Spring AI Examples 仓库中还包含了众多 MCP 的实现。
推荐起点
基于注解的示例
按用例
天气服务:
数据集成:
Web 集成:
客户端示例:
社区资源
-
Awesome Spring AI - 社区示例与资源
-
官方 MCP Java SDK - 由 Spring 团队开发的 Java SDK