引言
在人工智能快速发展的当下,Agent、MCP、Function Call 这三个概念频繁出现在各种技术讨论中。它们之间存在相似性,容易被混淆,但各自承担着不同的角色。
一、Function Call
Function Call(函数调用)是大模型调用外部函数或 API 以获取信息、执行计算或与系统交互的机制。它将自然语言与程序化工具连接起来,使得大模型能够突破纯文本生成的限制。
核心价值
- 突破模型闭域限制:通过调用外部工具(如数据库、API、专业软件)扩展 LLM 能力边界。
- 提升响应可靠性:将开放域问题转化为确定性函数执行(例如数学计算转 Wolfram Alpha 调用)。
- 实现动作代理:从纯文本生成升级为可编程行为(如发送邮件、修改代码)。
- 深度绑定模型:通常作为模型的一部分,是增强大模型能力的直接方式。
Function Call 时序图
以 ChatGPT 利用 Function call 解答'北京今日气温?'为例,其交互流程如下:

嵌入机制
本质上,Function Call 可以看作是 ChatGPT 插件的 API 化升级。它深度绑定到模型中,模型运行时直接调用,就像是模型内部的协议一样。开发者通过结构化的描述文件来简化通信流程,告诉模型如何调用接口以及这些接口能做什么。当用户提问时,如果模型判断插件能更好地解决问题,就会直接调用相应接口。
二、什么是 MCP?
MCP(Model Context Protocol)是大语言模型(LLM)与外部数据源、工具及服务之间的交互的一种通用的开放通信协议。其核心目标是通过统一的接口框架,解决 AI 模型与真实环境连接不足的问题,使模型能够动态感知上下文并调用多样化工具,从而扩展其功能边界。
三、MCP Server
1、MCP 架构
MCP 协议基于 C-S 架构,核心组件包括:
- MCP Hosts(主机):像 Claude Desktop、IDE 或 AI 工具这样的程序,希望通过 MCP 访问数据。
- MCP Clients(客户端):维护与服务器 1:1 连接的协议客户端。
- MCP Servers(服务器):每个暴露特定功能的轻量级程序,通过标准化的模型上下文协议提供服务。
- Local Data Sources(本地数据源):您计算机的文件、数据库和服务,MCP 服务器可以安全地访问。
- Remote Services(远程服务):可以通过互联网(例如,通过 API)访问的外部系统,MCP 服务器可以连接到。
MCP 通过标准化接口和动态工具发现机制,正在重构 AI 与工具生态的协作范式。其本质是构建 LLM 与真实世界的通用适配层,既解决了模型与环境的割裂问题,又降低了开发者的集成成本。

2、MCP 的通信机制
- 消息格式:基于 JSON-RPC 2.0 协议,支持请求(双向)、响应、通知(单向)三类消息类型。
- 传输方式:









