Applied AI School
v0 · 規劃中
AnthropicOpenAI

MCP 入門:為什麼需要 Model Context Protocol

從「LLM 幫我請假」這個內部系統情境出發,看 N × M 整合災難為什麼存在、MCP 怎麼把它變成 N + M。

TL;DR

  • 沒有標準前,M 個 App × N 個工具 = N×M 條整合——同一份工具會被不同團隊各自重寫一次。
  • MCP(Model Context Protocol)把工具的 schema 跟執行邏輯從 App 搬到專門的 MCP Server,整合數從 N×M 降到 N + M
  • 一個 MCP Server 寫好,所有支援 MCP 的 host 都能用——這個解耦跟 LSP(Language Server Protocol)讓編輯器與語言工具解耦是同樣的策略。

一個情境:LLM 幫我請假

公司用內部 HR 系統管請假——查餘額、送單、找人簽核都在裡面。沒人會出 SaaS 版的 MCP 給你,因為這就是貴司自己的東西。

員工的痛點通常很雜:

「下週三、四想請假,幫我看餘額還夠不夠,順便確認我主管那兩天有沒有檔期可以批。」

這一句話拆出三個動作:

  1. 查我的特休餘額
  2. 查主管那兩天的行事曆
  3. 送出請假申請

要讓 LLM 幫你做完,它需要呼叫 HR 系統的工具。問題就從這裡開始。

沒有 MCP 你會卡在哪

每加一個系統都要寫一輪:

  • 每個動作寫一個 tool schema 給 LLM 看(名稱、參數、描述)
  • 每個 tool 寫對應的 function:打 HR API、處理錯誤、處理 auth
  • 然後 IT 工單系統、會議室預訂、報銷……每個都來一次

更慘的是這些東西寫完之後,只有你的 App 用得到。隔壁團隊做別的 LLM 應用——員工 portal、Slack bot、客服 chatbot——又得自己再寫一次同一份 HR 工具。

N × M → N + M

把這件事畫出來就更清楚。假設公司有 M 個 LLM 應用要用 N 個內部系統:

沒 MCP有 MCP
整合數N × MN + M
多一個工具M 個 App 都要改寫一個 Server 就完事
多一個 App要重新串 N 個工具連上現有 Server 即可

差一個乘號跟一個加號,但乘號是過去三年 LLM 應用開發的「基礎建設稅」——大家都在做同樣的接線工,沒人在累積。

MCP 把責任搬走

核心想法很簡單:工具的定義跟執行不該住在你的 App 裡

把它搬到「專門的 MCP Server」:

  • HR MCP Server:包好 get_leave_balancerequest_leaveapprove_leave,內部接 HR API
  • 行事曆 MCP Server:包好 find_free_timelist_events
  • 每一個都是獨立的程序,獨立部署,獨立維護

你的 App 只要當個 Client 連上去用就好。隔壁團隊也連得到。寫一次,整個公司用。

通常擁有那套系統的團隊就是 MCP Server 的維護方:HR 平台組維護 HR MCP Server、IT 平台組維護 IT 工單 Server。各應用團隊(Slack bot、員工 portal、客服 LLM)都連同一份 server,工具邏輯一處改、全部受惠。

生態系效應

公司內部省下重複工是第一層;MCP 真正的槓桿在於——這個解耦在公司外也成立

任何人寫一個 Postgres MCP Server,所有支援 MCP 的 host 都能立刻用:

你寫了立刻可用於
Postgres MCP ServerClaude Desktop、Cursor、Cline、Zed...
GitHub MCP Server任何 MCP host

這個策略跟 LSP(Language Server Protocol) 讓編輯器與語言工具解耦完全一樣——VSCode、Vim、Emacs 不用各自實作 TypeScript / Python / Go 的 language server,寫一次大家都能用。

2025 年 OpenAI 在 ChatGPT 與 Agents SDK 也宣佈支援 MCP,MCP 正式成為跨 provider 標準。這也是為什麼這一系列文章把 MCP 標記為 Anthropic 跟 OpenAI 共用主題。

接下來

下一篇拆 MCP 的三個角色(App / Client / Server)、Server 能暴露的三種東西(Tools / Resources / Prompts),跟 transport 為什麼可以隨便挑。