MCP 模型上下文协议是什么- [intro-what-is-mcp]

article
2026年7月21日阅读约 2 分钟235 字

更新于 2026年7月21日

MCP 模型上下文协议是什么?

AI 工具生态的 USB-C,把 M×N 集成难题变成 M+N

原题:什么是 MCP(模型上下文协议)?它到底解决了什么问题,和 Function Calling 又是什么关系?

Agent

30 秒回答

  1. MCP(Model Context Protocol)是 Anthropic 2024 年底开源的标准协议,统一"AI 应用如何连接外部工具和数据"
  2. 解决 M×N 集成爆炸:M 个 AI 应用接 N 个工具,原来要写 M×N 套对接代码,有协议后只需 M+N
  3. 客户端-服务器架构:工具方实现 MCP Server 暴露能力,应用方实现 MCP Client 统一调用
  4. 与 Function Calling 不冲突:FC 是模型"表达调用意图"的能力,MCP 是工具"如何被发现和接入"的标准

回答与解析

答案要点

  • MCP(Model Context Protocol)是 Anthropic 2024 年底开源的标准协议,统一"AI 应用如何连接外部工具和数据"

  • 解决 M×N 集成爆炸:M 个 AI 应用接 N 个工具,原来要写 M×N 套对接代码,有协议后只需 M+N

  • 客户端-服务器架构:工具方实现 MCP Server 暴露能力,应用方实现 MCP Client 统一调用

  • 与 Function Calling 不冲突:FC 是模型"表达调用意图"的能力,MCP 是工具"如何被发现和接入"的标准

  • 常被比作"AI 世界的 USB-C 接口"

核心概念

MCP(Model Context Protocol,模型上下文协议)是一个开放标准,规定了 AI 应用与外部工具、数据源之间如何建立连接、发现能力、交换数据。打个比方:USB-C 出现前,每种设备一种插口;MCP 就是给 AI 工具生态定了一个"USB-C"——任何工具只要实现一次 MCP Server,所有支持 MCP 的应用都能直接用。

它解决的核心问题:M×N 集成爆炸

假设 5 个 AI 应用要接 10 个工具(GitHub、数据库、Slack 等):

  • 没有协议:每对组合单独开发,最多 5×10=50 套对接代码

  • 有了 MCP:应用各实现一次 Client、工具各实现一次 Server,5+10=15 套;新工具一上线即被所有应用共享

和 Function Calling 的关系(高频追问)

两者在不同层次、互相配合:

Function Calling MCP
是什么 模型的一种能力 应用与工具间的通信协议
管什么 模型怎么输出结构化调用意图 工具怎么被发现、描述、执行
类比 人会"打电话"这个动作 电话网络的通信标准

实际运行时是接力关系:Client 启动时从各 Server 拉取工具列表,转成 schema 交给模型;模型用 Function Calling 输出调用意图;Client 再经 MCP 协议路由到对应 Server 执行并返回结果。

入门后可继续深入:MCP 的三类原语(Tools/Resources/Prompts)、stdio/HTTP 传输方式与安全授权设计。

口语版讲法(约2分钟)

  • 一句话定位:MCP本质是AI工具生态的标准化接口协议
  • 解决M×N集成爆炸:从50套对接降到10套
  • 与Function Calling的关系:一个管意图表达,一个管工具接入
  • 落地风险:协议还在早期,生态和安全性需要关注

这道题其实在问AI应用和外部工具之间怎么高效对接。MCP,就是Anthropic在2024年底开源的一个标准协议,说白了,它统一了AI应用怎么连接外部工具和数据。你可以把它想象成AI界的USB-C接口,之前每种设备有自己的插口,现在只要工具实现一次MCP Server,所有支持MCP的应用都能直接用。

它解决的核心问题叫M×N集成爆炸。举个例子,5个AI应用要接10个工具,原来每对组合都得单独开发,最多50套对接代码。有了MCP,应用各实现一次Client,工具各实现一次Server,5加10才15套,新工具一上线就被所有应用共享,效率提升很明显。

那和Function Calling什么关系?很多人容易搞混。其实它们在不同层次,互相配合。Function Calling是模型的一种能力,管的是模型怎么输出结构化的调用意图,比如它说‘我要调天气API,参数是北京’。MCP管的是工具怎么被发现、描述和执行,比如这个天气API的schema长什么样、怎么调用。实际运行时,Client启动时从各个Server拉取工具列表,转成schema给模型,模型用Function Calling输出意图,Client再通过MCP协议路由到对应Server执行。

举个例子,客服场景里用户问‘退款什么时候到账’。模型需要调用订单查询和退款政策两个工具。如果没有MCP,你得给每个应用单独对接这两个工具。有了MCP,订单系统和政策系统各实现一次Server,所有应用都能共享。模型用Function Calling表示‘我要查订单状态和退款规则’,MCP负责把这两个请求发到正确的Server并拿回结果。

不过这里有个坑,MCP目前还在早期,生态不够成熟,不同Server的实现质量参差不齐。如果Server的响应时间不稳定,或者安全性设计不到位,比如没有鉴权,那整个推理流程可能被拖慢甚至出安全问题。所以真正落地时,我会特别关注Server的稳定性和权限控制,不能盲目上。

所以我会把MCP看成AI工具生态的标准化接口,它和Function Calling是上下层关系,一个管‘想调什么’,一个管‘怎么调通’。我更倾向于把它比作通信协议,而Function Calling是语言能力,两者配合才能让AI真正用起来。

关键一句:MCP生态不成熟,Server质量和安全性是落地关键风险

面试官还可能这样问

  1. 问法 1 · 概念辨析经常有人把 MCP 和 Function Calling 混为一谈,你能说清两者分别在哪一层、各管什么吗?已经有 Function Calling 了,为什么还需要 MCP?
  2. 问法 2 · 场景切入假设你们团队有 3 个 AI 助手产品,都要接公司内部的工单系统、知识库和 GitLab,现在每个都单独写对接代码很痛苦。用 MCP 的思路你会怎么重构这套集成?