MCP 概述与动机
MCP(Model Context Protocol)是 AI 应用的“USB-C 接口”:统一模型与外部工具/数据的连接方式。面试主线:解决什么、核心思想、生态位置。
解决什么问题
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:统一接口标准