初识模型上下文协议-MCP

前言

大语言模型(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 采用模块化的客户端-服务器架构,包含三个核心组件:

  1. 主机进程(Host):运行大模型的应用程序,连接用户界面
  2. MCP 客户端(Client):负责发送请求和接收响应,处理协议转换
  3. 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 的工作流程

当用户发出请求时:

  1. MCP 解析请求并调用相应的工具
  2. 工具访问资源后将结果返回给客户端
  3. 客户端将结果传递给大模型
  4. 大模型结合上下文生成自然语言输出

如何获取 MCP Server

如果想查找当前存在的MCP Server,可到如下网址查看:

  1. MCP官方资源
  2. MCP热门资源
  3. Smithery
  4. Glama
  5. Cursor
  6. MCP.so
  7. 阿里云百炼

Cursor 中使用 MCP

有两种方式:

  1. 项目级配置(推荐 ):在项目根目录创建.cursor/mcp.json
  2. 全局配置:在用户主目录创建:
    • Windows: C:\Users\你的用户名.cursor\mcp.json
    • macOS/Linux: ~/.cursor/mcp.json
相关推荐
over69717 小时前
从 LLM 到全栈 Agent:MCP 协议 × RAG 技术如何重构 AI 的“做事能力”
面试·llm·mcp
用户120391129472617 小时前
从MCP到RAG:Agent的开发之路
agent·mcp
用户83071968408219 小时前
spring ai alibaba + nacos +mcp 实现mcp服务负载均衡调用实战
spring boot·spring·mcp
栀秋6661 天前
重塑 AI 交互边界:基于 LangChain 与 MCP 协议的全栈实践
langchain·llm·mcp
神秘的猪头2 天前
🔌 给 AI 装上“三头六臂”!实战大模型接入第三方 MCP 全攻略
langchain·llm·mcp
神秘的猪头3 天前
🔌 把 MCP 装进大脑!手把手带你构建能“热插拔”工具的 AI Agent
langchain·llm·mcp
小兵张健3 天前
AI 页面与交互迁移流程参考
前端·ai编程·mcp
小兵张健3 天前
掘金发布 SOP(Codex + Playwright MCP + Edge)
前端·mcp
Qinana3 天前
从代码到智能体:MCP 协议如何重塑 AI Agent 的边界
前端·javascript·mcp
神秘的猪头3 天前
🚀 拒绝“手搓”工具!带你硬核手写 MCP Server,解锁 Agent 的无限潜能
agent·mcp·trae