MCP 和 Function Calling 有什么区别?
📅 2026/7/3 2:24:58
👁️ 次浏览
很多人第一次看到 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 负责让模型触发这一次调用。
编者按: 本文来自普通上班族用户“格子间的修真者”的真实投稿。在这个快节奏的时代,他与我们分享了在日常工作软件中发现的一方精神天地。以下为投稿正文。
偶然闯入的赛博仙侠世界:我的“一念成仙”体验
平时坐在工位上,对着电脑…
📅 2026/7/3 2:24:58
1. 2026职场新常态:AI技能成为生存刚需 刷抖音时看到的那条"2026职场铁律"视频,像一记重锤敲醒了我。作为一个在职场摸爬滚打多年的老鸟,我不得不承认:AI技能已经从"锦上添花"变成了"雪中送炭"。这…
📅 2026/7/3 2:22:57
算法原理说明:基于相关峰检测的信号定时同步器
1. 概述
本模块 corr_sync_top 用于在接收链路中检测已知前导序列(Preamble)的到达时刻,输出一个单周期定时同步脉冲 m_axis_sync_pulse,标记帧边界。核心方法是滑动窗互…
📅 2026/7/3 2:22:57
进阶AI写歌的核心在于“精准控制”与“人机协同”,通过结构化Prompt工程、参数微调以及后期分轨处理,摆脱“AI味”和模板化听感 🎛️
高级Prompt工程与结构控制 使用元标签与时空标记:除了基础的 [Verse]、[Chorus],加入 [Pre-Chorus](预副歌)、[Ad-lib](即兴哼唱)、…
📅 2026/7/3 3:29:04
1. 项目概述:Gemma不是“又一个开源模型”,而是轻量级AI落地的分水岭最近在几个技术群和本地AI爱好者线下聚会上,几乎每天都有人甩出那句:“Gemma 4杀疯了!”——不是夸张,是实测后的真实反馈。我用一台202…
📅 2026/7/3 3:29:04
题目概述这是CryptoHack上的一道入门级密码学题目,分值3分。题目给出了一个以十六进制编码的字符串,要求我们将其解码回原始字节,从而获得flag。理解问题的本质现代密码学中,加密后的数据(密文)通常包含大量…
📅 2026/7/3 3:29:04
本系统是本地2026年5月14日开发完成的一套B2B2C多商户多语言外贸电商系统,新模式,新思路,新优化,安装即可运营
演示站:https://c188.fanwenzhu.com/
内附约39G本地商品图片620MB(数据库文件程序ÿ…
📅 2026/7/3 3:29:04
佳木斯的街头巷尾,黄金回收、白银回收、铂金回收的招牌鳞次栉比,看似选择众多实则鱼龙混杂,市民想要变现旧料往往难辨真伪高低。为帮大家甄选靠谱渠道,小编实地走访多家门店,层层筛选出本地诚信商户,整理出…
📅 2026/7/3 3:29:04
在3DMAX室内设计可视化领域,渲染的真实感往往决定了一个项目的成败。无论是为客户呈现设计方案,还是用于竞赛展示,逼真的渲染效果都能让设计理念更加生动、更具说服力。然而,许多设计师在渲染室内场景时,常常面临画面平…
📅 2026/7/3 3:27:03
1. AI Agent设计模式全景概览在智能系统开发领域,AI Agent的设计模式就像建筑师的蓝图,决定了智能体如何感知环境、处理信息并采取行动。从业五年来,我见证过太多团队因为模式选择不当导致系统重构的案例。最近在金融风控系统升级时ÿ…
📅 2026/7/3 0:00:32
1. 项目概述:iOS自动化测试的“定位”之痛做iOS自动化测试的朋友,十有八九都卡在“元素定位”这个环节上。你兴冲冲地写好了测试脚本,结果一运行,要么是找不到元素,要么是找到了但点不动,要么是这次能跑通下…
📅 2026/7/3 0:00:32
MTKClient实战指南:深度解析联发科芯片调试与设备修复方案 【免费下载链接】mtkclient MTK reverse engineering and flash tool 项目地址: https://gitcode.com/gh_mirrors/mt/mtkclient
MTKClient是一款专业的联发科芯片调试工具,为技术爱好者和…
📅 2026/7/3 0:00:32
6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…
📅 2026/7/2 17:37:53
引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…
📅 2026/7/2 17:37:51
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/2 1:17:03
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/2 9:49:12
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/2 1:36:45