概念
MCP (Model Context Protocol)
是一种新的开放协议,旨在标准化应用程序向大型语言模型 (LLMs) 提供上下文的方式,能够实现大模型读取自己的内容。MCP 就像是电脑的 USB 接口,只要能插到这个接口,电脑就能读取到里面的内容。
通过 MCP,就实现了外部的应用数据和大模型之间的交互。比如可以通过大模型直接创建自己的日历事件,告诉大模型如何回复邮件,就可以通过大模型智能地管理自己的方方面面。MCP 就是中间的桥梁
应用场景
- 旅行规划助手
-
使用 API:您需要为 Google Calendar、电子邮件、航空公司预订 API 分别编写代码,每个 API 都有自定义的身份验证、上下文传递和错误处理逻辑
-
使用 MCP:您的 AI 助手流畅地检查您的日历以确认可用性,预订航班,并通过 MCP 服务器发送确认邮件 - 无需针对每个工具进行自定义集成
- 高级 IDE
- 使用 API:您需要手动将 IDE 与文件系统、版本控制、包管理器和文档集成
- 使用 MCP:您的 IDE 通过单一的 MCP 协议连接到这些,启用更丰富的上下文感知和更强大的建议——cursor
- 复杂数据分析
- 使用 API:您需要手动管理与每个数据库和数据可视化工具的连接
- 使用 MCP:您的 AI 分析平台通过统一的 MCP 层自主发现并与多个数据库、可视化和仿真进行交互
实现了老罗的梦想,TNT 的终极形态,甚至可以更进一步,让提出自己的需求,让 AI 自动整理数据,生成图标和报告
MCP 和 API 接口
为什么通过 MCP 而不是通用的 HTTP API 接口?
API 就像单独的门 - 每扇门都有自己的钥匙和规则。通过定义统一的标准规范,就能省去大模型适配的复杂过程。
MCP 和 API 的关键区别
- 单一协议:MCP 作为一个标准化的“连接器”,因此集成一个 MCP 意味着可能访问多个工具和服务,而不仅仅是一个
- 动态发现:MCP 允许 AI 模型动态发现并与可用工具交互,而无需对每个集成的硬编码知识
- 双向通信:MCP 支持持久的、实时的双向通信——类似于 WebSockets。AI 模型既可以检索信息,也可以动态触发动作
为什么需要双向通信?
因为既需要拉取数据(知道我有哪些事项);又需要触发动作(在日历里增加新的事项)
架构
- MCP 主机(MCP Hosts):大模型提供商-OpenAI、Claude、DeepSeek…
- MCP 客户端(MCP Clients):基于规范编写的 MCP 程序代码
- MCP 服务器(MCP Servers):通过 MCP 暴露特定功能的轻量级服务器
- 远程服务器:谷歌日历、谷歌邮件…
- 本地服务器:读取本地的文件、数据库等
MCP 使用
查询 MCP 服务
可以通过 awesome-mcp-servers 来查询
以 server-fetch 为例,即可查询到需要配置的内容
Cherry Studio 使用 MCP
Cherry Studio 是一个支持多平台的AI客户端,可以自己配置不同厂家的 api key,在本地灵活切换不同的服务商;另外支持一些其他的功能。
点击 MCP 服务器,进去之后提示需要安装 uv
、bun
,可以参考他们的官方文档
我点击无法安装,通过进入官方 github 的地址,通过 curl 下载脚本安装。
但是脚本默认安装位置不对,需要将 uv、uvx、bun 的二进制文件移动到 ~/cherrystudio/bin 目录下(MacOS)
STDIO 类型配置
STDIO 类型的 MCP 服务在本地运行,可以访问本地文件和系统资源
配置 fetch 服务
- 方法 1:添加服务器配置
- 方法 2:编辑 json 文件配置
将前面 uvx 复制的内容粘贴到 JSON 配置中
通过 fetch 可以直接抓取网页内容
SSE 类型配置
SSE 类型的 MCP 服务配置简单,只需提供服务器的 URL。此类型服务在远程服务器上运行,无法访问本地资源。
Cursor 使用 MCP
SSE 模型接入高德查询天气
- 进入设置
cursor->cursor settings
- 找到
MCP Servers
,点击Add new MCP server
- 输入名称,类型选择
SSE
,填入 URLhttps://mcp.amap.com/sse?key=您在高德官网上申请的key
看到状态变为绿色表示成功
- 在
COMPOSER
模式下,通过 agent 调用高德 MCP,查询天气
STDIO 使用本地的 MCP 服务
服务创建
注意如果要启动的话,node version 要 >=18
当前有了 /Users/xxx/Projects/cursor/mcp/weather/weather.py
的文件,在 cursor 中新增 MCP 服务
uv --directory /Users/renjie.pu/Projects/cursor/mcp/weather run weather.py
在添加完之后,可以看到右边能够正常调用 MCP 服务查询美国的天气预警
参考资料
What is Model Context Protocol (MCP)? How it simplifies AI integrations compared to APIs