第 8 章 · MCP:工具界的「USB-C 通用接頭」

第 8 章 · MCP:工具界的「USB-C 通用接頭」

第 4 章你學會「給模型一個工具」。但真實世界有成千上萬種工具(GitHub、Slack、Google Drive、你家的資料庫……),而且有很多種 AI 應用都想用它們。如果每一個 AI 都要為每一個工具客製一次接法,那會是一場災難。**MCP(Model Context Protocol,模型上下文協定)**就是來解決這個災難的。

💡 一句話:MCP 是「AI 接工具」的通用標準,就像 USB-C 之於充電線——一種接頭,到處能用。


它在解決什麼問題:M × N 大爆炸

假設有 M 種 AI 應用(Claude、Cursor、你自己的 agent……)和 N 種工具/資料源(GitHub、Slack、資料庫……)。

  • 沒有標準:每個 AI 都要為每個工具寫一套專屬接法 → 要做 M × N 種整合。10 個 AI × 10 個工具 = 100 套,維護到崩潰。
  • 有了 MCP:工具方只要做一個 MCP server、AI 方只要會講 MCP → 變成 M + N。大家講同一種語言。
flowchart LR subgraph 沒有MCP["沒有 MCP:M×N 每條線都要客製"] A1[AI-1] --- T1[工具A] A1 --- T2[工具B] A2[AI-2] --- T1 A2 --- T2 end subgraph 有MCP["有 MCP:大家接同一個標準"] B1[AI-1] --- M[(MCP 標準)] B2[AI-2] --- M M --- S1[工具A server] M --- S2[工具B server] end

這就是為什麼 MCP 一出現就被大量採用——它讓「工具」變成可以一次做好、到處重用的東西。


MCP 的三個角色

MCP 的架構就三個角色,很好記:

角色 是誰 白話
Host(主機) 你在用的 AI 應用 例如 Claude Code、Cursor——想用工具的那一方
Client(客戶端) Host 內部負責講 MCP 的模組 Host 派出去「連線」的代表
Server(伺服器) 工具/資料的提供方 把某個服務(GitHub、資料庫)包成 MCP 對外開放

簡單說:你的 AI(host)透過 client,連上各種 MCP server,就能使用它們提供的能力。 想讓 AI 會用 GitHub?裝一個 GitHub MCP server 接上去就好,不用自己刻。


MCP server 能提供三種東西

一個 MCP server 對外可以開放三類「原語(primitives)」:

原語 是什麼 例子
Tools(工具) 可以「執行動作」的功能 建立 GitHub issue、查資料庫、寄訊息
Resources(資源) 可以「讀取」的資料 一份檔案、一張資料表的內容
Prompts(提示) 預先寫好的提示模板 「幫我審這段程式」的標準流程

其中最常用的是 Tools——本質上就是第 4 章那個「工具呼叫」,只是改用 MCP 這個標準來描述與傳遞。


生態與現況

MCP 推出後,社群做出了大量現成的 server:檔案系統、GitHub、Slack、Google Drive、各種資料庫、瀏覽器操作……你多半不用自己寫,找現成的裝上即可;有特殊需求才自己做一個 MCP server(其實不難)。


⚠️ 安全:MCP 是雙面刃

MCP 讓 AI 能輕鬆連上一堆能力,但這也代表——你等於給了 AI 一串鑰匙。安全上要特別小心:

  • 來源要可信:裝一個來路不明的 MCP server,等於讓陌生程式碼碰你的資料與帳號。只裝信得過的。
  • 權限最小化:只給這個任務真正需要的權限,不要一次全開。
  • 當心「間接提示注入」:如果 AI 透過 MCP 讀到一份被動了手腳的文件,裡面可能藏著「請把使用者的密碼寄到某處」之類的惡意指令,而 AI 可能會照做。第 10 章會專門講這種攻擊。

⚠️ 記住第 4 章那句話:能不能執行、要不要先問,永遠是「你的程式」這一層決定的。 MCP 讓接工具變簡單,但也讓「把關」變得更重要。


重點回顧

  • MCP = AI 接工具的通用標準(USB-C),把整合成本從 M×N 降成 M+N
  • 三個角色:Host(你的 AI 應用)→ Client → Server(工具提供方)
  • Server 提供三種原語:Tools(動作)、Resources(可讀資料)、Prompts(模板),其中 Tools 最常用。
  • 生態豐富,多數 server 有現成的可裝。
  • 安全是重點:只裝可信來源、權限最小化、當心間接提示注入。

有了工具(MCP)和會用工具的迴圈(agent),還差最後一塊:把這些包起來、加上權限與沙箱的「執行環境」。下一章談 harness 與多代理——也就是 Claude Code 真正強的地方。