你有没有想过,为什么现在的AI助手只能回答一些通用问题,却无法帮你查快递、订外卖、或者根据你的位置推荐约会地点?
答案很简单:AI模型被“关在笼子里”了。它们虽然有强大的推理能力,但无法直接访问外部数据源和API。
MCP(Model Context Protocol,模型上下文协议)的出现,就是为了解决这个问题。它就像是AI应用的USB接口,为AI模型连接不同的数据源和工具提供了标准化的方法。
根据官方定义,MCP是一种开放协议,它标准化了应用程序如何向大模型提供上下文的方式。
MCP本身不是一种技术,而是一种开放标准。它的目标是增强AI与外部系统的交互能力,让AI能够:
- 访问最新数据
- 执行复杂操作
- 与现有系统集成

通过MCP协议,AI应用可以轻松接入别人提供的服务来实现更多功能,比如:
- 搜索网页
- 查询数据库
- 调用第三方API
- 执行计算任务
MCP定义好了一套规范,让服务提供者和服务使用者去遵守。就像HTTP协议一样,它定义好了请求和响应的格式,让不同的服务可以方便地交互。
以前,如果你想给AI增加查询地图的能力,需要自己开发工具来调用第三方地图API。如果有多个项目,或者其他开发者也需要同样的能力,大家就要重复开发。
而现在,如果有人把查询地图的能力直接做成一个MCP服务,谁要用谁接入,省去了开发成本,还能保证效果一致。当大家都陆续开放自己的服务,就相当于打造了一个服务市场,造福广大开发者!
MCP的核心是 “客户端-服务器”架构,一个MCP客户端主机可以连接到多个MCP服务器。

从上图可以看出:
- MCP客户端主机(如Claude、IDE、AI工具)作为中心节点
- MCP服务A/B/C分别连接不同的数据源:
- 本地数据源
- 文件系统
- 第三方API(通过远程调用)
如果要在程序中使用MCP或开发MCP服务,可以引入MCP官方的SDK。MCP SDK主要分为三层:

传输层支持多种实现方式:
- Stdio(标准输入/输出流):适用于本地调用
- SSE(Server-Sent Events):基于HTTP,适用于远程调用
很多人以为MCP协议只能提供工具给别人调用,但按照官方的说法,总共有6大核心概念:
MCP Client是MCP架构中的关键组件,主要负责:
- 与MCP服务器建立连接并进行通信
- 自动匹配服务器的协议版本
- 确认可用功能
- 负责数据传输和JSON-RPC交互
- 发现和使用各种工具、管理资源
支持的传输方式:
- Stdio标准输入/输出(本地调用)
- 基于Java HttpClient和WebFlux的SSE传输(远程调用)
MCP Server负责为客户端提供各种工具、资源和功能支持:
- 处理客户端的请求
- 解析协议、提供工具
- 管理资源、处理交互信息
- 记录日志、发送通知
- 支持多客户端同时连接
关键优势: 客户端和服务端完全解耦,任何语言开发的客户端都可以调用MCP服务。
让我们通过一个实际案例,了解如何在Spring AI框架中使用MCP。
实现一个能够根据另一半的位置推荐约会地点的AI助手。
1. 引入依赖
在项目中添加Spring AI框架的MCP客户端依赖。
2. 配置MCP服务
在MCP服务市场中搜索地图服务,创建MCP Server的配置文件 mcp-servers.json:
{ “mcpServers”: {
"amap-maps": { "command": "npx", "args": [ "-y", "@amap/amap-maps-mcp-server" ], "env": { "AMAP_MAPS_API_KEY": "改成你的 API Key" } }
} }
3. 配置Spring
修改Spring配置文件,由于是本地运行MCP服务,使用Stdio传输方式:
spring: ai:
mcp: client: request-timeout: 30s stdio: servers-configuration: classpath:mcp-servers.json
4. 编写业务代码
通过自动注入的ToolCallbackProvider获取MCP服务提供的所有工具,并提供给ChatClient:
@Resource private ToolCallbackProvider toolCallbackProvider;
public String doChatWithMcp(String message, String chatId) “, content);
return content;
}

从上图可以看到,MCP客户端成功识别到了地图服务提供的工具,比如 maps_regeocode(将高德经纬度坐标转换为行政区划地址信息)。
从代码可以看出,MCP调用的本质就是工具调用:
- 并不是让AI服务器主动去调用MCP服务
- 而是告诉AI “MCP服务提供了哪些工具”
- 如果AI想要使用这些工具完成任务,就会告诉后端程序
- 后端程序执行工具后将结果返回给AI
- 最后由AI总结并回复
MCP协议为AI应用打开了一扇通往外部世界的大门:
随着MCP生态的不断发展,我们可能会看到:
- 更多的MCP服务被开放出来
- AI应用的能力边界被极大扩展
- 开发者可以像搭积木一样组合各种MCP服务
MCP,正在让AI从“大脑”变成真正能“动手”的智能体。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/261045.html