MCP 和 Function Calling 有什么区别?
很多人第一次看到 MCP会把它理解成 Function Calling 的升级版。这个说法不准确。MCP 和 Function Calling 不是谁淘汰谁而是解决的问题不在同一层。更通俗一点Function Calling 负责把“模型这一次要调哪个函数、参数是什么”说清楚MCP 负责把外部工具做成标准服务让不同 AI 应用都能发现、连接和复用。实际落地时两者经常一起用MCP 把工具接进来Function Calling 让模型在对话里选择并触发工具。1. Function Calling解决“一次调用怎么表达”Function Calling 的重点是单次调用格式。你把工具说明发给模型模型判断需要工具时返回一个结构化调用请求你的业务代码拿到参数后才真正执行函数。所以Function Calling 不是让模型直接访问数据库、写文件、发消息。模型只负责生成调用意图真正执行动作的是应用侧代码。比如定义一个查询天气的工具模型看到用户问“上海今天热不热”就可以选择调用 get_weather。工具定义一般会用 JSON Schema 描述参数。Function Calling 工具定义{type:function,function:{name:get_weather,description:Get weather by city name.,parameters:{type:object,properties:{city:{type:string}},required:[city],additionalProperties:false},strict:true}}模型返回的一次工具调用{type:function_call,name:get_weather,arguments:{\city\:\Shanghai\}}这就是 Function Calling 的边界它让模型用结构化方式表达动作但工具从哪里来、怎么注册、怎么跨项目复用、怎么统一治理不是它主要解决的问题。2. 只靠 Function Calling工具多了会重复建设如果只有一两个工具Function Calling 很轻巧。但当多个应用都要接同一批工具时问题会变明显每个应用都要写一份 schema每个应用都要写执行逻辑每个应用都要处理权限、异常和日志。比如客服 Agent、运营 Agent、研发 Agent、数据 Agent 都要接 GitHub、Slack、数据库和文件系统。如果只靠 Function Calling很容易变成“每个项目复制一遍工具定义”。3. MCP解决“工具怎么接入、发现和复用”MCP 的思路是不要让每个 AI 应用都重复对接外部系统而是把外部系统封装成 MCP Server。AI 应用作为 Host通过 Client 连接 Server自动发现可用工具和资源。MCP 官方把它定义为连接 AI 应用和外部系统的开放标准。它不是某个具体工具而是一套通信和能力暴露规范。比如在客户端配置一个天气 MCP Server。配置好之后支持 MCP 的客户端就可以启动它、连接它并读取它暴露出来的工具清单。MCP Server 配置示例{mcpServers:{weather:{command:node,args:[./weather-mcp-server.js]}}}向 MCP Server 请求工具列表{jsonrpc:2.0,id:1,method:tools/list,params:{}}调用 MCP Server 暴露的工具{jsonrpc:2.0,id:2,method:tools/call,params:{name:get_weather,arguments:{city:Shanghai}}}注意这个区别MCP 不是替模型执行思考也不是替代 Function Calling。它是把工具接入标准化让工具可以被发现、被连接、被复用。4. 两者怎么配合MCP 接工具Function Calling 触发工具一个实际系统可以这样跑MCP Client 先从 MCP Server 拿到工具清单AI 应用把这些工具整理成模型能理解的工具描述模型通过 Function Calling 选择工具应用侧再把调用转成 MCP 的 tools/call 请求。下面是一个简化版伪代码。它表达的是模型产生 Function Calling 结果之后应用侧再去调用 MCP Client。应用侧把 Function Calling 转成 MCP 工具调用importjsoniftool_call.nameget_weather:argsjson.loads(tool_call.arguments)resultmcp_client.call_tool(nameget_weather,arguments{city:args[city]})messages.append({role:tool,tool_call_id:tool_call.id,content:json.dumps(result,ensure_asciiFalse)})5. 什么时候只用 Function Calling什么时候上 MCP选择时不要看名字新不新而要看工具规模和复用需求。工具少、应用单一用 Function Calling 更直接工具多、多个应用都要用就适合 MCP。6. 实际落地可以这样做比较稳妥的做法是先轻后重少量工具先用 Function Calling 跑通业务闭环当某些工具被多个项目重复使用时再抽成 MCP Server。•第一阶段业务里只有少量工具先用 Function Calling 定义 schema快速上线。•第二阶段工具被多个 Agent 复用把它们封装成 MCP Server。•第三阶段统一做工具权限、参数校验、审计日志、限流和异常处理。•第四阶段把常用工具沉淀成内部工具市场让不同 AI 应用按需连接。7. 生产环境必须管住工具风险无论是 Function Calling 还是 MCP只要工具能读数据库、写文件、发消息、创建工单就不能只关注“能不能调通”。工具调用本质上是系统执行能力必须有边界。至少要做五件事工具白名单、参数校验、用户确认、权限隔离、审计日志。尤其是有副作用的动作比如删除文件、发邮件、创建工单、转账支付一定不能让模型绕过确认流程。8. 一句话讲清楚MCP 和 Function Calling 不是替代关系。Function Calling 解决的是一次工具调用的结构化表达MCP 解决的是工具接入、发现、复用和治理。小项目、少量工具用 Function Calling 就够多项目、多工具、多客户端复用就应该考虑 MCP。真正落地时MCP 往往在工具管理层Function Calling 在模型调用层MCP 负责把工具接进来Function Calling 负责让模型触发这一次调用。

相关新闻

AI写教材大揭秘:如何利用AI工具实现低查重,快速生成高质量教材?

AI写教材大揭秘:如何利用AI工具实现低查重,快速生成高质量教材?

编写教材离不开丰富的资料支持,但传统的资料整合方式已无法满足现代需求。以往,我们需要从多个渠道获取信息,比如课标文件、学术文献和教学案例,耗时数天来筛选有用的信息。即便资料搜集齐全,零散的信息也难以有效整合…

2026/7/3 2:24:24 阅读更多 →
【 Elasticsearch】GitHub Copilot CLI 插件原理与工作流程

【 Elasticsearch】GitHub Copilot CLI 插件原理与工作流程

用自然语言查询 Elasticsearch —— GitHub Copilot CLI 插件原理与工作流程 1. 痛点:数据就在那里,查询却没那么简单 Elasticsearch 是当今最流行的分布式搜索与分析引擎,被广泛应用于日志分析、应用性能监控、电商搜索等场景。然而&#xf…

2026/7/3 2:24:24 阅读更多 →
平潭:东海之上的蓝眼泪故乡

平潭:东海之上的蓝眼泪故乡

地处福建东南沿海的平潭岛,是祖国大陆距离台湾本岛最近的地方,这座中国第五大岛、福建第一大岛,正以独特的滨海风光,成为备受瞩目的国际旅游岛。平潭的美,藏在波澜壮阔的海岸线上。蜿0平0潭的美,是自然与人…

2026/7/3 2:22:24 阅读更多 →

最新新闻

快速上手Native-Turbo:从安装到部署的30分钟速成指南

快速上手Native-Turbo:从安装到部署的30分钟速成指南

快速上手Native-Turbo:从安装到部署的30分钟速成指南 【免费下载链接】native-turbo Native-Turbo is the performance optimization framework of native microarchitecture of operating system. 项目地址: https://gitcode.com/openeuler/native-turbo 前…

2026/7/3 3:14:49 阅读更多 →
【无标题】小学期课设

【无标题】小学期课设

对板子进行焊接与调试,测绘出波形

2026/7/3 3:12:48 阅读更多 →
居家饮食百搭冲调,庆葆堂菊粉固体饮料,日常纤维好搭档

居家饮食百搭冲调,庆葆堂菊粉固体饮料,日常纤维好搭档

均衡的日常饮食离不开足量植物纤维,今天分享一款百搭便捷的菊粉固体饮料,来自山东庆葆堂,以菊苣根为单一萃取原料,打造干净纯粹的日常冲饮选择。 产品全程植物提纯,做到 0 蔗糖、0 脂肪,粉质细腻轻盈&#…

2026/7/3 3:06:45 阅读更多 →
基于STM32单片机WIFI云平台物联网 空气质量 烟雾温湿度PM2.5 1(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_

基于STM32单片机WIFI云平台物联网 空气质量 烟雾温湿度PM2.5 1(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_

基于STM32单片机WIFI云平台物联网 空气质量 烟雾温湿度PM2.5 1(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_ WIFI云平台传输烟雾PM2.5温湿度声光报警 版本0:STM32F103C8T6单片机进行数据处理PM2.5检测当前粉尘浓度DHT11温湿度传感…

2026/7/3 3:04:43 阅读更多 →
调试与对拍:算法竞赛的“除虫指南”

调试与对拍:算法竞赛的“除虫指南”

引言这是每个算法竞赛选手都经历过的“至暗时刻”:你在本地跑了样例,完美通过;你甚至自己构造了几组边界数据,也都通过了。你满怀信心地提交代码,几秒钟后——Wrong Answer。你盯着屏幕看了十分钟,反复检查…

2026/7/3 3:04:43 阅读更多 →
2026最新3款基础版免费AI编程工具vibe coding权威实测上手教程

2026最新3款基础版免费AI编程工具vibe coding权威实测上手教程

朋友找我帮忙做一个微信小程序,预算不高、时间紧。我说试试用 AI 全自动开发,他半信半疑。三天后小程序上线了。我是一名独立全栈开发者,前后端开发都负责,累计靠vibe coding落地8个完整商业项目,日常大量口述需求交付…

2026/7/3 3:02:43 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻