Skip to content

5.8 MCP·选型决策:MCP vs Tool vs Skill vs 直接调 API

🕐 内容截至 2026-07

"让 AI 能干这件事"有好几种做法,很多人搞混。这一节给你一个清晰的决策框架:什么时候用 MCP、什么时候用应用内 Tool、什么时候用 Skill、什么时候直接写代码。

先分清这四个是什么

方式一句话谁在用这个 AI
直接调 API/函数你代码里写死的逻辑,AI 不参与决策—(不涉及 AI 决策)
应用内 Tool(Function Calling)你自己的应用里,让 AI 调用你定义的函数你 App 里的 AI
MCP把能力做成标准协议服务,任何支持 MCP 的客户端都能用Claude Code、别的 AI 工具、你的 App
Skill教 AI "怎么做某件事" 的说明书(流程/规范/知识),不新增外部能力Claude Code 等支持 Skill 的客户端

💡 一句话抓住区别:

  • Tool / MCP = 给 AI 新的能力(去查库、调接口、操作系统)
  • Skill = 给 AI 新的知识/流程(该按什么步骤、什么规范做)
  • MCP vs 应用内 Tool = 同样是"能力",区别在给谁用:只给自己 App 用 → 应用内 Tool;要跨客户端复用 → MCP

决策流程图

你要解决的是"AI 缺一种能力"还是"AI 不知道怎么做"?

├─ 不知道怎么做(缺流程/规范/领域知识)
│     → Skill(或写进 System Prompt / CLAUDE.md)

└─ 缺一种能力(要查数据、调接口、操作外部系统)

      ├─ 这能力只在"我自己的应用"里用,我全程掌控代码
      │     → 应用内 Tool(Function Calling,见 1.4)

      └─ 这能力要给 Claude Code / 多个 AI 客户端 / 团队 复用
            → MCP Server(见 5.6 / 5.7)

而如果根本不需要 AI 来决定要不要做(流程是确定的):
      → 直接在代码里调 API,别绕 AI(最简单可靠,见 4.8 补偿性代码)

几个常见纠结,直接给答案

Q:我想让 Claude Code 能查我们公司数据库。MCP。因为客户端是 Claude Code(不是你自己写的 App),要让它获得"查库"这个外部能力,标准做法就是写个数据库 MCP Server(见 5.9)。

Q:我在自己做的客服 App 里,想让 AI 能查订单。应用内 Tool。你掌控整个 App 和 AI 调用循环,直接用 Function Calling(1.4)最简单,没必要套 MCP 协议。

Q:我想让 Claude Code 每次都按我们团队的部署清单/代码规范来做。Skill(或 CLAUDE.md)。这是"怎么做"的知识,不是新能力,不需要 MCP。

Q:我有个固定流程:每晚导出数据→生成报表→发邮件。直接写代码(脚本/定时任务)。流程是确定的,不需要 AI 临场决策,别为了用 AI 而用 AI。

Q:既要新能力、又要教它怎么用好这个能力?MCP/Tool 提供能力 + Skill/Prompt 教方法,两者叠加。能力和知识是两件事。


一个判断口诀

确定的流程        → 写代码(最可靠)
AI 不知道怎么做   → Skill / Prompt(给知识)
自己 App 要能力   → 应用内 Tool(给能力)
跨客户端要能力    → MCP(给能力 + 可复用)

⚠️ 最常见的过度设计:为一个只有自己 App 用的功能套 MCP。MCP 的价值在"跨客户端复用"和"接入 Claude Code 这类你不掌控的客户端"。只在自己应用里用,应用内 Tool 更轻。


🛠️ 实战练习:给三个需求选方案

判断下面各用什么(先想再看):

  1. 让 Claude Code 能查你们的 Jira 工单
  2. 你的 AI 写作 App 里要让 AI 能联网搜索
  3. 让 Claude Code 生成符合公司 OpenAPI 规范的接口代码
  4. 每周一自动汇总上周 PR 数量发到群里
参考答案
  1. MCP(客户端是 Claude Code,需要"查 Jira"这个外部能力,且可复用)
  2. 应用内 Tool(你自己的 App,掌控调用循环,Function Calling 即可)
  3. Skill(这是"怎么写"的规范知识,不是新能力)
  4. 直接写代码/定时任务(确定流程,无需 AI 决策)

📌 关键结论

  1. Tool/MCP 给"能力",Skill 给"知识/流程",先分清你缺的是哪种
  2. 同是能力:只在自己 App 用 → 应用内 Tool;跨客户端/接入 Claude Code → MCP
  3. 流程确定、不需要 AI 临场决策的,直接写代码最可靠,别硬套 AI
  4. 能力和知识常需叠加:MCP/Tool 提供能力 + Skill/Prompt 教它用好
  5. 别为只给自己用的功能过度套 MCP——MCP 的价值在跨客户端复用

下一节:5.9 MCP·案例集

写给自己的 AI 学习地图