首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >MCP >MCP 与 OpenAI Function Calling 有什么区别?

MCP 与 OpenAI Function Calling 有什么区别?

词条归属:MCP

1. 协议性质不同

OpenAI Function Calling 是 OpenAI API 的功能特性,函数在每次 API 调用时以内联方式定义,工具逻辑存在于应用代码之中。MCP 是独立的开放协议,基于 JSON-RPC 2.0 构建,有独立的规范文档和 SDK 支持。

2. 工具发现机制不同

Function Calling 采用静态定义方式,每次请求中明确列出可用工具,模型只能看到本次请求中提供的工具。MCP 支持运行时动态发现,客户端通过调用 tools/list 方法主动查询服务端可用的工具,工具列表可在会话期间动态更新。

3. 状态管理模式不同

Function Calling 是无状态的,每次函数调用相互独立,状态管理由应用程序负责。MCP 是有状态协议,服务端可以在多次调用之间维持连接、上下文和事务状态,适合需要保持连接或累积状态的操作。

4. 平台绑定程度不同

Function Calling 绑定特定 LLM 提供商(各家的 Function Calling 格式和行为略有差异),切换模型提供商通常需要重写工具定义。MCP 是模型无关的独立协议,同一 MCP 服务端可以与 Claude、GPT、Gemini 等不同模型配合使用。

5. 传输与部署方式不同

Function Calling 通过 HTTP 调用 LLM API,函数执行在应用进程内完成。MCP 支持独立的服务端进程,可通过 Stdio(本地)或 HTTP/SSE(远程)进行通信,服务端拥有独立部署生命周期,支持跨进程、跨网络通信。

相关文章
MCP 和 Function Calling:示例
实现这样一个场景:和大模型聊天,然后让大模型将回答的内容总结后保存到 flomo 笔记中。
郑子铭
2025-05-25
1K0
OpenAI | Function calling 上手体验
LLM的基本使用方式是 text in -> text out , 输出是 text 。 但是很多时候,我们希望它能以固定的格式输出,以便解析成结构化的数据,传递给后续的处理逻辑。
windealli
2023-11-22
3.7K1
MCP vs Function Calling,该如何选?
Hello folks,我是 Luga,今天我们来聊一下人工智能应用场景落地 - 如何为 LLM 集成选择合适的策略?
Luga Lee
2025-04-21
2K1
MCP与Function Calling的区别是什么?它们与AI Agent有何关联?
MCP,全称 Model-Conditioned Prompting,可以理解为“大模型条件化提示”,核心思想是:
霍格沃兹-测试开发学社
2025-11-25
7440
简单的说下,(function(){...})() 与 (function(){...}()) 有什么区别?
大周末的写太长了也没人看,标题所提问,其实没有区别, function xxx(){...},这是一个函数,解释器知道了,但并不运行它; xxx(),解释器遇到它就会执行它。 IIFE写法的好处: 1,普通写法代码多,并且定义和执行不在一起; 2,占用命名空间; 不想给某些函数起名,又想让它立即执行,那怎么办呢?简单啊,将之转化为表达式,加个()呗,变成这样, (function xxx(){console.log('xxx')})(); 那既然都立即执行了,干脆函数名也不要了吧,于是, (function
web前端教室
2018-02-07
1.1K0
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券