Appearance
一句话总结:Function Calling 解决"模型如何提出一次结构化工具调用",MCP 解决"AI 应用如何用统一协议连接/发现/复用外部能力"——两者不同层级非替代;MCP(Anthropic 2024.11 开源,JSON-RPC 2.0)是 AI 应用层 USB-C,三大原语 Tools/Resources/Prompts。
MCP vs Function Calling(面试默写)
| 维度 | Function Calling | MCP |
|---|---|---|
| 本质 | LLM API 特性:输出结构化工具请求 | 开放协议:统一连接/发现/复用 |
| 工具逻辑位置 | 应用代码内 | 独立 MCP Server 进程 |
| 发现机制 | 每次请求内联手动定义 | 连接时 tools/list 自动发现 |
| 可移植性 | 锁单应用/单厂商 schema | 任何 Host 连任何 Server |
| 传输 | 进程内 API | stdio(本地)/ Streamable HTTP(远程) |
| 资源/提示/订阅 | 不支持 | 内置 |
三大原语(拉分点)
| 原语 | 是什么 |
|---|---|
| Tools | 可调用函数(有副作用),Server 侧定义、Client 动态发现 |
| Resources | 只读数据源(文件系统概念),可列出/读取 |
| Prompts | 可复用提示模板 |
架构与服务端开发
LLM Agent → MCP Client → MCP Server → 实际工具(API/DB/脚本)- 开发流程:注册工具/资源/提示 → 选传输层(stdio 本地 / Streamable HTTP 远程)→ 鉴权(OAuth 2.1)
- 优势:模型无关(GPT/Claude/开源都支持)、工具热插拔/版本管理、上下文感知(按用户身份动态暴露工具)
- 选型:单一应用+少量固定 API → Function Calling;同组工具多 Host 复用/文件数据库 → MCP
面试要点
- 能说 MCP vs Function Calling 是不同层级
- 能默写三原语(Tools/Resources/Prompts)
- 能画 MCP 架构链路
- 能报传输(stdio/Streamable HTTP)与鉴权
相关概念
- AI基础概念-MCP协议 — 概念层
- AI基础概念-LLM-API与Function-Calling — 对比对象
- [AI-Agent-浏览器Agent与网页交互](/学习笔记/AI技术/AI Agent/AI-Agent-浏览器Agent与网页交互) — Playwright MCP 实例
- [AI-Agent-工具调用](/学习笔记/AI技术/AI Agent/AI-Agent-工具调用) — 调用层