面试官必问的MCP高频题,90%的人都搞错了!
在 AI Agent 开发中,MCP 已经成为调用外部系统的事实标准。因此,MCP 也成为 Agent 开发中的核心问题之一。在面试中,MCP 相关内容也成为高频考点。
面试官一般不仅会考察 MCP 是什么,还会继续追问 MCP 解决了哪些问题、与 LLM 的工具调用有什么区别等。我对这些与 MCP 相关的核心高频面试题进行了整理,将 MCP 的核心知识点串联起来。
另外,完整的 AI Agent 面试题文档也已经同步到了 aiflowline.cn,大家可以结合文章一起阅读。
1、什么是 MCP?
MCP(Model Context Protocol,模型上下文协议) 是由 Anthropic 提出的、面向 Agent 应用的开放协议。它的作用是标准化 Agent 应用与外部系统之间的调用方式。这里的外部系统可以是文件系统、数据库、业务服务等。
MCP 最主要的作用是让 Agent 应用以统一的方式调用外部系统,而无需每接入一个外部系统就编写一套适配逻辑。在 MCP 出现之前,一般通过 SDK 或 API 直接调用外部系统。
MCP 出现后,调用链路变为 Agent 通过 MCP Client 调用 MCP Server,再由 MCP Server 调用外部系统。MCP Server 将外部系统的调用包装成标准接口,MCP Client 负责发现和调用 MCP Server 提供的能力。这样,我们在 Agent 应用中就无需关心每个外部系统的调用细节,直接调用即可。
2、MCP 解决了什么问题?
MCP 主要解决的是 LLM 与外部工具之间缺少统一调用标准的问题。此外,MCP 还解决了以下问题:
- 工具可复用
在没有 MCP 时,我们在一个 Agent 项目中开发的工具,无法直接在其他 Agent 项目中使用。即使是自己开发的其他 Agent,也需要重写这个工具,导致同一个工具被重复开发。有了 MCP,所有 Agent 应用都可以复用同一个 MCP Server,做到一次开发,到处使用。
- 模型与工具解耦
在以往的 Agent 开发中,为 GPT 模型开发的工具,换成 Claude 模型后可能需要重新适配。有了 MCP,就可以实现模型与工具的解耦。
- 工具自动发现
之前,LLM 在绑定工具时必须手动指定:
tools = [ weather, sql, github, email]
而有了 MCP 之后,MCP Client 可以自动发现这些工具,无需手动维护工具列表。
- 跨平台性
不同项目的编程语言和运行环境往往不完全相同。例如,一些业务系统使用 Java,而 Agent 应用使用 Python 构建。如果我们想在 Agent 中使用业务系统的能力,就可以让业务系统对外提供一个 MCP Server,供 Agent 应用调用。这样,其他 Agent 也可以直接接入该 MCP Server,无需重复开发。
3、MCP 和 Function Calling 有什么区别?
MCP 和 Function Calling 都与工具调用有关,但两者解决问题的层级不同。Function Calling 解决的是 LLM 如何调用工具函数,而 MCP 解决的是如何发现和调用外部工具。
Function Calling 是一种工具调用机制,而 MCP 则是一套开放协议。
Function Calling 本质上是大模型提供的一种能力,它的作用是让 LLM 决定是否调用工具函数,以及调用哪个工具、传入哪些参数。例如,用户提问“今天杭州天气如何?”,模型返回需要调用的工具函数和调用参数:
{ "tool": "get_weather", "arguments": { "city": "杭州" }}
Agent 应用根据 LLM 返回的工具名称和参数调用指定工具,再将工具调用结果返回给 LLM,最终得出答案。
4、MCP 协议核心组件有哪些?
MCP 核心组件示意图如下:

MCP核心组件示意图
MCP 的核心组件可分为通信方和对外暴露的能力两部分。通信方包括以下几个部分:
- Host
即 AI Agent 应用,例如 Claude Code、Cursor 和自研 Agent 应用。它的作用是管理 MCP Client。
- MCP Client
MCP 协议客户端,用于与 MCP Server 建立连接、获取其提供的能力,并将这些能力转换成工具,供 LLM 调用。
- MCP Server
MCP 服务端,是真正提供外部资源调用能力的一方,例如文件系统 MCP Server、GitHub MCP Server 等。
对外暴露的能力包括以下几个部分:
- Tools
提供给 AI Agent 调用的函数能力,例如查询天气、发送邮件等。MCP 会描述工具的名称、功能、输入参数 Schema 和返回结果格式等信息,类似于 LangChain 中的 Tool。经过 MCP 协议标准化后,这些工具可以被不同的 Agent 共享。
- Resources
提供 LLM 可以读取的上下文信息,例如本地文件、知识库、API 文档、配置文件等。
- Prompts
提供给 LLM 的、标准且可复用的 Prompt 模板,例如代码审查提示词模板、周报总结提示词模板等。Agent 应用可以动态获取这些模板,多个 Agent 也可以方便地共享同一套模板。
除此之外,MCP 使用 JSON-RPC 进行通信,标准传输方式主要包括 stdio 和 Streamable HTTP。stdio 适用于本地 MCP Server,Streamable HTTP 适用于远程服务。
5、MCP 如何发现工具?
MCP 使用工具无需像 LangChain 中那样将所有工具写死在工具列表中,MCP 是通过 tools/list 接口实现工具发现的。MCP Client 会向 MCP Server 请求,查询所有可用工具,获取每个工具的名称、描述、参数 Schema。
MCP 完成工具发现分为以下几个步骤:
- MCP Server 注册工具
首先将工具注册到 MCP Server:
@mcp.tooldef query_sql(sql: str): ...
- MCP Client 请求工具列表
当 MCP Client 与 MCP Server 建立连接之后,MCP Client 通过 tools/list 接口请求 MCP Server 工具的元数据信息。
- 将 MCP 的工具列表转换成 LLM 能识别的工具列表
MCP Server 返回的工具列表可能是:
{ "name":"query_sql", "description":"执行查询SQL"}
将工具列表转换成所使用的模型支持的工具列表结构,比如:
{ "type":"function", "function":{ "name":"query_sql", "description":"执行查询SQL", "parameters":{ ... } }}
- 将工具信息传递给 LLM
LLM 收到这些 MCP 的工具,根据提问决定是否调用工具,如需调用则根据工具描述返回工具调用信息。
以上就是 MCP 的工具发现流程,工具发现的主要作用体现在:
- MCP Server 新增工具后,Client 无需修改代码就可以动态发现。
- 工具的描述信息、参数 Schema 都由 MCP Server 统一维护。
- 不同的 Agent 可以复用同一个 MCP Server。
- Agent 应用的代码不需要随着工具的变化而变化。
6、MCP 如何调用工具?
在上一个问题已经分析了 MCP 完成了工具发现,并且通过 LLM 的函数调用来决定调用哪个工具。接下来,Agent 应用收到了 LLM 返回的工具调用信息,将它交给 MCP Client。
{ "name":"query_sql", "arguments":{ ... }}
MCP Client 会将信息格式转换成 JSON-RPC 格式调用 tools/call 接口:
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "query_order", "arguments": { "id": "1001" } }}
MCP Server 执行工具,并将执行结果返回,最终 MCP Client 将调用结果交给 LLM,生成最终结果。
7、为什么 MCP 叫 Model Context Protocol,而不是 Tool Protocol?
因为 MCP 不仅仅提供 Tool 工具,还提供了 Resources、Prompts,Tool 只是其中一种能力。
- Prompts
MCP Server 可以暴露一些 Prompt 提示词模板,可以通过 prompts/list 接口获取相关提示词。
比如:
你是一名专业客服。回答要求:1. 语气友好2. 不承诺无法实现的事情3. 涉及退款时必须参考退款政策
我们在 Agent 应用获取到提示词之后,可以将提示词放到系统提示词中。
- Resources
MCP Server 可以提供一些 Resources 资源,比如产品使用手册、退货文档等等。MCP Client 发现 Resource 通过 resources/list 接口,再选择具体的资源通过 resources/read 进行读取,最终将读取到的文档放入上下文。
8、如何开发一个 MCP Server?
开发 MCP Server,本质上就是将已经存在的系统能力包装成一种支持 MCP 协议的通用能力。
在 LangChain 中,开发一个 MCP Server 的基本流程如下:
- 安装 MCP SDK 和 LangChain 的 MCP 适配器
uv add mcp langchain-mcp-adapters
- 创建 MCP Server
首先定义 MCP Server,并创建一个天气查询工具。
from mcp.server.fastmcp import FastMCPmcp = FastMCP("weather-server")@mcp.tool()def get_weather(city: str) -> str: """查询指定城市的天气。 Args: city: 城市名称。 """ return f"{city}今天晴,气温 22°C 到 29°C。"if __name__ == "__main__": mcp.run(transport="stdio")
- 创建 MCP Client
构建 MCP Client,因为 MCP Client 和 MCP Server 之间使用 stdio 通信模式,所以不需要提前启动 MCP Server。使用 MultiServerMCPClient 会自动根据指定的 SERVER_FILE 去启动 MCP Server,并且 MultiServerMCPClient 会自动将 MCP Tool 转换成 LangChain Tool。并且在 MCP Client 调用完成之后,MCP Server 也会随之关闭。
import asyncioimport sysfrom pathlib import Pathimport dotenvfrom langchain.agents import create_agentfrom langchain_mcp_adapters.client import MultiServerMCPClientSERVER_FILE = Path(__file__).with_name("13.1 MCP Server.py")async def main() -> None: dotenv.load_dotenv() # `MultiServerMCPClient` 会按配置启动 MCP Server,并把 MCP 工具转换为 LangChain 工具。 client = MultiServerMCPClient( { "weather": { "transport": "stdio", "command": sys.executable, "args": [str(SERVER_FILE)], } } ) tools = await client.get_tools() agent = create_agent( model="deepseek-v4-flash", tools=tools, system_prompt="你是一个天气助手,只能使用天气工具回答天气问题。", ) result = await agent.ainvoke( {"messages": [{"role": "user", "content": "请查询杭州今天的天气"}]} ) print(result["messages"][-1].content)if __name__ == "__main__": asyncio.run(main())
执行结果如下:

MCP示例执行结果
9、MCP 相比传统 API 有什么优势?
MCP 相比于传统的 API 接口更适合 AI Agent。传统的 API 主要通过应用程序调用,这些 API 如果想被 Agent 调用,需要将 API 包装成工具,定义相关的参数 Schema、描述信息、权限控制等信息,而 MCP 将这些内容进行标准化,接入即可使用。
MCP 相对于传统 API 有如下优势:
- 自动发现:MCP Client 可以自动发现 MCP Server 而无需手写工具。
- 工具可复用:同一个 MCP Server 可以被不同的 Agent 使用,无需重复接入。
- 更适合模型使用:MCP 工具内置名称、描述、参数,让 LLM 可以很方便地使用 MCP 提供的工具。
- 提供统一的上下文:除了工具外 MCP 还支持统一的提示词、资源。
- 集中权限控制:MCP Server 暴露工具后,可以在 MCP Server 集中做权限控制、限流等操作。
MCP 降低了 Agent 接入外部系统的成本,让 LLM 能够更灵活地发现、了解、使用外部工具。
最后
对于正在迷茫择业、想转行提升,或是刚入门的程序员、编程小白来说,有一个问题几乎人人都在问:未来10年,什么领域的职业发展潜力最大?
答案只有一个:人工智能(尤其是大模型方向)
当下,人工智能行业正处于爆发式增长期,其中大模型相关岗位更是供不应求,薪资待遇直接拉满——字节跳动作为AI领域的头部玩家,给硕士毕业的优质AI人才(含大模型相关方向)开出的月基础工资高达5万—6万元;即便是非“人才计划”的普通应聘者,月基础工资也能稳定在4万元左右。
再看阿里、腾讯两大互联网大厂,非“人才计划”的AI相关岗位应聘者,月基础工资也约有3万元,远超其他行业同资历岗位的薪资水平,对于程序员、小白来说,无疑是绝佳的转型和提升赛道。
如果你还不知道从何开始,我自己整理一套全网最全最细的大模型零基础教程,我也是一路自学走过来的,很清楚小白前期学习的痛楚,你要是没有方向还没有好的资源,根本学不到东西!
下面是我整理的大模型学习资源,希望能帮到你。

👇👇扫码免费领取全部内容👇👇

最后
1、大模型学习路线

2、从0到进阶大模型学习视频教程
从入门到进阶这里都有,跟着老师学习事半功倍。

3、 入门必看大模型学习书籍&文档.pdf(书面上的技术书籍确实太多了,这些是我精选出来的,还有很多不在图里)

4、 AI大模型最新行业报告
2026最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

5、面试试题/经验

【大厂 AI 岗位面经分享(107 道)】

【AI 大模型面试真题(102 道)】

【LLMs 面试真题(97 道)】

6、大模型项目实战&配套源码

适用人群

四阶段学习规划(共90天,可落地执行)
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
-
硬件选型
-
带你了解全球大模型
-
使用国产大模型服务
-
搭建 OpenAI 代理
-
热身:基于阿里云 PAI 部署 Stable Diffusion
-
在本地计算机运行大模型
-
大模型的私有化部署
-
基于 vLLM 部署大模型
-
案例:如何优雅地在阿里云私有部署开源大模型
-
部署一套开源 LLM 项目
-
内容安全
-
互联网信息服务算法备案
-
…
👇👇扫码免费领取全部内容👇👇

3、这些资料真的有用吗?
这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多推荐

所有评论(0)