MCP 核心知识体系:从协议原理到工程落地的关键认知

1. MCP 是什么?它解决了什么问题?

面试要点:不要只背定义,要强调“碎片化”痛点和“标准化”价值。
回答要点:MCP 是 Anthropic 推出的工具调用标准化协议,核心解决 Agent 工具生态的碎片化问题。

传统模式下,每个工具的 API 格式、认证方式和错误处理逻辑各不相同,导致集成成本极高。MCP 定义了统一的工具发现、调用和错误处理规范,让 Agent 能用同一套方式接入任意兼容工具,将“N×M”的适配难题简化为“N+M”。

2. MCP 的核心原理、优势及适用场景

面试要点:采用“架构-差异-场景”三段式回答,体现结构化思维。
回答要点:MCP 通过标准接口让 Agent 统一调用工具,相比直接调 API 更具扩展性,适合多工具集成场景。

建议从以下三个维度展开:

Image

  1. 核心架构:由 MCP Client(Agent 侧,负责连接与调用)、MCP Server(工具侧,提供元数据与执行)、MCP Protocol(通信标准)三部分组成。流程为:Client 连接 Server → Server 返回工具列表(含名称/描述/参数)→ LLM 选择工具 → Client 发起调用 → Server 执行并返回结果。
  2. 核心差异:直接调用 API 需为每个工具单独开发适配器、手动维护列表并各自处理校验与异常;MCP 实现一次集成、全局复用,支持工具动态发现、基于 JSON Schema 的自动参数校验及统一错误处理。本质上是将工具集成的“重复成本”转化为“一次投入、无限复用”。
  3. 适用场景

    • 集成 10 个以上外部工具的企业级 Agent(显著降低集成成本);
    • 多 Agent 共享工具库(Server 作为统一供给方,避免重复开发);
    • 工具需动态更新的场景(新增工具无需重启 Agent)。
    • 注:若工具数量少且格式固定,直接调用 API 反而更轻量。

3. MCP 的三层架构(Host / Client / Server)如何工作?

面试要点:厘清 Host 与 Client 的边界,这是新人最容易混淆的概念。
回答要点:Host 是宿主应用,Client 是协议连接器,Server 是工具提供者;三者各司其职,通过 stdio 或 HTTP 通信。

  • Host(宿主):面向用户的 AI 应用(如 Claude Desktop),负责用户交互与安全管理。
  • Client(客户端):协议连接器,维护与 Server 的会话,处理消息路由。
  • Server(服务端):暴露工具能力,执行具体逻辑并返回结果。

Image

Host 通过 Client 连接 Server 并调用工具,通信方式支持本地 stdio 和远程 HTTP/SSE。理解这一分层,是正确设计 MCP 系统的前提。

4. MCP 工具调用与普通 HTTP API 的本质区别

面试要点:核心在于“调用方”和“语义层次”的不同,务必提及 description 字段对 LLM 的关键作用。
回答要点:HTTP API 为人/程序设计,依赖硬编码;MCP 为 LLM 设计,具备语义自描述能力,支持动态发现与自主决策。

维度 HTTP API MCP Tool
设计对象 人 / 程序 LLM
调用方式 查文档 → 硬编码 → 固定结果 tools/list 发现 → 理解语义 → 自主调用 → 动态结果
自描述性 无,需预先了解接口 有,description 字段供 LLM 理解用途与参数

关键洞察:MCP 工具的 description 是给 LLM 看的自然语言说明,其质量直接决定 LLM 能否正确选择和使用工具。

# ✅ 好的 description(LLM 能准确理解)
@Tool(description="查询指定城市的实时天气,支持中英文城市名,返回温度、湿度、天气状况")

# ❌ 差的 description(LLM 易误用)
@Tool(description="天气查询")

5. MCP Server 的三类能力(Resources / Tools / Prompts)

面试要点:按“交互模式”区分三者,并给出设计原则。
回答要点:Resources 只读数据,Tools 执行操作,Prompts 复用模板;能用 Resources 就不用 Tools。

  1. Resources(资源):只读数据访问,类似文件系统。无副作用、幂等、可缓存。例如:读取文件、查询数据库记录、获取 API 文档。
  2. Tools(工具):有副作用的操作执行,类似函数调用。可能修改状态,需权限控制。例如:发送邮件、写入文件、执行 SQL。
  3. Prompts(提示词模板):可复用的参数化 Prompt 片段。用于标准化常用指令,减少重复编写。例如:代码审查模板、SQL 生成模板。

本章节为 Public 试读订购后可阅读全文。

需付费查看

Course Curriculum

1

基础篇

2

微调篇

3

Transformer

4

LangChain

5

Agent

6

RAG

7

LORA

8

大模型推理

9

分布式训练

10

蒸馏

11

多模态