当前位置: 首页 > news >正文

MCP 爆火背后:是技术革命,还是精心包装的“新瓶旧酒”?

、MCP 到底是什么?

1.1 一句话说清楚

MCP(Model Context Protocol,模型上下文协议) 是一套标准化的协议,用来规范 AI 应用如何调用外部工具和数据源。

听起来还是有点抽象?我们换个说法:

想象你在开发一个 AI 助手,需要接入:

📍 地图服务:查地址、规划路线

🌤️ 天气查询:实时天气、天气预报

📊 数据库:查用户数据、订单信息

📧 邮件服务:发送通知

没有 MCP 之前:每个服务都有自己的接口格式

A 服务用 JSON-RPC

B 服务用 REST API

C 服务用 gRPC

D 服务要自定义协议

你得分别研究每个 API 文档,写不同的适配代码,维护多套调用逻辑。团队协作时还要反复对齐接口格式。

有了 MCP 之后:大家约定统一的"接口标准"

工具提供方按 MCP 协议暴露能力(MCP Server)

AI 应用按 MCP 协议调用工具(MCP Client)

格式、认证、错误处理都有统一规范

类比理解:MCP 之于 AI 工具调用,就像 USB 之于数据传输。

没有 USB 前:每个设备都有自己的接口(各种圆口、方口、扁口),乱七八糟

有了 USB 后:一个标准走天下,插上就能用

1.2 MCP 解决的核心问题

我们用一个实际场景说明:

场景:你在做一个智能客服系统,需要:

查询用户订单状态(调用内部订单系统 API)

查询物流信息(调用顺丰/京东物流 API)

查询商品库存(调用库存系统 API)

发送客服消息(调用企业微信 API)

问题 1:接口格式不统一

// 订单系统的接口

{

"action": "query_order",

"params": {"order_id": "12345"}

}

// 物流系统的接口

{

"method": "trackShipment",

"arguments": {"tracking_no": "SF123456"}

}

// 库存系统的接口

POST /api/inventory/check

Body: {"sku": "PROD-001", "warehouse": "BJ"}

每个接口都不一样,你得写大量的适配代码。

问题 2:AI 不知道该调用哪个工具

AI 收到用户问题"我的订单什么时候到?",需要判断:

这个问题需要调用什么工具?

需要哪些参数?

参数从用户的话里怎么提取?

没有统一规范,每个开发者都自己定义,导致:

工具描述格式不一致

参数定义方式不一致

AI 难以准确判断

问题 3:团队协作困难

前端开发者:后端接口怎么调?参数格式是什么?

后端开发者:AI 会传什么参数过来?怎么处理?

AI 工程师:工具列表怎么维护?提示词怎么写?

缺乏标准,沟通成本巨大。

MCP 的解决方案:

// 统一的 MCP 工具定义格式

{

"name": "query_order",

"description": "查询订单状态",

"inputSchema": {

"type": "object",

"properties": {

"order_id": {

"type": "string",

"description": "订单ID"

}

}

}

}

所有工具都按这个格式定义,AI 能统一处理,开发者能快速集成。

💡 Tip:MCP 不是银弹,它只是把"调用外部工具"这件事标准化了。原有的问题(AI 判断不准、参数提取错误)并没有消失。

1.3 破除三个常见误解

误解 1:"MCP 是一种新的 AI 技术"

很多文章会说"MCP 提升了 AI 的工具调用能力",这是不准确的。

真相:MCP 底层用的还是传统的 Function Call(工具调用)。

看一段 MCP 客户端的核心代码:

// MCP 客户端决定使用哪个工具

const response = await openai.chat.completions.create({

model: "gpt-4",

messages: messages,

tools: this.tools // ← 这就是传统的 Function Call 参数!

});

MCP 只是在 Function Call 外面包了一层标准化协议,没有改变 AI 的判断能力。

Function Call 原有的问题依然存在:

❌ 工具选择不准确(工具太多时容易选错)

❌ 参数提取错误(复杂参数容易提取不准)

❌ 多意图识别困难(一个问题涉及多个工具)

结论:MCP 是协议标准化,不是技术突破。

误解 2:"用了 MCP 就不用自己写工具调用代码了"

很多人以为 MCP 是什么"开箱即用"的解决方案,装上就能用。

真相:MCP 的工作流程和你自己实现 Function Call 几乎一模一样。

对比一下:

实现步骤 自己写 Function Call 使用 MCP

1️⃣ 定义工具 写工具描述 + 参数定义 MCP Server 定义工具(还是要写)

2️⃣ AI 决策 调用 AI 的 Function Call MCP Client 调用 AI(还是 Function Call)

3️⃣ 执行工具 后端接收参数,调用真实 API MCP Server 执行并返回(还是要实现)

4️⃣ 生成回复 把结果给 AI 生成回复 MCP Client 把结果给 AI(逻辑一样)

本质上是一样的。

那 MCP 的价值在哪?答案是:生态标准化。

当大家都按同一套规则来:

✅ 工具能跨项目复用

✅ 团队协作有统一规范

✅ 第三方工具能方便集成

✅ 降低学习和沟通成本

但如果你只是一个人开发,或者工具都是自己的内部 API,MCP 的价值就没那么大。

💡 Tip:把 MCP 理解成"工具调用的接口标准",就像 RESTful API 是 Web 服务的接口标准一样。

误解 3:"MCP 服务都是免费的"

看到各种 MCP Server(高德地图、百度地图、天气服务),有人以为调用是免费的。

真相:API 调用成本最终还是要有人承担。

以高德地图 MCP 为例:

你通过 Cursor 调用高德地图 MCP

高德的 MCP Server 收到请求后,会调用高德自己的地图 API

这些 API 调用是计费的(按调用次数或配额)

有些大厂的 MCP 服务是免费的,但那是因为:

前期投入,吸引开发者

调用量有限制(超过就收费)

培养生态、获取数据、占领市场

天下没有免费的午餐,只是谁付费、怎么付费的问题。

如果你用 MCP 接入收费服务,要注意:

⚠️ 了解计费规则(按次数?按流量?按时长?)

⚠️ 设置调用限额(防止意外超支)

⚠️ 监控使用量(定期检查账单)

⚠️ 考虑缓存策略(减少重复调用)

1.4 MCP 的真正价值:生态话语权

既然 MCP 没有技术创新,为什么 Anthropic(Claude 的母公司)要大力推?

答案是:争夺 AI 工具生态的话语权。

类比:USB 标准的故事

还记得 USB 标准是怎么来的吗?

1990 年代:

键盘用 PS/2 接口

鼠标用串口

打印机用并口

扫描仪用 SCSI 接口

每个设备都不一样,乱七八糟

1996 年:

Intel、微软、IBM 等巨头联合推出 USB 标准

一个接口统一所有设备

谁制定标准,谁就掌握话语权

今天:

USB 成为事实标准

USB-IF(USB 标准化组织)掌握生态控制权

新技术(Type-C、USB4)都要通过他们认证

MCP 想做的就是 AI 领域的 USB

Anthropic 推 MCP 的真实意图:

制定规则:让大家按自己定的协议开发

占领生态:所有工具提供商、AI 应用都接入 MCP

话语权:在未来的标准委员会中占据关键位置

如果 MCP 真的成为行业共识:

所有模型的工具调用格式可能被统一

Anthropic 在标准委员会的位置举足轻重

能影响整个 AI 工具生态的走向

对开发者来说,MCP 的价值在于:

✅ 快速接入现成服务:不用研究 API 文档,装个 MCP Server 就行

✅ 团队协作规范:统一配置格式,方便版本控制

✅ 参与生态建设:早期参与者能占先机

✅ 降低集成成本:一次开发,到处运行

但也要认清:

⚠️ MCP 还在早期,规范可能变化

⚠️ 生态不够成熟,可用工具有限

⚠️ 不是所有场景都适合用 MCP

⚠️ 核心业务逻辑建议自己掌控

二、MCP 的工作原理

理解了 MCP 是什么,我们来看它具体是怎么工作的。

2.1 核心工作流程

MCP 的工作流程分为三步,我们用一个实际例子说明:

场景:用户在 Cursor 中问 AI:"北京天安门的经纬度是多少?"

第 1 步:用户提问

┌─────────────────────┐

│ 用户 │

│ "北京天安门的经纬 │

│ 度是多少?" │

└──────────┬──────────┘

第 2 步:MCP 客户端询问 AI

┌─────────────────────┐

│ MCP 客户端 │

│ (Cursor) │

│ │

│ 把问题和可用工具 │

│ 列表发给 AI: │

│ - 地理编码工具 │

│ - 路径规划工具 │

│ - 天气查询工具 │

└──────────┬──────────┘

第 3 步:AI 决策

┌─────────────────────┐

│ AI 模型 │

│ (GPT-4/Claude) │

│ │

│ 分析后决定: │

│ ✓ 使用「地理编码」 │

│ 工具 │

│ ✓ 参数: │

│ address= │

│ "北京天安门" │

└──────────┬──────────┘

第 4 步:MCP 服务端执行

┌─────────────────────┐

│ MCP 服务端 │

│ (高德地图 API) │

│ │

│ 收到请求后: │

│ 1. 调用高德地图API │

│ 2. 获取坐标数据 │

│ 3. 返回结果: │

│ 116.397428, │

│ 39.90923 │

└──────────┬──────────┘

第 5 步:AI 生成友好回复

┌─────────────────────┐

│ 用户看到的回复: │

│ │

│ "北京天安门的经纬 │

│ 度是: │

│ 经度:116.397428 │

│ 纬度:39.90923" │

└─────────────────────┘

关键点:

MCP 客户端负责和 AI 模型通信(这部分用的是 Function Call)

MCP 服务端负责真正执行工具逻辑(调用真实的 API)

中间的数据传输按照 MCP 协议标准进行

💡 Tip:MCP 没有改变 AI 的决策过程,只是规范了"工具列表 → AI 决策 → 工具执行"这个流程的数据格式。

2.2 MCP 的三个核心概念

MCP 定义了三种能力类型,理解它们只需记住:给什么、做什么、怎么做。

📦 Resources(资源)—— 给 AI "看"的东西

简单说:只读的数据源,AI 可以读取但不能修改。

常见例子:

文件内容(代码、文档、配置)

数据库记录(用户数据、订单信息)

API 响应(第三方服务返回的数据)

使用场景:"分析一下这个文件有什么问题" → AI 读取文件内容(Resource)→ 分析并给出建议

🛠️ Tools(工具)—— AI 能"做"的事情

简单说:可执行的函数,AI 调用后会产生实际效果。

常见例子:

查询地理坐标、规划路线

发送邮件、创建日历事件

读写数据库、执行系统命令

使用场景:"帮我查北京的天气" → AI 调用天气查询工具(Tool)→ 返回实时天气数据

💬 Prompts(提示词模板)—— 标准化的工作流

简单说:预定义的对话模板,用户一键触发常见任务。

常见例子:

"代码审查":自动分析性能、安全、可读性

"生成文档":根据代码自动生成 README

"Bug 诊断":系统化排查问题

使用场景:用户选择"代码审查"模板 → 自动填充代码 → AI 按模板执行审查流程

一句话区分:

概念 一句话说明 最常见用途

Resources AI 读取的数据 读取文件、查询数据库

Tools AI 执行的操作 调用外部 API(最常用)

Prompts 用户触发的模板 标准化工作流

💡 Tip:实际使用中 Tools 占 90%,Resources 适合需要大量上下文的场景,Prompts 用于固定流程。

2.3 MCP 的传输方式

MCP 支持两种主流传输方式(还有第三种 Streamable HTTP,但较少用),理解它们只需记住:本地还是远程。

方式 1:STDIO —— 本地进程通信

简单说:Cursor 启动一个本地程序(如 Node.js 脚本),通过标准输入输出通信。

适用场景:

本地文件系统操作(读写文件、搜索代码)

本地数据库查询(SQLite、本地 MySQL)

开发和调试自己的 MCP Server

优点:快、安全、不需要网络

缺点:只能本地用,需要安装依赖

典型配置:

{

"command": "node",

"args": ["/path/to/mcp-server.js"]

}

方式 2:SSE —— 远程 HTTP 服务

简单说:Cursor 通过网络访问远程服务器(如高德地图的云端 API)。

适用场景:

第三方服务(地图、天气、翻译)

企业内部 API(统一部署的工具)

生产环境(多人共享同一个服务)

优点:免安装、可共享、易更新

缺点:需要网络,有延迟

典型配置:

{

"url": "https://mcp.example.com/sse?key=your_key"

}

如何选择?

你的需求 推荐方式 典型例子

读写本地文件 STDIO 文件搜索、代码分析

查询本地数据库 STDIO SQLite、本地 PostgreSQL

调用第三方 API SSE 高德地图、天气服务

团队共享工具 SSE 企业内部 API、统一认证

💡 Tip:记住一句话:本地用 STDIO,远程用 SSE。

写在最后:看懂本质,少踩坑

读到这里,你应该已经明白:

MCP 不是什么黑科技,它就是把 Function Call 包了一层标准化协议。

MCP 不会让 AI 变聪明,该选错工具还是会选错,该提取错参数还是会提取错。

MCP 也不是免费午餐,API 调用成本该谁付还是谁付。

那为什么还要了解 MCP?

因为它代表了一个趋势:AI 工具生态的标准化。就像当年的 USB 标准,虽然技术上没什么创新,但统一了接口,让整个生态繁荣起来。

给你三个建议

1. 不要盲目追新

看到 MCP 火了就觉得必须用,这是最大的误区。如果你的项目:

工具就几个,都是自己的 API

一个人开发,不需要团队协作

对工具调用有深度定制需求

那自己实现 Function Call 可能更合适,掌控力更强,调试也更方便。

2. 也不要一棍子打死

如果你需要快速接入:

高德地图、百度地图这类现成服务

团队共享的标准化工具

开源社区提供的 MCP Server

那 MCP 能帮你省不少事,不用研究每个 API 的文档,装上就能用。

3. 混合策略最务实

核心业务逻辑自己掌控,通用能力用 MCP 快速接入。

比如你做一个智能客服:

查订单、查库存 → 自己实现(核心业务)

地图导航、天气查询 → 用 MCP(通用能力)

发邮件、发短信 → 用 MCP(标准化操作)

这样既能保证核心竞争力,又能享受生态红利。

最后一句话

MCP 是个好协议,但不要神化它。

技术永远是为业务服务的。理解它的本质,看清它的边界,在合适的场景用好它——这才是工程师该有的态度。

就像你不会因为 USB 出现了,就把所有设备都换成 USB 接口。有些场景该用雷电口还得用雷电口,有些场景干脆直接焊线更可靠。

http://www.cnnetsun.cn/news/64389.html

相关文章:

  • 护网蓝队初级岗位薪资真相:从 0 学网安,小白参与护网也能日入 2000+
  • 【商城系统】
  • 商城系统的开发语言选择
  • 电脑配置路由,如何选择最适合的方案?
  • 哪些企业适合适用黄金专线宽带?
  • 计算机毕业设计springboot基于spring+vue的在线考试系统 基于 Spring Boot 和 Vue.js 的在线考试平台设计与实现 Spring Boot + Vue 技术栈构建的在线
  • Docker网络【20251215】003篇
  • 一张学术海报10分钟搞定:PPT手把手攻略+97套免抠素材随领
  • 【论文辅导 | 一对一辅导】大小论文双通关:开题报告+SCI投稿一次讲透,导师没点破的门道我们拆解给你
  • Flink学习笔记:多流 Join
  • AI产品经理必读:构建智能交互系统的终极指南!
  • 谷歌浏览器性能面板使用指南
  • 警惕绿色积分陷阱!一分钟揭秘消费骗局
  • 13、CentOS网络管理全攻略
  • 技术实践:用大模型平台重构医疗数据分析Pipeline
  • 智元AGIBOT荣登具身智能机器人技术研发排行榜TOP1
  • Gitee vs GitHub 2025深度评测:国产代码托管平台的崛起与超越
  • JVM 安全与沙箱深度解析
  • t-SNE快速降维算法详解与实现
  • Python编程入门从零开始掌握基础语法一
  • 20、BusyBox:嵌入式系统的强大工具
  • python 生成psd文件
  • 25、Linux内核调试全攻略:挑战与解决方案
  • 30、Linux移植与实时性:从定制平台到实时系统的深入解析
  • 【界面案例】火语言RPA读取Excel文件,循环写入界面表格
  • 【JAVA进阶】鸿蒙开发与SpringBoot深度融合:从接口设计到服务部署全解析
  • [C#][winform]基于yolov11的水下目标检测系统C#源码+onnx模型+评估指标曲线+精美GUI界面
  • 【睿擎派】云端一体,多种通信协议构建机械臂运动控制系统
  • 4.1用户空间RTOSAPI
  • 11、嵌入式Linux开发:内核日志存储、追踪系统与设备树管理