游乐游手机版
首页/AI热点日报/热点详情

MCP与Function Calling概念解析

类型:热点整理2026-07-05
深入探索人工智能的边界,掌握如何让AI模型更智能地与外部系统高效交互,提升自动化能力。 核心内容: 1 大型语言模型(LLMs)的局限性以及RAG技术的典型应用场景 2 Function Calling与MCP的核心概念及其重要性 3 Function Calling的完整执行流程与MCP的即

深入探索人工智能的边界,掌握如何让AI模型更智能地与外部系统高效交互,提升自动化能力。
核心内容:
1. 大型语言模型(LLMs)的局限性以及RAG技术的典型应用场景
2. Function Calling与MCP的核心概念及其重要性
3. Function Calling的完整执行流程与MCP的即插即用特性解析

MCP 和 Function Calling:概念

近年来,大型语言模型(LLMs)发展迅速,已广泛应用于工作和生活的各个领域。然而,即便再强大的模型也存在固有短板,例如无法实时获取最新数据,也难以处理复杂的外部任务。因此,RAG(检索增强生成)技术在企业AI场景中逐渐普及,专门用于弥补模型信息滞后及垂直领域知识不足的问题。

但RAG技术虽然强大,其应用仍主要局限于智能问答场景。若要让大模型真正“动手执行任务”,实现有效且安全地与外部世界交互,则需要依赖两种关键技术:Function Calling 和 MCP。

Function Calling依赖于大模型自身的能力,而MCP则是一种通用协议。本文将从概念层面梳理这两者的关系,后续将结合代码实例进行深入讲解。

Function Calling(函数调用)介绍

概念

Function Calling是某些大模型(如OpenAI的GPT-4、Qwen2等)提供的一种关键机制。简而言之,模型能够主动生成结构化输出,从而调用外部系统中预定义的函数或API。它就像一座“桥梁”,帮助模型将自然语言意图精确转化为具体的工具调用指令。

执行流程

常有人说“大模型调用API”,但这一表述其实不够精确。整个执行过程更像一条协作链条,下面逐步拆解:

0、Agent程序是我们开发的AI应用,它会预先向大模型注册一些外部函数接口(建议不超过20个)。

1、用户用自然语言发起请求,Agent收到后进入处理流程。

2、Agent将用户请求提交给大模型。模型首先解析语义,判断是否需要调用外部工具。

3、如果模型判断需要调用函数,它会生成一条包含工具ID和输入参数的调用指令,并返回给Agent。

4、Agent接收指令后,执行对应的工具函数。

5、工具函数执行完毕后,将结果返回给Agent。

6、Agent把函数返回的结果与自定义提示词合并,一同反馈给大模型。

7、大模型融合工具返回的数据与原始上下文,生成最终结果,再返回给Agent。

8、Agent将最终结果呈现给终端用户。

特点

Function Calling具备以下几个显著特性:

  • 主动调用:模型能够识别用户意图,自主决定是否调用工具,并生成相应的调用指令。
  • 实时反馈:生成的调用指令由Agent执行后,结果会再次反馈给模型,从而使模型输出更实时、精准的回应。
  • 灵活但无标准:通信格式取决于具体模型厂商,缺乏统一的协议规范。这既是优势,也是弊端——不同厂商的实现互不兼容。

MCP(Model Context Protocol)介绍

概念

MCP(模型上下文协议)是Anthropic公司于2024年11月推出的开放标准协议。其目标非常明确:在AI模型与外部数据源或工具之间建立统一的通信接口。

可以将其理解为AI世界的“USB接口”。无论是哪种模型、哪种工具,只要符合MCP标准,就能实现即插即用,无需为每个工具单独编写适配器。而且没有编程语言限制——就像前后端分离后基于WebAPI的规范一样,任何语言都能编写接口。目前OpenAI也已支持MCP。

特点

MCP的优势体现在多个维度:

  • 开放性:作为开放标准,任何开发者或服务商都可以基于它开发API,避免重复造轮子。目前已有不少MCP集合站(例如https://mcp.so)。
  • 标准化:采用JSON-RPC 2.0作为通信协议,确保交互统一且高效。
  • AI增强:能够将AI应用从简单的问答升级为可执行复杂任务的工具。例如,Claude通过MCP接入GitHub后,可以直接完成项目创建、提交代码请求等操作。
  • 安全性:数据交互基于标准协议,便于控制数据流、防止泄露。服务器内置安全机制,可以保护API密钥不泄露给大模型提供商,主机也能授权客户端连接,确保全程安全可控。
  • 兼容性:支持文件内容、数据库记录、API响应、实时数据、截图图像、日志文件等几乎所有的数据格式,适用场景极为广泛。
  • 扩展性:提供提示词模板(Prompts)、工具(Tools)、采样(Sampling)等功能,可以灵活扩展AI与数据源的交互能力。

核心架构

MCP采用客户端-服务器(Client-Server)架构,包含以下组件:

  • MCP Host:发起请求的AI应用或工具,例如Claude Desktop、Cursor、Windsurf等。
  • MCP Client:位于Host内部,与MCP Server保持一对一连接,负责消息路由、能力协商及协议管理。
  • MCP Server:提供上下文数据、工具和提示词模板的服务端,负责响应客户端请求,提供外部资源访问。
  • 资源与工具:包括本地或远程的数据资源(如文件、数据库)以及可被模型调用的功能,使AI能够实时获取外部信息并执行任务。

调用步骤

MCP的调用流程相较于Function Calling更为规整:

  1. 宿主程序(客户端)中配置好MCP Server,并建立连接。
  2. 用户用自然语言提问,宿主程序将提示词(整合了用户问题)以及MCP Server提供的工具一并发送给大模型。
  3. 大模型理解后生成调用指令,宿主程序通过Client将指令发送给MCP Server。
  4. MCP Server收到请求后,解析内容,执行对应操作(例如搜索网络信息、记录笔记等),然后将处理结果封装成响应消息,返回给客户端。

MCP 与 Function Calling 的关系和区别

关系

如果将大模型比作大脑,那么MCP和Function Calling都是让大脑能够“开口说话、动手做事”的神经通路。Function Calling可以看作是MCP生态下的一种具体实现形式——尤其在工具调用(Tools)层面,两者高度相似。

区别

  • 交互模式:MCP支持交互式、持续性的上下文管理,AI可以与外部资源进行多轮互动;Function Calling则是简单的请求-响应模式,单次调用执行特定任务,缺乏延续性。
  • 定位:MCP是一种开放的标准协议,定义了通用的通信架构和数据格式(就像USB标准);Function Calling是特定模型厂商提供的扩展能力。
  • 通信协议标准化:MCP严格遵守JSON-RPC 2.0,具备高度标准化和互操作性;Function Calling没有统一标准,协议依赖具体厂商。
  • 生态开放程度:MCP生态开放、社区共建,任何人都能自由接入;Function Calling生态相对封闭,依赖特定模型厂商的支持。

希望这篇梳理能帮助你清晰理解这两个关键概念。

来源:https://www.53ai.com/news/LargeLanguageModel/2025040150263.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。