MCP
校招考察频度:★ 高频(重点常考·大厂分水岭) 复习主线:MCP(Model Context Protocol)是大模型智能体生态的“USB-C 统一插口”。校招面试核心聚焦点:为什么需要 MCP(破解 N 款模型 × M 个工具的网状硬编码死局)、三大核心原语(Tools 可执行操作、Resources 被动读取资源、Prompts 提示词模板)、Client-Host-Server 拓扑架构、两大传输层(本地进程 stdio vs 远程分布式 HTTP+SSE)、安全执行与权限审批机制。
MCP 是由 Anthropic 发起并开源的开放协议,旨在将模型与外部数据源、业务系统及工具调用的交互完全解耦标准化。
分类考频地图
| 专题 | 核心页面 | 校招考频星级 | 重点考查要点 |
|---|---|---|---|
| 三大核心原语 | MCP 核心原语 | ★ 高频 | Tools(主动带副作用调用)、Resources(只读文件/数据库快照类似 GET)、Prompts(参数化模版)、生命周期通知 |
| 三层系统架构 | MCP 体系架构 | ★ 高频 | Host(宿主应用如 Claude Desktop/IDE)包含 Client,连接多个解耦的 MCP Server、协议协商(Initialize)流程 |
| 传输协议实现 | MCP 传输机制 | ☆ 中频 | 本地进程间通信(stdio 管道)、远程分布式微服务(HTTP + SSE 单向流 + POST 命令)、JSON-RPC 2.0 序列化标准 |
| 安全与权限控制 | MCP 安全考量 | ☆ 中频 | 工具执行前用户确认(Human In The Loop)、Prompt Injection 隔离防护、路径穿越与沙箱安全 |
解决什么问题
Agent 时代每接一个新工具/数据源就要写一套集成代码(认证、格式、协议各不相同)。MCP 标准化:
MCP: 一次接入, 处处复用
- 工具一次实现(MCP 服务器),任意 MCP 客户端复用
- 标准由 Anthropic 提出(2024),现为 Linux 基金会项目,OpenAI/Google 等加入
- 类比:JDBC(数据库)、LSP(编辑器)、USB-C(硬件)
核心思想
- 客户端-服务器架构:应用(客户端)连接服务器(能力提供方)
- 三个原语:工具(可执行操作)、资源(可读数据)、提示(可复用模板),见核心原语篇
- 宿主(Host):LLM 应用本体(Claude Desktop、IDE、你的 Agent)
与 Function Calling 的关系
| 维度 | Function Calling | MCP |
|---|---|---|
| 定位 | 模型 API 的工具调用能力 | 工具接入的通用协议 |
| 范围 | 单模型提供商的约定 | 跨模型、跨应用 |
| 传输 | 模型 API 内部 | stdio / HTTP |
| 关系 | 互补:MCP 服务器可转成 FC schema |
面试话术:FC 是模型的”手”,MCP 是生态的”接口标准”。MCP 工具最终通过 FC 机制被模型调用(适配器转换)。
生态位置
| 组件 | 角色 |
|---|---|
| MCP 服务器 | 提供工具/资源/提示(GitHub、数据库、浏览器、Slack…) |
| MCP 客户端 | 应用侧接入(Claude、Cursor、自研 Agent) |
| 服务器目录 | 官方收录的服务器列表(registry) |
| 规范 | github.com/modelcontextprotocol 维护 |
面试追问
- MCP 解决什么? 工具接入标准化:一次实现到处复用,免去每个应用自定义集成
- 和 Function Calling 的关系? FC 是模型 API 能力,MCP 是协议标准。MCP 工具最终经 FC 被调用
- 三个原语? 工具(执行)、资源(读取)、提示(模板)。见原语篇
- MCP 是 Anthropic 的吗? 提出是,现在是 Linux 基金会项目,生态开放
- 类比? USB-C / JDBC / LSP:统一接口标准