初识模型上下文协议-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
相关推荐
秃头摸鱼侠8 小时前
在 Claude Code 中设置 MCP 服务器(技术总结)
claude·mcp
关关长语2 天前
(一) Dotnet使用MCP的Csharp SDK
网络·.net·mcp
中等生2 天前
深入理解 MCP 的三种传输方式
aigc·mcp
货拉拉技术2 天前
网关 MCP 转换技术:从实现到平台落地
java·架构·mcp
_Mya_3 天前
后端接口又改了?让 Apifox MCP 帮你自动同步类型定义
前端·人工智能·mcp
云草桑3 天前
.net AI MCP 入门 适用于模型上下文协议的 C# SDK 简介(MCP)
ai·c#·.net·mcp
Zabbix中国4 天前
MCP 打通AI大模型与 Zabbix,运维新时代来了!
zabbix·mcp
大模型真好玩5 天前
LangGraph实战项目:从零手搓DeepResearch(一)——DeepResearch应用体系详细介绍
人工智能·python·mcp
想躺平的咸鱼干6 天前
远程MCP的调用和阿里云生态的知识库和工作流的使用
阿里云·大模型·云计算·idea·格式化输出·mcp