Skip to content
阅读进度

MCP 与 Function Calling 有什么区别?如何选择? ​

返回 工程项目复盘 目录

标准回答 ​

Function Calling 管模型如何提出调用;MCP 管应用如何连接外部能力,常常在同一条链路中配合。

  • 应用可把 MCP 工具转换为模型可理解的工具定义。
  • 模型选择工具后,应用校验参数和权限,再通过 MCP Client 调用 Server。
  • 服务结果交回模型,完成下一轮决策或回答。

通俗例子 ​

模型提出 searchDocs,程序校验后让 MCP Client 调用知识库 Server,结果再交回模型;不是用了 MCP 就不再需要模型调用格式。

深入解释 ​

**两种约定分别连接哪一段:**Function Calling 描述模型如何输出工具名与参数;MCP 描述应用客户端如何发现、读取或调用外部服务提供的能力。前者靠近模型输出,后者靠近外部接入。

**同一个请求怎样配合:**模型要求 searchDocs,应用检查后通过 MCP Client 调知识库服务,再将检索结果交回模型。也可以不用 MCP 而直接调内部函数,所以二者不是互斥方案。

易混淆点 ​

使用 MCP 不会取消 Function Calling,也不意味着任何模型都会直接说 MCP。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。