Skip to content

一句话总结:Function Calling 解决"模型如何提出一次结构化工具调用",MCP 解决"AI 应用如何用统一协议连接/发现/复用外部能力"——两者不同层级非替代;MCP(Anthropic 2024.11 开源,JSON-RPC 2.0)是 AI 应用层 USB-C,三大原语 Tools/Resources/Prompts。

MCP vs Function Calling(面试默写)

维度Function CallingMCP
本质LLM API 特性:输出结构化工具请求开放协议:统一连接/发现/复用
工具逻辑位置应用代码内独立 MCP Server 进程
发现机制每次请求内联手动定义连接时 tools/list 自动发现
可移植性锁单应用/单厂商 schema任何 Host 连任何 Server
传输进程内 APIstdio(本地)/ 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-工具调用) — 调用层