Skip to content
 

什么是MCP协议

更新: 7/2/2026字数: 0 字 时长: 0 分钟

你有没有遇到过这种场景:

你跟 AI 说"帮我查一下数据库里这个用户的订单",它说"抱歉,我没法直接访问数据库"。

你说"帮我把这段代码提交到 GitHub",它说"抱歉,我操作不了你的 Git"。

你不禁想问:你那么聪明,怎么连这么简单的事都做不了?

问题不在于模型笨,而在于它被隔离在一个沙箱里,碰不到外部世界。它能思考、能推理、能生成,但数据库、文件系统、GitHub、企业内部 API——这些它统统够不着。

MCP(Model Context Protocol)就是给这个问题设计的一把"万能插头"。

MCP 到底是个啥?

MCP 是 Anthropic 在 2024 年底推出的一个协议标准。一句话解释:

让 AI 以统一、安全的方式调用外部工具和数据。

你可以把它理解成 AI 世界的"USB-C 接口"——不管后面接的是数据库、GitHub、本地文件还是企业内部系统,前面这套交互方式是一样的。

没有 MCP 的时候有多痛苦?

在 MCP 出现之前,想让 AI 接入外部系统也不是不行,但基本是各路神仙各显神通:

  • 每个工具写一套整合逻辑,API 格式五花八门
  • 安全问题全靠开发者自己兜底
  • 换一个模型或者换一个工具,推倒重来
  • 想加一个新能力?改代码改到怀疑人生

MCP 干的事很简单:把这些乱七八糟的对接方式统一成一套标准。就像 HTTP 统一了网页访问一样,MCP 想统一 AI 跟外部世界的交互。

架构长什么样?

不复杂,五层:

text
你(用户)

大模型(LLM)—— 负责理解意图、决定要不要调工具

MCP Client —— 发起请求、管理上下文

MCP Server —— 提供具体能力、执行真实逻辑

外部系统 —— 数据库、GitHub、文件、企业 API

工作流程也很直观

text
1. 你说"帮我查一下上个月的销售数据"
2. LLM 理解了:需要查数据库
3. 通过 MCP Client 发请求给 MCP Server
4. MCP Server 执行 SQL 查询
5. 数据返回给 LLM
6. LLM 整理成你想要的格式输出

整个过程你不需要关心中间怎么接的,对用户来说就是"问了就答了"。

MCP 能干什么?

1. 统一工具调用

以前调个工具,每个工具的格式、鉴权方式、返回结构都不一样。MCP 把这个标准化了:

json
{
  "tool": "get_user",
  "input": { "id": 123 }
}

模型输出这种结构化指令,MCP Server 负责执行。你不用关心 Server 后面是 MySQL 还是 PostgreSQL。

2. 上下文管理

不是所有数据都适合拼进 prompt 里。MCP 支持:

  • 结构化传入上下文(用户信息、项目信息、权限等)
  • 数据隔离(该谁看谁看)
  • 按需加载(不用把所有数据一次性灌进去)

3. 随便扩展

任何东西都可以封装成 MCP Server:

  • 文件系统操作
  • Git 操作
  • 命令行执行
  • 数据库查询
  • 第三方 API(飞书、企业微信、Jira...)

加一个新能力 = 接入一个新的 MCP Server,不用动其他部分的代码。

两个实际的例子

场景一:让 AI 帮你管 GitHub

text
你说:帮我建一个项目仓库,初始化代码,提交上去

AI 背后做的事:

  1. 调用 GitHub MCP Server → 创建 repo
  2. 生成代码
  3. 通过 MCP → 提交到仓库
  4. 创建 PR

全程你就在对话窗口里看着它干完。

场景二:IDE 里修 bug

text
你说:帮我修这个 bug

AI 在 IDE 里做的事:

  1. 通过文件系统 MCP → 读取项目文件
  2. 分析问题
  3. 修改代码
  4. 生成 diff
  5. 通过 Git MCP → 提交

本质上和你自己改代码的流程一模一样,只是执行的人换成了 AI。

两个场景底层逻辑是一致的:

text
AI 做决策 → MCP 做连接 → 工具做执行 → 返回结果

MCP 和 Function Calling 是什么关系?

经常有人把这两个搞混,其实很好区分:

Function CallingMCP
工具调用
协议标准化❌(各搞各的)✅(统一标准)
跨系统
安全控制靠开发者自己协议层内置

一句话说明白:

Function Calling 是模型的一种能力——它能输出"我要调这个函数"。

MCP 是一套体系——定义了模型怎么发现工具、怎么调、怎么管权限、怎么处理结果。

Function Calling 相当于"会开车",MCP 相当于"交通规则 + 驾校考核标准"。你会开车不代表路上不会出事,有了规则和标准才能规模化上路。

为什么这件事重要?

MCP 在解决一个根本问题:AI 不能永远活在对话框里

你让 AI 写代码,它写完了,然后呢?你手动复制粘贴到 IDE?手动跑测试?手动部署?

MCP 让 AI 从"能说"变成"能做"。这个转变的意义,可能比模型本身参数翻一倍还要大。


MCP 就是 AI 通向现实世界的那根数据线。插上了,它就不只是个聊天的,而是个能干活的。


延伸阅读

我见青山多妩媚,料青山见我应如是