前言
大语言模型(Large Language Model,简称LLM )是当前人工智能(AI)领域最具代表性的技术之一,本质是基于海量文本数据训练、能理解人类语言、生成类人文本、具备逻辑推理能力的深度学习模型。它的核心价值是 "打通人机语言交互的壁垒",让机器从 "被动响应指令" 升级为 "主动理解意图、生成高质量语言内容",是 ChatGPT、文心一言等主流 AI 产品的技术核心。
模型上下文协议(Model Context Protocol,简称MCP )是 AI 领域新兴的技术规范 ,旨在解决大语言模型(LLM)与外部系统交互时 的 "上下文管理标准化" 问题。它就像 AI 应用的 "通用接口",让不同的工具、数据源和模型能够无缝协作,核心目标是统一 "向 LLM 提供信息" 的方式,提升 AI 应用开发的效率和灵活性。
举个简单的例子来说明MCP的作用。
假设你在使用 AI 助手管理公司的产品库存系统:
没有 MCP 的情况 ❌
你:帮我查一下上个月销量最好的 5 个产品、
AI:抱歉,我无法访问您的数据库。我只能基于训练数据提供一般性建议。
使用 MCP 的情况 ✅
你:帮我查一下上个月销量最好的 5 个产品
AI:[通过 MCP 连接到数据库服务器] → MCP 客户端调用数据库工具 → 执行 SQL 查询 → 获取实时数据 → 根据数据库查询结果,输出上个月销量最好的 5 个产品
MCP 的主要目的
MCP 旨在为大型语言模型(LLM)应用提供标准化接口,使其能够:
- 连接外部数据源和工具
- 动态获取所需的上下文信息
- 克服仅依赖训练数据的局限性
- 执行更广泛的任务
用一张图解释就是:

MCP 优势
- 标准化接口:一次开发,所有 AI 应用共享
- 动态数据访问:AI 可以获取最新、实时的数据
- 打破信息壁垒:连接企业内部系统、数据库、API 等
- 集成复杂度降低:服务器端开发一次,所有 AI 应用都能使用
- 方便功能扩展:MCP前通过在AI应用中硬编码的方式实现部分功能,扩展困难
MCP 的技术架构
MCP 采用模块化的客户端-服务器架构,包含三个核心组件:
- 主机进程(Host):运行大模型的应用程序,连接用户界面
- MCP 客户端(Client):负责发送请求和接收响应,处理协议转换
- MCP 服务器(Server):通过标准化的 MCP 协议,提供各类工具的能力
MCP 的传输机制
MCP 官方主要支持的是 stdio 和 SSE(Server-Sent Events) 两种传输机制。
Stdio(标准输入输出)传输
MCP 默认的通信方式,主要用在本地服务上,所有的通信都在本地进程间。
消息格式
每条消息都是一行 JSON-RPC 2.0 格式,以换行符分隔:
json
// 客户端通过 stdin 发送:
{"jsonrpc":"2.0","id":1,"method":"tools/list"}\n
// 服务器通过 stdout 返回:
{"jsonrpc":"2.0","id":1,"result":{"tools":[...]}}\n
优缺点
优点 | 缺点 |
---|---|
极低延迟:进程间通信,无网络开销 | 仅限本地:客户端和服务器必须在同一台机器 |
高安全性:不暴露网络端口 | 单客户端:一个服务器只能服务一个客户端 |
简单实现:无需网络配置 | 难以调试:需要查看进程间通信 |
跨平台:所有操作系统都支持 stdio | 资源隔离差:子进程崩溃可能影响主进程 |
SSE(Server-Sent Events)传输
主要用在远程通信服务上,这个服务本身有在线的API,比如访问你的谷歌邮件、天气情况等。
优缺点
优点 | 缺点 |
---|---|
远程访问:跨网络通信,客户端可在任何地方 | 网络延迟:依赖网络质量 |
多客户端:一个服务器可同时服务多个客户端 | 复杂性高:需要配置网络、CORS、认证等 |
实时推送:服务器可主动推送事件 | 连接不稳定:网络问题可能导致断连 |
Web 友好:浏览器原生支持 SSE | 浏览器限制:每个域最多 6 个 SSE 连接 |
可监控:可通过网络工具调试 | 安全考虑:需要 HTTPS、认证、授权 |
MCP 的工作流程
当用户发出请求时:
- MCP 解析请求并调用相应的工具
- 工具访问资源后将结果返回给客户端
- 客户端将结果传递给大模型
- 大模型结合上下文生成自然语言输出
如何获取 MCP Server
如果想查找当前存在的MCP Server,可到如下网址查看:
Cursor 中使用 MCP
有两种方式:
- 项目级配置(推荐 ):在项目根目录创建
.cursor/mcp.json
。 - 全局配置:在用户主目录创建:
- Windows: C:\Users\你的用户名.cursor\mcp.json
- macOS/Linux: ~/.cursor/mcp.json