题目
MCP、Function Calling 和直接调用业务 API 有什么区别?
答案
Function Calling 是模型接口提供的交互能力:把可用函数的说明发给模型,模型返回要调用哪个函数以及参数。实际执行仍由应用负责。 业务 API 是系统真正提供的功能,例如查询订单、创建退款单。普通后端程序无需模型,也可以直接调用这些 API。 MCP 是应用接入外部工具和上下文的协议,约定如何发现能力、读取资源和调用工具。接入后,Host 可以把 MCP 工具转换为模型支持的工具定义,再通过 Function Calling 让模型选择。 ![从模型的调用意图,到真实业务操作](https://cs-wiki.oss-cn-shanghai.aliyuncs.com/question/agent-development/extra-mcp-function-api-11b7d42c23b541b4.png) 常见链路是“模型提出调用 → 运行时调用 MCP 服务 → MCP 服务调用业务 API”。只有少量内部接口时,直接封装工具可能更简单;需要供多个 Agent 应用复用时,统一 MCP 接入更有价值。使用 MCP 不会自动获得权限控制和业务正确性。