AI 與 LLM 工具

MCP 圖解入門:Model Context Protocol 怎麼把 AI 工具接起來(2026)

admin · 10月19日 · 2026年 · · · · · 本文共4627个字 · 预计阅读16分钟8次已读

MCP(Model Context Protocol,模型情境協定)是讓 AI 應用接上外部工具與資料的開放標準。官方把它比喻成 AI 世界的 USB-C:Host 是你正在用的 AI 應用,Client 負責連線,Server 負責提供能力,三方用 JSON-RPC 2.0 交換訊息。目前最新規範版本是 2026-07-28,官方 Tier 1 SDK 每月下載量已接近 5 億次(來源:MCP 官方部落格,2026-07-28)。

MCP 圖解入門:Model Context Protocol 怎麼把 AI 工具接起來(2026)
MCP 把 Host、Client、Server 三方用一套協定接起來。

MCP 是什麼?先看官方怎麼定義

官方文件的說法是:MCP 是一個開放原始碼標準,用來把 AI 應用連接到外部系統,包含本機檔案、資料庫與各種遠端服務。它把過去每一家廠商各寫一套的工具整合,換成一套共同語言,因此也被形容為「AI 應用的 USB-C 連接埠」。

對使用者最直接的差別是:同一個 Server 寫一次,Claude、ChatGPT、VS Code、Cursor 這類 Host 都能接。官方入門文件直接點名了這幾類已經支援 MCP 的應用(來源:modelcontextprotocol.io 入門文件)。

如果你還在確認大模型本身的運作原理,可以先看站上的 大模型是什麼?2026 最新白話入門與選型重點,再回來讀 MCP 會更順。

三層架構:Host、Client、Server 各自負責什麼

MCP 的架構刻意切成三層,原因是把「誰負責安全把關」與「誰負責連線」分開。Host 是使用者信任的邊界,所有授權與同意都發生在這裡;Client 只負責與某一個 Server 建立一對一連線;Server 則是把外部系統包成標準介面的一方。

MCP 圖解入門:Model Context Protocol 怎麼把 AI 工具接起來(2026)
MCP 三層架構:Host 負責把關,Client 負責連線,Server 負責提供能力。
層級 角色 負責什麼 常見例子
Host 宿主程式 跑 AI 模型、管理多個 Client、取得使用者同意、把工具結果餵回模型 Claude Desktop、Claude Code、ChatGPT、VS Code、Cursor
Client 連接器 與單一 Server 建立一對一連線,送出請求與接收結果 各 Host 內建的 MCP client 實作
Server 能力提供者 把外部系統包成 Tools、Resources、Prompts 三種標準介面 檔案系統、資料庫、GitHub、Slack、內部 API

一個 Client 只連一個 Server

這是 MCP 常見的誤解。Host 可以同時開很多 Client,但每個 Client 只對應一個 Server。你要接三個工具,就是三個連線,Host 負責把它們的工具清單彙整成一份給模型看。

Server 能提供什麼:Tools、Resources、Prompts

三大原語(primitive)的分工要看「誰決定何時使用」。Tools 由模型決定要不要呼叫,Resources 由應用決定要不要讀進來,Prompts 則由使用者主動挑選。

原語 由誰提供 做什麼 典型用途
Tools 工具 Server 可以被模型呼叫、真正執行並改變狀態的動作 查資料庫、寄信、發文、跑腳本、呼叫內部 API
Resources 資源 Server 可被讀取的內容,像檔案或紀錄,讀取本身沒有副作用 讀設定檔、資料表欄位說明、日誌片段
Prompts 提示 Server 預先寫好的模板工作流,讓使用者一鍵套用 固定格式的週報、程式碼審查清單
Elicitation 詢問 Client Server 需要補資料時,由 Client 反問使用者 補齊參數、執行前的二次確認

傳輸方式:本機用 stdio,遠端用 Streamable HTTP

傳輸層決定 Client 怎麼找到 Server。本機工具走標準輸入輸出(stdio),Server 就是 Host 啟動的子程序;遠端共享的 Server 走 Streamable HTTP,單一端點收 POST,需要串流時再升級為 Server-Sent Events。早期版本的 HTTP 加 SSE 傳輸已經被取代,官方對舊功能設有最短 12 個月的棄用期(來源:2026-07-28 規範變更說明)。

MCP 圖解入門:Model Context Protocol 怎麼把 AI 工具接起來(2026)
傳輸方式對照:本機用 stdio,遠端用 Streamable HTTP。
傳輸方式 適用場景 連線維持 認證
stdio 本機子程序,單一使用者自己的工具 常駐執行,跟隨 Host 的生命週期 繼承本機權限,通常不需要額外認證
Streamable HTTP 遠端共享 Server,新專案的建議首選 單一端點 POST,可升級為 SSE 串流 以 OAuth 2.1 為基礎,強制使用 PKCE
舊版 HTTP + SSE 既有部署還在用,新專案不建議 長連線 Event Stream 多為自帶 token 的手工做法

2026-07-28 規範改了什麼

這一版把協定往「無狀態、好部署」的方向推,對工程團隊最實際的變化有這幾項:

  • 逐請求能力宣告:每個請求都在 _meta 裡帶上協定版本與 client 能力,不再靠開場握手。舊版的 initialize 握手與 session 機制因此退場,改成無狀態、每個請求自帶完整資訊。
  • 多輪往返請求(Multi Round-Trip Requests):當 Server 需要使用者補資料時,回傳 input_required 的中間結果,Client 補完後重送原請求。每個結果都新增必填的 resultType 欄位。
  • 探索機制:新增 server/discover,讓 Client 先問清楚 Server 支援哪些版本與能力。
  • 錯誤碼分段:JSON-RPC 的 server error 區間被切成實作自訂與規範保留兩段,方便生態系共用。
  • 官方擴充(extensions):Tasks、MCP Apps、Skills over MCP 等能力以擴充形式發布,Server 與 Client 各自宣告要不要支援。
  • 生命週期政策:正式採用功能生命週期與棄用政策,棄用期最短 12 個月,並維護一份棄用清單。

如果你的程式中還留著舊版寫法,先確認 SDK 版本再升級,官方在每個 SDK 的 release note 都會標註破壞性變更。

官方 SDK 有哪些語言

官方用分層制管理 SDK,語言清單以 modelcontextprotocol.io 的 SDK 頁面為準。分層不代表功能閹割,而是反映維護資源與回應速度。

層級 語言 維護狀況
Tier 1 TypeScript、Python、C#、Go 官方主要資源投入,約 40 位維護者;這一層每月下載量接近 5 億次
Tier 2 Java、Kotlin、PHP、Ruby、Swift 功能完整但規模較小;Ruby 官方 SDK 已發布 1.0 並達到 Tier 2 標準
Tier 3 其餘語言 由社群或廠商自行維護,官方不保證回應速度

依照官方在 2026-07-28 發布時公布的數字,TypeScript 與 Python SDK 都已跨過累計 10 億次下載。

該不該自己寫 MCP Server?

多數人其實不需要寫 Server。先確認需求,再決定要不要動協定層,可以省下大量時間。

MCP 圖解入門:Model Context Protocol 怎麼把 AI 工具接起來(2026)
四問決策樹:先找現成 Server,再考慮自己寫。
  1. 先找現成的。官方 Registry與下游市集已經收錄大量 Server,涵蓋 GitHub、Slack、資料庫、瀏覽器自動化等常見需求。Registry 要求發布者驗證命名空間(GitHub、DNS 或 HTTP 驗證),找的時候仍要看維護時間與授權。
  2. 只有本機自己用,就寫 stdio。不需要處理 OAuth 與部署,程式碼通常幾十行就能跑。
  3. 要給團隊或產品用,寫 Streamable HTTP。必須實作授權與 token 驗證,並且把 Server 當成正式服務維運。
  4. 先確認是不是提示詞就能解。如果只是想要固定輸出格式,寫一段提示或做一個自訂 GPT 往往比寫 Server 快。

要接的是程式碼代理工作流的話,站上已經有實戰教學:OpenAI Codex CLI 上手教學與 AI 編程工具四強比較可以先看一輪,再回來決定要不要讓代理接上你自己的服務。

安全與治理:四件事一定要知道

  • 工具就是程式碼。官方安全章節把工具執行視為任意程式碼執行,Host 必須在使用者同意下才呼叫,並且在執行前顯示要跑什麼。
  • Token 不可以透傳。遠端授權的規範明確禁止把上游取得的 token 直接交給下游 Server,Server 必須驗證 token 是發給自己(audience 檢查)。
  • 應用層 API 金鑰不等於授權。用自家 API key 冒充 OAuth 授權流程,不符合規範,也難以稽核。
  • 治理走向成熟。官方在這一版正式採納功能生命週期與棄用政策,社群也在討論把專案放進中立的基金會架構,讓標準不被單一廠商綁住。

常見問題 FAQ

MCP 是 Anthropic 專屬的嗎?

不是。MCP 由 Anthropic 在 2024 年底開源,之後成為跨廠商的開放標準,OpenAI、Google、微軟等陣營的產品都陸續支援,規範與 SDK 由社群維護者共同推進。官方文件列的 Host 例子就包含 Claude 與 ChatGPT 兩邊的應用。

MCP 和直接把工具寫進 function calling 有什麼差別?

function calling 是「模型怎麼回傳結構化的呼叫意圖」,MCP 是「工具怎麼被發現、被授權、被執行」的整條流程。只用一家廠商的模型與自家函式時,直接寫 function calling 比較省事;要跨多個 Host、多個工具、還要處理權限時,MCP 的標準化才划算。

不會寫程式也能用 MCP 嗎?

可以。大多數 Host 都支援圖形介面安裝現成 Server,你只需要在設定裡填入 token 或授權,不需要寫程式。真正需要寫程式的時機,是你要把內部系統或自己的服務開放給 AI 使用。

MCP 會讓 AI 亂動我的檔案或帳號嗎?

風險來自你裝了什麼 Server,以及你同意了多少權限。實務上建議只裝來源可查的 Server、先用最小權限的 token、把有寫入能力的工具額外確認一次,並且定期檢查 Host 的連線清單。規範要求 Host 在執行工具前取得使用者同意,但最終把關仍在你自己身上。

延伸閱讀:站上 AI 工具系列

資料來源與查證時間

  • MCP 官方入門文件與架構說明:modelcontextprotocol.io/docs/getting-started/intro(查證於 2026-10-19)
  • MCP 規範首頁與最新版本 2026-07-28:modelcontextprotocol.io/specification/latest(查證於 2026-10-19)
  • 2026-07-28 規範變更說明(逐請求能力宣告、resultType、錯誤碼分段、棄用政策):modelcontextprotocol.io/specification/2026-07-28/changelog
  • 官方部落格〈The 2026-07-28 Specification〉與〈The Official Ruby SDK for MCP Reaches 1.0〉:blog.modelcontextprotocol.io(2026-07-28)
  • 官方 SDK 分層與語言清單:modelcontextprotocol.io/docs/sdk
  • MCP Registry 的命名空間驗證與信任機制:modelcontextprotocol.io/registry/about

協定版本與 SDK 支援狀況變動頻繁,實作前請以官方文件當下版本為準。

0 条回应