Agent经典面试题:MCP 是什么?它和普通工具调用、插件系统有什么区别?
什么是 MCP?一句话说清楚
MCP,全称Model Context Protocol(模型上下文协议),是 AI 模型与外部工具交互的标准化协议。
别把它想复杂了。MCP 不是让 AI 变得更聪明,也不是要替代 Function Calling。它解决的核心问题是:不同的 AI 模型和不同的工具之间,怎么才能方便地连在一起?
就像 USB 接口统一了各种设备的连接方式一样,MCP 统一了 AI 模型与各种工具的连接方式。不管你用的是 GPT、Claude 还是国产大模型,不管你要连接数据库、文件系统还是第三方 API,只要支持 MCP,就能无缝对接。
🎯 博主简介
你好,我是安逸,CSDN「人工智能技术领域新星创作者」,码龄 6 年。博客总访问量 31万+,博客粉丝 1.2万+。
我长期关注人工智能技术与工程实践,主要研究和分享 AI Agent、RAG 系统、MCP 协议、OpenClaw、AI 编程工具以及大模型工程化落地。同时也持续输出 Java / Spring、Transformer、机器学习、深度学习与计算机视觉等方向的学习笔记和项目经验。
📚 推荐系列合集
目前已经整理了 生产级 RAG 系统实战、Agent 记忆系统、MCP 协议深度解析、OpenClaw 系列、Hermes Agent + Obsidian、图解机器学习、Claude Code 系列和 Agent 经典面试题等系列合集,涵盖 AI 应用开发、智能体实践、知识管理、机器学习与 AI 编程工具。
📱GZH:安逸Ai (科技前沿新闻,Github热门项目,最新免费资料...)
网页观看完整系列合集:🌐 Anyi AI 学习资源站
板块 1:MCP 到底是什么?
咱们先把"MCP"这三个字母拆开看:
- Model— AI 模型,大脑,负责思考和决策
- Context— 上下文,模型需要的各种信息和资源
- Protocol— 协议,双方通信的规则
合起来就是:让 AI 模型获取上下文信息的标准协议。
实际场景
没有 MCP 的时候,你想让 AI 帮你查数据库、读文件、调 API,每接一个新工具就得写一套对接代码。工具多了,代码就乱了。
有了 MCP,就像所有设备都换成了 USB 接口。你想接什么,插上就能用,不用关心背后是什么品牌、什么型号。
这才是 MCP 的核心价值:标准化,而不是功能增强。
AI模型通过MCP协议连接数据库、API、文件系统等多种外部工具的连接示意图
板块 2:MCP 的三层架构
MCP 采用分布式三层设计,每层干不同的事:
| 层次 | 名称 | 职责 |
|---|---|---|
| Host | 主机层 | 负责用户交互、调用 AI 模型、协调整个流程 |
| Client | 客户端层 | 负责与 Server 保持连接、传递消息 |
| Server | 服务端层 | 负责暴露具体能力,如工具、资源等 |
用餐厅来理解
想象你走进一家餐厅:
- Host是服务员,接待你、记你要什么、把菜单传给后厨
- Client是传菜员,把你的需求传给厨师,把菜端回来
- Server是厨师,真正做饭、提供能力
你只跟服务员说话,不知道后面有多少传菜员和厨师在配合,但整件事就这么跑起来了。
传输协议
三层之间用什么"喊话"?JSON-RPC 2.0,支持两种模式:
- stdio 模式:标准输入输出,适合本地进程通信
- Streamable HTTP 模式:适合网络通信,支持长连接
这就是为什么 MCP 既能跑本地工具,也能连远程服务。
Host-Client-Server三层架构的详细分层图,展示各层职责和通信方式
板块 3:MCP 暴露的四类能力
很多人以为 MCP 只是"工具调用",错大了。MCP 暴露的能力分四类:
1. Tools(工具)
会改变外部世界的主动操作。比如查天气、发邮件、执行代码。模型调用这些,就像人点击按钮——操作完会产生结果。
2. Resources(资源)
供模型读取的被动数据。比如数据库里的用户信息、文件内容、API 返回的数据。模型只能读,不能改。
3. Prompts(提示模板)
可复用的提示词模板。比如"翻译专家"、"代码审查员"这种固定角色配置,可以提前定义好,模型直接调用。
4. Sampling(采样)——扩展能力
让 Server 反向调用模型的能力。比如 Server 需要 AI 做决策时,可以主动请求模型采样。
类比理解
就像手机不只是打电话——还能拍照、发短信、导航、上网。MCP 让 AI 能做的事,远超"调用几个函数"。
MCP四种能力类型(Resources、Tools、Prompts、其他)的分类示意图
板块 4:MCP vs 其他方案——本质区别
这是面试重点。咱们从几个维度对比:
| 维度 | MCP | Function Calling | OpenAI Tools | 传统插件 | LangChain Tools |
|---|---|---|---|---|---|
| 定位 | 生态协议 | 平台能力 | 平台能力 | 内嵌式集成 | 框架能力 |
| 跨平台 | ✅ 跨平台 | ❌ 平台特定 | ❌ 仅 OpenAI | ❌ 通常绑定 | ❌ 依赖框架 |
| 耦合度 | 低耦合 | 紧耦合 | 紧耦合 | 高耦合 | 中耦合 |
| 部署 | 本地/私有/云端 | 仅云端 | 仅云端 | 本地 | 本地 |
| 动态能力 | ✅ 支持 | ❌ 不支持 | ❌ 不支持 | ❌ 不支持 | 部分支持 |
| 安全机制 | 完善 | 一般 | 一般 | 弱 | 一般 |
关键区别解释
vs Function Calling
Function Calling 是 OpenAI 这些平台自己的功能,绑死在特定模型上。你换了模型,可能得重写。MCP 是通用协议,任何模型都能用。
vs 传统插件
传统插件是"内嵌式"的,插件代码直接耦合进主应用,改一个可能影响全部。MCP 是"外置式"的,Server 独立运行,工具随时可以上下架。
vs LangChain Tools
LangChain 是框架,你的代码会被框架约束。MCP 是协议,只定义接口规范,不在乎你用什么框架实现。
通俗类比
如果 AI 应用开发是盖房子:
- Function Calling像用特定型号的砖——只有特定模型能用
- 传统插件像用混凝土浇筑——功能耦合,拆不掉
- LangChain Tools像用特定品牌的预制板——被框架绑死了
- MCP像用通用标准砖——任何符合标准的都能用,灵活拆卸
MCP与Function Calling/OpenAI Tools/传统插件/LangChain的二维对比表格图
板块 5:动态能力协商——MCP 的杀手锏
MCP 有一个常被忽视但非常重要的特性:动态能力协商。
三个核心能力
1. 版本协商
不同版本的 Client 和 Server 可以共存兼容。MCP 协议支持版本号协商,握手时自动协商出一个双方都支持的版本,不用担心版本冲突。
2. 功能扩展
Server 可以动态添加新能力。上线新工具?不用重启模型,不用重新训练,直接注册到 Server,模型就能发现并使用。
3. 权限暴露
Host 可以控制只暴露被授权的工具。比如给 AI 开放了"查天气"权限,但没开放"发邮件",Server 就只会暴露查天气的能力。
类比
就像手机应用市场:App 可以随时上架下架,你不需要因为换了手机就要重新下载所有 App——账号登录一下,应用就回来了。
MCP 让工具和模型解耦,各自独立演进。
MCP动态能力协商机制流程图,展示初始化握手和动态协商过程
面试怎么答
基础版(能过面试)
MCP 是 Model Context Protocol,即模型上下文协议。它是 AI 模型与外部工具交互的标准化协议,核心目标是解决"不同模型和不同工具之间怎么连接"的问题。
MCP 采用三层架构:Host 负责用户交互、Client 负责与 Server 通信、Server 负责暴露具体能力。与 Function Calling 等方案相比,MCP 的核心优势是跨平台、低耦合、支持动态能力协商。
加分版(让面试官眼前一亮)
MCP(Model Context Protocol)是 Anthropic 在 2024 年底提出的开放协议,旨在标准化 AI 模型与外部工具的交互方式。
它不是让 AI 变聪明,而是解决"连接"问题——就像 USB 统一了设备连接一样,MCP 统一了 AI 与工具的连接。
从设计理念看,Function Calling 是平台能力,MCP 是生态协议;传统插件是内嵌式,MCP 是外置式。MCP 采用 Host-Client-Server 三层架构,通过 JSON-RPC 2.0 通信,支持 stdio 和 HTTP 两种模式。
MCP 暴露 Tools、Resources、Prompts、Sampling 四类能力,不只是工具调用。最吸引人的是它的动态能力协商——工具可以随时上下架,模型不需要重新训练就能使用新工具,这解决了传统方案耦合度高的核心痛点。
当然,MCP 生态还在成熟中,实际落地需要考虑 Schema 管理、权限安全、可观测性等问题。
一句话总结
MCP 就是 AI 时代的"USB 接口"——它不增强 AI 的能力,但它让任何 AI 模型能无缝连接任何工具。
