主题
Model Context Protocol (MCP) 入门
Model Context Protocol(MCP)标准化了 AI 应用与外部工具及资源交互的方式。
Spring 很早便作为关键贡献者加入了 MCP 生态,参与开发和维持 官方 MCP Java SDK,该 SDK 是基于 Java 的 MCP 实现的基础。 在此基础上,Spring AI 通过 Boot Starters 和注解提供对 MCP 的支持,让构建 MCP 服务端与客户端都变得轻松。
介绍视频
Model Context Protocol (MCP) 入门 - YouTube
从这里开始,了解 Model Context Protocol 的概览,理解其核心概念与架构。
完整教程与源代码
📖 博客教程: 将你的 AI 连接到一切
💻 完整源代码: MCP 天气示例仓库
本教程涵盖使用 Spring AI 进行 MCP 开发的要点,包括高级特性与部署模式。 以下所有代码示例均取自本教程。
快速开始
最快捷的上手方式是使用 Spring AI 基于注解的方法。以下示例取自该博客教程:
简单 MCP 服务端
java
@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);
}
}添加依赖并进行配置:
xml
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-mcp-server-webmvc</artifactId>
</dependency>properties
spring.ai.mcp.server.protocol=STREAMABLE简单 MCP 客户端
java
@Bean
public CommandLineRunner demo(ChatClient chatClient, ToolCallbackProvider mcpTools) {
return args -> {
String response = chatClient
.prompt("What's the weather like in Paris?")
.tools(mcpTools)
.call()
.content();
System.out.println(response);
};
}添加依赖并进行配置:
xml
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-mcp-client</artifactId>
</dependency>yaml
spring:
ai:
mcp:
client:
streamable-http:
connections:
weather-server:
url: http://localhost:8080学习资源
实现视频
Spring AI Model Context Protocol (MCP) 集成 - YouTube
一段关于 Spring AI 的 MCP 集成的视频讲解,同时涵盖服务端与客户端实现。
更多示例仓库
除教程示例之外,Spring AI Examples 仓库还包含大量 MCP 实现。
推荐起点
基于注解的示例
- Complete Annotations Example - 全部注解特性(客户端与服务端)
- Sampling with Annotations - 高级双向 AI(客户端与服务端)
- MCP Weather Tutorial - 完整教程源代码(客户端与服务端)
按用例分类
天气服务:
数据集成:
Web 集成:
客户端示例:
社区资源
- Awesome Spring AI - 社区示例与资源
- Official MCP Specification
- Official MCP Java SDK - 由 Spring 团队开发的 Java SDK
- MCP Java SDK Documentation