← 逆流而上
Wudelay

MCP 是什麼?讓 AI 連上你自己資料的協定(原理、用途與風險)

Wudelay AI 2026-09-2218 分鐘的航程

MCP 是什麼?讓 AI 連上你自己資料的協定(原理、用途與風險)

MCP 是什麼?全名是 Model Context Protocol(模型情境協定),官方文件給的定義是「連接 AI 應用與外部系統的開源標準」。換成白話:它規定了 AI 應用要用什麼格式去問一個外部程式「你有哪些功能」、「幫忙執行這件事」,讓 AI 不再只能靠訓練資料回答,而是能讀到你的檔案、行事曆、資料庫,甚至代替你動手做事。

官方最常用的比喻是 USB-C:就像 USB-C 為電子裝置提供了標準化的連接方式,MCP 為 AI 應用提供了標準化的方式去連接外部系統。在 MCP 出現之前,每一個 AI 應用要接每一個服務,都得各自寫一套整合;有了共同協定之後,服務方只要實作一次,所有支援 MCP 的 AI 應用都能接上。

這篇不談程式碼。接下來拆三件事:MCP 實際上怎麼運作、一般使用者打開它之後能做什麼,以及裝之前最好先知道的風險與限制——最後一項是多數中文介紹文章會跳過的部分,但它才是決定你該不該裝的關鍵。

MCP 是什麼:一個協定,不是一個軟體

先釐清一個常見誤解:MCP 不是可以下載安裝的 App,也不是某家公司的獨家功能。它是一份規格書,規定訊息長什麼樣、誰先開口、回傳哪些欄位。真正會被安裝、被執行的東西叫 MCP Server——那是一支小程式,負責把某個服務(Notion、GitHub、你電腦裡的資料夾)包裝成 AI 看得懂的介面。

這個分工很重要,因為它決定了責任邊界。協定本身「只專注在情境交換的協定,並不規定 AI 應用要怎麼使用 LLM 或怎麼管理拿到的情境」。也就是說,MCP 保證 AI 拿得到資料,但不保證 AI 會正確使用資料——後者是 AI 應用自己的事。

MCP 由 Anthropic 在 2024 年 11 月 25 日發布並開源,同時釋出了規格、SDK,以及 Google Drive、Slack、GitHub、Git、Postgres、Puppeteer 六個現成的參考 server。

它解決的是「N×M 整合問題」

沒有共同協定的世界長這樣:有 N 個 AI 應用、M 個服務,就要寫 N×M 套整合,而且每一套都要各自維護、各自壞掉。MCP 的作法是讓每一邊各實作一次協定就好,總數從 N×M 降到 N+M。

這個差距在數量變多時會非常誇張。以 10 個 AI 應用為例,工具從 5 個長到 100 個時,兩種做法的維護成本完全不同量級:

以 10 個 AI 應用為例,依官方說明的 N×M 降為 N+M 公式推算:工具數量越多,兩種做法的整合維護成本差距越大。
以 10 個 AI 應用為例,依官方說明的 N×M 降為 N+M 公式推算:工具數量越多,兩種做法的整合維護成本差距越大。

對使用者來說,這個數學的實際意義是:你今天在 Claude 裡裝的 Notion 連接器,明天換到 VS Code 或別的 AI 工具也能用同一個,不必等每家公司各自去談整合。生態能不能長大,靠的就是這件事。

MCP 怎麼運作?三個角色、兩層結構

把 MCP 的運作拆開來看,只有三個角色。理解這三個角色,大概就能看懂任何一篇 MCP 教學在講什麼。

角色 它是什麼 生活化的例子
MCP Host 你實際在用的 AI 應用,負責協調一到多個 client Claude Desktop、VS Code、Cursor
MCP Client Host 內部替每一個 server 開的專屬連線窗口 你看不到它,它在背景跑
MCP Server 真正提供資料與功能的程式 檔案系統 server、Notion server、資料庫 server

官方的說明是:host 「為每一個 MCP server 建立一個 MCP client」,每個 client 維持一條專屬連線。所以你在 Claude 裡同時開了三個 server,背後就是三條各自獨立的連線,彼此不互通。

本機 server 和遠端 server 的差別

這是實際使用時最需要分清楚的一件事,因為兩者的風險等級完全不同。

  • 本機 server(stdio):程式跑在你自己的電腦上,透過標準輸入輸出跟 AI 應用溝通,沒有網路延遲。它能存取你的檔案系統,資料不必上傳雲端——這點對敏感資料是優勢,但也代表它拿得到的東西很多。跟本機跑 LLM 一樣,隱私的另一面是責任全在你身上。
  • 遠端 server(Streamable HTTP):程式跑在別人的伺服器上,用 HTTP POST 溝通,可選用 Server-Sent Events 做串流。它支援標準的 HTTP 驗證方式,官方建議用 OAuth 取得權杖。這類 server 通常一台要服務很多使用者。

簡單記:本機 server 是你電腦上的一支程式,遠端 server 是一個網址。裝本機 server 的風險比較像「安裝一個來路不明的軟體」,裝遠端 server 的風險比較像「授權一個第三方 App 讀你的 Google 帳號」。

底層是 JSON-RPC,不是什麼新發明

MCP 的資料層建立在 JSON-RPC 2.0 之上——這是一個存在很久、很無聊、很可靠的遠端呼叫格式。client 送一個帶 methodparams 的 JSON 過去,server 回一個 JSON 回來,不需要回應時就送 notification。

MCP 真正的設計重點不在傳輸,而在它規定了哪些訊息是合法的:怎麼列出工具(tools/list)、怎麼執行工具(tools/call)、怎麼讀資料(resources/read)。有了這份共同字典,任何 client 遇到任何 server 都能表明身分與能力、彼此對上話。

MCP Server 能給 AI 三種東西:工具、資源、提示

這是整份協定最實用的一段。官方把 server 能提供的能力分成三種原語(primitives),差別在於誰有權決定要不要用

類型 它是什麼 例子 誰決定要不要用
Tools(工具) AI 可以主動呼叫的函式,能寫入資料庫、呼叫 API、改檔案 搜尋航班、寄送訊息、建立行事曆事件 模型
Resources(資源) 被動的唯讀資料來源,提供情境用 讀取文件、存取知識庫、讀行事曆 應用程式
Prompts(提示) 預先寫好的指令範本,告訴模型怎麼搭配工具與資源 「規劃一趟旅行」、「摘要本週會議」 使用者

上面這張表直接對應官方文件的分類。為什麼要分三種?因為控制權不一樣。

Tools 是模型控制的,AI 可以自行判斷什麼時候該呼叫——這也是它最有用、同時最需要看管的地方。官方明確寫著「工具在執行前可能需要使用者同意,以確保使用者能掌控模型所採取的行動」,並建議 AI 應用用四種方式給使用者控制權:在介面上顯示可用工具、對個別執行跳出確認視窗、提供預先核准安全操作的權限設定,以及保留完整的執行紀錄。

Resources 是應用程式控制的,每個資源有自己的 URI(例如 file:///Documents/Travel/passport.pdf),由 AI 應用決定要抓哪些、怎麼處理。Prompts 則是使用者控制的,必須由你明確叫出來才會觸發,常見的介面是斜線指令(打 / 叫出範本)。

官方舉的旅行規劃例子很能說明三者怎麼合作:使用者先叫出「規劃假期」這個 prompt 並填入巴塞隆納、6 月 15 日出發、預算 3000 美元;AI 接著讀取行事曆與過去行程這些 resources 確認你有空、你的偏好;最後才用 tools 依序執行搜尋航班、查天氣、訂飯店、建立行事曆事件、寄出確認信。

一般使用者能拿 MCP 做什麼

撇開技術,MCP 對一般人的意義只有一句話:AI 從「你貼什麼它看什麼」變成「它自己去拿」。

官方文件列出的幾個典型場景是:AI 代理人存取你的 Google 日曆與 Notion,成為更個人化的助理;Claude Code 依據一份 Figma 設計稿生成整個網站;企業聊天機器人同時連上組織內多個資料庫,讓員工用對話分析資料;AI 在 Blender 上做 3D 建模並送去列印。

落到日常,比較有感的用法大致分成三類:

  1. 讀取型:讓 AI 直接讀你的筆記軟體、雲端硬碟、專案管理工具,然後回答「上週的會議結論是什麼」「這個客戶的合約條件」。這是最安全也最容易上手的起點。
  2. 查詢型:連上資料庫或分析工具,用自然語言問數字,不必自己寫 SQL 或翻報表。
  3. 執行型:建立 issue、寄信、更新資料、開 PR。效益最大,風險也最大,建議放到最後再開。

生態面則已經不缺現成的 server。官方一週年回顧點名的實作包括 Notion 的筆記管理、Stripe 的金流工作流程、GitHub 的自動化、Hugging Face 的模型管理、Postman 的 API 測試。想找更多的話,官方在 2025 年 9 月 8 日推出了 MCP Registry,定位是「公開 MCP server 的開放目錄與 API」,主要服務對象是 server 維護者與各家 client 的市集,一般使用者多半是透過 AI 應用內建的目錄間接受益。

不用寫程式也能開:實際的操作路徑

這是多數技術文章講得最少、但一般讀者最需要的部分。目前主流 AI 應用都已經把 MCP 包成點幾下就能開的功能。

以 Claude 為例

Claude 把 MCP 包裝成「連接器(Connectors)」,官方說明是「讓 Claude 存取你的應用與服務、取得資料,並在已連接的服務中執行動作」,而且它會沿用你在來源系統既有的權限。加入的步驟是:

  1. 在對話框左下角點「+」,或直接輸入「/」。
  2. 把游標移到「Connectors」上,選「Manage connectors」。
  3. 在 Connectors 旁邊按「+」。
  4. 瀏覽目錄、挑一個連接器。
  5. 依指示完成授權。

也可以走設定路徑:Customize > Connectors,一樣按「+」後瀏覽並授權。

要注意的是連接器分三種,權限與風險不同:目錄連接器是官方預先驗證過的現成整合;自訂連接器是你自己填網址接上的遠端 MCP server,需要公開可連的網址;桌面擴充功能則是在 Claude Desktop 上跑的本機 MCP server。費用方面,自訂連接器免費、Pro、Max、Team、Enterprise 方案都支援,但免費版使用者只能加一個自訂連接器

其他 AI 應用

MCP 的重點就在於不綁單一家。官方列出的支援清單包含 Claude、ChatGPT、Visual Studio Code、Cursor 等。ChatGPT 這邊,OpenAI 的開發者文件說明支援涵蓋 ChatGPT 本身與 Responses API,使用者需要先到設定中開啟開發者模式,再填入 server 網址;文件也提醒自訂 MCP server 屬於第三方服務、有各自的服務條款,並未經過 OpenAI 驗證。

如果你是從 CLI 工具入門的,Claude Code 本身就是一個 MCP host,設定方式偏向設定檔而非圖形介面,彈性大但要自己確認每一行參數。

建議的上手順序

  1. 先挑一個你每天都在用的服務(筆記、雲端硬碟、專案板),從官方目錄安裝,不要一開始就手刻設定檔。
  2. 從唯讀開始。先只開「讀」的權限,觀察 AI 回答的正確率,確認它真的讀到對的東西。
  3. 確認每次執行都看得到。把工具執行的確認視窗打開,不要一開始就設成自動核准。
  4. 一次只加一個。有問題時才知道是誰造成的,也避免下一節會講到的 context 膨脹。

MCP 跟 API、外掛、自動化工具差在哪

這是搜尋「MCP 是什麼」之後最常接著冒出來的疑問。四者不是互相取代的關係,而是不同層次的東西:

比較項目 傳統 API Function Calling MCP 自動化工具(n8n 等)
本質 服務方定義的介面 單一模型廠商的工具呼叫格式 跨廠商的連接協定 視覺化流程編排平台
誰來呼叫 工程師寫程式呼叫 模型在對話中呼叫 模型透過標準介面呼叫 觸發條件觸發流程
換一個 AI 應用 整合要重寫 格式要重寫 同一個 server 直接接上 流程本身不動,接口要改
流程是誰決定 工程師寫死 模型臨場決定 模型臨場決定 你事先畫好

最容易混淆的是 MCP 與 function calling。可以這樣理解:function calling 是「模型有能力呼叫工具」,MCP 是「工具要怎麼向任何模型表明身分與用法」。沒有 MCP 也能做 function calling,只是每換一個模型或應用就得重接一次。

跟自動化工具的差別則在於「確定性」。n8n 這類工具是你事先把流程畫死,每次執行結果一致;MCP 是把工具攤在 AI 面前,讓它臨場決定要用哪個、用幾次。前者適合每天要跑一百次、不能出錯的流程,後者適合每次需求都不太一樣的任務。兩者也常被搭在一起用。

裝之前該知道的四個風險與限制

MCP 的便利性來自一件事:你把「讀取與執行」的權力交給了一個會自己判斷的系統。這個交換有代價,而且官方規格書本身就用整整一章在講這件事。

一、本機 MCP Server 等於在電腦上執行別人的程式

這點常被輕描淡寫帶過。官方安全文件寫得很直接:本機 MCP server 是「下載後在與 MCP client 同一台機器上執行的執行檔」,若缺乏沙箱與同意機制,可能造成的後果包括「以 MCP client 的權限執行任意指令」、「使用者無從得知實際執行了哪些指令」、以及「不可復原的資料遺失」。

規格也因此要求:若 client 支援一鍵安裝本機 server,必須在執行前顯示完整不截斷的指令、明確標示這是可能有風險的操作,並取得使用者明確同意。實務上的意思是——看到那個跳出來的指令,真的要看一眼。

二、工具描述本身就能攻擊你(Tool Poisoning)

這是 MCP 特有的風險,跟一般軟體漏洞不同。Invariant Labs 在 2025 年 4 月 1 日公開了「工具下毒攻擊」:惡意指令藏在 MCP 工具的描述文字裡,使用者看不到,但模型看得到

攻擊利用的是一個不對稱:模型讀到的是完整的工具描述,使用者在介面上看到的只是簡化後的名稱。示範中,一個看似普通的「加法」工具,描述裡藏了要求模型去讀取 ~/.ssh/id_rsa 與設定檔、再把內容塞進某個不起眼參數送出的指令,同時在畫面上照常講解數學來分散注意力。

研究的結論是:「安全必須端到端地實作,不只涵蓋工具描述,也要涵蓋傳入與傳出模型的資料」。對使用者的具體建議只有一條:第三方 server 一律從官方或可信目錄安裝,不要從來路不明的 GitHub 連結一鍵裝下去。

三、權限一次給太大

官方安全文件把「權限範圍最小化」列為獨立一節,指出的問題是:server 把所有權限都列進 scopes_supported、client 一次全要,使用者就在一個列滿權限的同意畫面上按了同意。後果是「被竊取的權杖爆炸半徑擴大」、「撤銷時會一次中斷所有工作流程」、以及「使用者因為權限清單過長而乾脆放棄閱讀」。

文件也列出常見錯誤,第一條就是「公開所有可能的權限範圍」,以及使用 *allfull-access 這類萬用權限。授權畫面出現這種字眼時,值得停一下。

四、裝越多,AI 反而越鈍

這點跟安全無關,但對日常體驗影響最大。官方的 client 最佳實務文件直接點名:「把每一個工具定義都預先載入模型的 context window 會浪費 token、增加延遲,並讓模型表現變差」,當 host 連上數十個 server、上百個工具時,光是工具定義就可能在模型讀到你的訊息之前吃掉大部分的 context。

官方文件用兩組數字示意這個落差:一次載入所有工具定義約需 150,000 tokens,改用「漸進式探索」只需約 2,000 tokens;而多步驟工具呼叫若讓每個中間結果都流經模型,會消耗 100,000 tokens 以上,改成在沙箱裡用程式碼串接、只回傳結果,則約 200 tokens 的腳本加上約 15 tokens 的摘要就結束。

MCP 官方 client 最佳實務文件示意的 token 消耗落差:一次載入全部工具定義與漸進式探索相差約 75 倍,多步驟呼叫改用沙箱程式化執行後差距更大。
MCP 官方 client 最佳實務文件示意的 token 消耗落差:一次載入全部工具定義與漸進式探索相差約 75 倍,多步驟呼叫改用沙箱程式化執行後差距更大。

這些最佳化是 AI 應用開發者的工作,你無法直接控制。但它給使用者的啟示很清楚:MCP server 不是裝越多越好。只開這次任務用得到的,用完關掉,比一口氣掛滿十幾個更有效。這跟AI 助理工具的通則一樣——給它剛好夠用的資訊,表現會比給它全部來得好。

2026 年的 MCP 現況:規格、治理與生態

MCP 從發布到現在變化很快,很多中文介紹文的細節已經過期。以下是目前的狀態。

規格版本:2026-07-28

MCP 的版本編號用 YYYY-MM-DD 格式,標示的是「最後一次做出不向後相容變更的日期」;只要變更保持向後相容,版本號就不會往前推。目前的現行版本是 2026-07-28

這一版有兩個值得知道的變化。第一,MCP 現在是無狀態協定,每個請求都在 _meta 欄位自帶協定版本與能力宣告,server 不再從前一個請求推斷任何東西;舊版那種先握手、再開始對話的 initialize 流程,被一個非必要的 server/discover 請求取代——client 想先問清楚就問,想直接發請求也可以,版本不合時 server 會回錯誤並列出支援的版本。

第二,Roots、Sampling 與 Logging 這三項功能已標記為棄用。依照這一版新訂的功能生命週期政策,棄用期至少十二個月,三者在期間內仍可正常運作,但新的實作不該再加入支援。官方給的替代做法分別是:Roots 改用工具參數、資源 URI 或 server 設定來傳遞目錄與檔案;Sampling(原本讓 server 反過來跟 client 借模型能力)改成直接串接 LLM 供應商的 API;Logging 則改用 stderr(stdio 傳輸)或 OpenTelemetry。若你讀到的教學還在大篇幅介紹 sampling,那篇文章的基準版本已經舊了。

治理:已捐給 Linux Foundation 旗下的 AAIF

MCP 已經不是 Anthropic 一家的專案。2025 年 12 月 9 日,MCP 加入 Agentic AI Foundation(AAIF)——Linux Foundation 旗下的專項基金,由 Anthropic、Block、OpenAI 共同創立,並獲得 Google、Microsoft、AWS、Cloudflare、Bloomberg 支持。官方說法是治理模式維持不變,Linux Foundation 提供的是「中立的家與基礎設施,讓維護者能獨立運作」,不主導技術方向。

這件事對使用者的意義是:MCP 不太可能因為某一家公司的商業決策而消失或轉向封閉。

生態規模

同一篇公告給出的數字是:每月超過 9,700 萬次 SDK 下載、10,000 個活躍 server,橫跨 ChatGPT、Claude、Cursor、Gemini、Microsoft Copilot 與 Visual Studio Code。採用時間軸上,OpenAI 在 2025 年 3 月宣布採用、Google DeepMind 在同年 4 月跟進。

一個協定同時被互為競爭對手的幾家大公司採用,這種情況在 AI 領域不常見。對內容與行銷端來說,這也連帶影響 AI 怎麼取得資訊——這部分的變化可以參考生成式引擎優化的討論。

常見問題

MCP 和 API 到底差在哪?

API 是服務方單方面定義的介面,每家長得不一樣,要人寫程式去接。MCP 是一層統一的協定,規定所有工具要用同樣的方式表明身分、被呼叫。實務上,多數 MCP server 內部其實就是在呼叫某個 API——MCP 的價值不在取代 API,而在把各種 API 翻譯成 AI 一看就懂的統一格式。

用 MCP 要額外付費嗎?

協定本身是開源免費的。但實際成本有三層:AI 應用的訂閱方案(例如 Claude 免費版只能加一個自訂連接器)、server 背後那個服務本身的費用,以及 token 消耗——工具定義和回傳結果都會佔用 context,用 API 計費時這是實質成本。

MCP Server 一定要自己架嗎?

不用。目前主流 AI 應用都有內建目錄,挑一個按安裝、完成授權即可。官方也維護了一個 MCP Registry 作為公開 server 的開放目錄,不過它主要是給 client 與市集串接用的上游資料來源,一般使用者多半不會直接去那裡找。自己架 server 的情境通常是要接公司內部系統,或是想把個人工作流程包成工具。

MCP 安全嗎?可以拿來連公司內部資料嗎?

協定本身有明確的安全規範,但安全與否取決於你裝了什麼 server、給了多大權限。最需要防的兩件事是本機 server 的任意程式執行,以及藏在工具描述裡的指令注入。要接公司內部資料的話,合理的做法是:只用內部自建或經過資安審查的 server、採用最小權限、保留完整執行紀錄,並在有實際破壞性的操作上保留人工確認。這類決策不該由個人自行開通。

只用 ChatGPT 或 Gemini 的人需要懂 MCP 嗎?

需要知道概念,不一定要動手。因為 MCP 已經是跨廠商的共同標準,你未來在任何一家 AI 產品裡看到「連接器」「擴充功能」「apps」,底層很可能就是 MCP。知道它的三個角色與四個風險,看到授權畫面時才知道自己正在同意什麼。

MCP 會取代自動化工具嗎?

短期內不會。MCP 擅長的是「每次需求都不一樣、需要臨場判斷」的任務,自動化流程擅長的是「每天跑一百次、結果必須一致」的任務。目前比較成熟的做法是兩者併用:固定的環節交給流程工具跑,需要判斷的環節交給接上 MCP 的 AI。

參考資料

  1. What is the Model Context Protocol (MCP)?(Model Context Protocol)
  2. Architecture overview(Model Context Protocol)
  3. Understanding MCP servers(Model Context Protocol)
  4. Versioning(Model Context Protocol)
  5. Key Changes 2026-07-28(Model Context Protocol)
  6. Security Best Practices(Model Context Protocol)
  7. Client Best Practices(Model Context Protocol)
  8. Introducing the Model Context Protocol(Anthropic)
  9. MCP joins the Agentic AI Foundation(Model Context Protocol Blog)
  10. One Year of MCP: November 2025 Spec Release(Model Context Protocol Blog)
  11. Introducing the MCP Registry(Model Context Protocol Blog)
  12. Use connectors to extend Claude’s capabilities(Claude Help Center)
  13. Model Context Protocol (MCP)(OpenAI Developers)
  14. MCP Security Notification: Tool Poisoning Attacks(Invariant Labs)
  15. Model Context Protocol(Wikipedia)

把這篇放進別人的河裡

ThreadsLINEX

river breath・河的呼吸

讀完不急著走。跟著河面呼吸三輪,把讀到的,沉下去。

吸 —— 讓念頭浮起

「唵」—— 圓滿俱足,我與河本為一體

Wudelay ・ 人生之河

同一條支流

Hermes Agent 怎麼用?它在幹嘛、跟其他 AI 助理差在哪

2026-09-0915 分鐘

地端模型完整指南:本機跑 LLM 的硬體與取捨

2026-09-0132 分鐘

NotebookLM 使用教學:從上傳資料到生成播客

2026-08-318 分鐘