最后更新: 2026-05-11
MCP vs Function Calling
Function calling 通常是应用内部能力。MCP 是跨 client 复用工具和上下文的协议边界。
快速建议: 单产品、单 Agent runtime 用 function calling。工具访问需要跨 client 共享、发现和治理时用 MCP。
什么时候选择前者
- 一个应用拥有模型、工具 schema 和后端。
- 工具集小且强产品定制。
- 希望移动部件最少。
什么时候选择后者
- 多个 client 需要同一组工具。
- 工具提供方和 Agent client 属于不同团队。
- 需要带 discovery 和 resources 的协议边界。
功能对比
| 范围 | 应用内部 tool calls | 跨 client 的工具和上下文协议 |
|---|---|---|
| 治理 | 通常在应用代码中执行 | 可集中在 server 边界 |
| 复杂度 | 单应用更低 | 集成重复后更划算 |
开发体验
Function calling 更快上线。MCP 在工具 ownership、client 多样性或复用成为瓶颈时开始回报。
最终建议
窄应用先用 function calling。工具面本身变成产品时,再迁移到 MCP。