初识模型上下文协议-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
相关推荐
zhangshuang-peta1 小时前
MCP 与 AI Agent:为什么 Agent 离不开协议?
人工智能·ai agent·mcp·peta
zhangshuang-peta2 小时前
MCP 的执行与回执:如何让每一步可追踪、可验证、可审计?
人工智能·ai agent·mcp·peta
313YPHU32 小时前
【MCP】第一章 初识 MCP
mcp
本旺6 小时前
[AIAgent-MCP]MCP Client 全景:Elicitation、Roots 与 Sampling 一次讲透
人工智能·ai·aiagent·mcp
海兰6 小时前
使用 TypeScript 创建 Elasticsearch MCP 服务器
服务器·elasticsearch·typescript·mcp
tzy2331 天前
Skill 为什么“淘汰”了 MCP?
ai·agent·function call·skill·mcp
OpenTiny社区1 天前
WebAgent :基于 MCP 协议打造的智能应用“超级路由器”
前端·agent·mcp
最初的↘那颗心1 天前
企业级 AI Agent 工程方法论:安全防线、协作网格与质量飞轮(下)
ai agent·安全防御·agentops·mcp·a2a
最初的↘那颗心1 天前
企业级 AI Agent 工程方法论:从原型到生产的完整指南(上)
大模型·rag·ai agent·mcp·企业级ai