首頁 / AI 代理

MCP 是什麼?一次看懂 AI 代理連接工具的開放標準

作者 JC · 更新於 · 最後查證

重點速覽

MCP(Model Context Protocol,模型上下文協定)是一個開放標準,規定 AI 應用程式怎麼連接外部的資料、工具和工作流程,官方把它比喻成 AI 應用程式的 USB-C 連接埠。AI 應用程式透過它連上一個或多個「MCP 伺服器」,伺服器提供可以呼叫的工具、可以讀取的資料和預先寫好的提示範本。MCP 本身不是模型,也不保證安全:接上的每個伺服器都可能讀取資料、執行程式,所以只接你信任的來源。

MCP 是什麼?簡單說,MCP(Model Context Protocol,模型上下文協定)是一個開放標準,規定 AI 應用程式要怎麼連接外部系統,例如你電腦上的檔案、公司的資料庫、搜尋引擎或議題追蹤系統。官方文件把它比喻成 AI 應用程式的 USB-C 連接埠:USB-C 讓各種裝置用同一種方式連接,MCP 讓 AI 應用程式用同一種方式接上各種資料與工具。這篇用白話解釋它解決什麼問題、由哪些角色組成,以及接上之前一定要想清楚的安全問題。

MCP 解決什麼問題?

大語言模型本身只能處理放進上下文視窗的內容。想讓它查資料庫、讀議題、建立行事曆活動,就要讓它能使用外部工具,這叫工具呼叫(Tool calling):模型決定要用哪個工具、填什麼參數,再由應用程式實際執行。如果還不熟這個概念,先看 AI 代理是什麼?和聊天機器人的差別。

問題在於,沒有共同標準時,每個 AI 應用程式都要替每個外部系統各寫一套整合。MCP 把「怎麼連接」標準化:資料或工具的提供者寫一次 MCP 伺服器,支援 MCP 的應用程式都能接上。官方文件列出的好處,對開發者是減少整合的時間與複雜度,對使用者則是 AI 應用程式能存取更多資料、在必要時替你採取行動。

Claude Code 的官方文件給了一個很實用的判斷點:當你發現自己一直把另一個工具裡的資料(例如議題追蹤系統或監控面板)複製貼上到對話裡,就是該接 MCP 伺服器的時候;接上之後,AI 可以直接讀取並操作那個系統,而不是只看你貼上的內容。

MCP 的三個角色:主機、用戶端、伺服器

MCP 採用用戶端-伺服器架構,有三個角色:

  • MCP 主機(MCP Host):你直接使用的 AI 應用程式,例如 Claude Code 這類 AI 代理工具,負責協調一個或多個 MCP 用戶端。
  • MCP 用戶端(MCP Client):主機裡負責和某一個伺服器保持連線的元件。主機每連上一個伺服器,就建立一個對應的用戶端。
  • MCP 伺服器(MCP Server):提供資料或工具給 AI 應用程式的程式,例如檔案系統伺服器、資料庫伺服器、行事曆伺服器。

要注意「伺服器」這個詞不代表它一定在遠方的機房。官方文件說明,MCP 伺服器指的是提供內容的程式,不管它在哪裡執行:

  • 本機伺服器:在你自己的電腦上執行,通常使用 stdio 傳輸方式。stdio(標準輸入輸出)是程式之間透過標準輸入和標準輸出交換資料的方式,主機會直接把伺服器當成子程式啟動。
  • 遠端伺服器:在服務商的平台上執行,使用 Streamable HTTP 傳輸方式透過網路連線,可以使用 API 金鑰等方式驗證身分,官方建議用 OAuth(一種讓你授權應用程式存取帳號、又不必交出密碼的標準)取得驗證用的權杖。

伺服器能提供的三種功能

MCP 伺服器透過三種基本功能(官方稱為 primitives)提供能力:

  • 工具(Tools):AI 應用程式可以呼叫來執行動作的函式,例如搜尋航班、寄送訊息、修改檔案、查詢資料庫。
  • 資源(Resources):提供背景資訊的資料來源,例如檔案內容、資料庫結構、API 文件,是唯讀的。
  • 提示(Prompts):預先寫好的指示範本,引導模型搭配特定的工具與資源完成某類工作,例如「規劃旅行」「摘要我的會議」。

三者最大的差別,是由誰決定什麼時候使用:

功能用途例子由誰決定使用
工具執行動作,可能改變外部系統搜尋航班、寄信、寫入資料庫模型(依你的需求自己判斷)
資源提供唯讀的背景資料讀取文件、行事曆、資料庫結構應用程式(由它決定放哪些進上下文)
提示預先寫好的工作範本規劃旅行、草擬郵件使用者(要你明確選用才會觸發)

工具是由模型自己決定呼叫的,所以風險最高。官方文件列出應用程式可以提供的控制方式,包括:讓你決定哪些工具可以使用、每次執行前跳出確認、事先核准某些安全的動作,以及記錄每一次工具執行與結果。這正是人工把關的概念。

MCP 不是什麼

幾個常見的誤解:

  • 不是模型:MCP 只規定 AI 應用程式和外部系統怎麼交換內容,官方文件明確說明,它不規定應用程式怎麼使用模型、怎麼處理拿到的內容。換模型不代表要換 MCP 伺服器。
  • 不是取代工具呼叫:模型還是透過工具呼叫來使用 MCP 提供的工具;MCP 統一的是工具「怎麼接上來」。
  • 不是有人替你把關的應用程式商店:套件平台和伺服器清單幾乎什麼都能上架。MCP 官方文件提醒,上架不等於背書;Anthropic 也說明,它會依上架標準審查收錄在自家目錄的連接器,但不會替任何 MCP 伺服器做安全稽核或代為管理。
  • 不是沙箱:本機伺服器就是一般的程式。MCP 官方文件特別強調,stdio 傳輸方式不是沙箱,協定本身不會限制伺服器能做什麼。

接上 MCP 伺服器之前:五個安全原則

MCP 讓 AI 代理能做的事變多,能出錯的地方也跟著變多。以下整理自 MCP 官方的本機伺服器安全建議與 Claude Code 的安全文件,觀念和 讓 AI 代理安全操作電腦 一致。

一、知道本機伺服器能碰到什麼

MCP 官方文件說明,在本機執行 MCP 伺服器,等於從網路下載程式碼,用你的使用者帳號執行。這個程式會繼承你的環境變數(裡面可能有金鑰),能讀取你的帳號能讀的所有檔案,也能連到任何網路位址。這些都不受 MCP 協定管控,而是取決於你怎麼執行它。

二、能用遠端版本就不要裝在本機

官方的建議很直接:伺服器需要讀你的專案檔案、操作本機工具或硬體時,才有理由在本機執行;如果它只是轉接某個網路服務,就優先用遠端版本,這樣不會在你的電腦上執行任何程式碼。

三、安裝前先查來源

  • 確認發布者:能不能對應到原始碼和真實的維護者或組織?
  • 確認套件名稱完全正確,避免名稱相似的仿冒套件。
  • 固定版本,不要永遠安裝最新版,並養成有安全公告時主動更新的習慣。

不確定時,官方建議只安裝你看得到原始碼、知道是誰發布的伺服器。Claude Code 的文件也建議,使用自己寫的伺服器,或來自你信任的提供者的伺服器。

四、把工具說明也當成不可信的內容

伺服器會把工具的名稱與說明傳給 AI 應用程式,而模型會把這些說明當成指示來讀。這代表一個惡意的伺服器,可以把指示藏在工具說明裡,這就是提示詞注入的一種。另外,Claude Code 的文件也提醒,會抓取外部內容的伺服器,可能讓你暴露在提示詞注入的風險下。

所以接上之後,先看一遍它提供的工具清單與說明;如果說明裡有和工具本身工作無關的指示,就移除這個伺服器。官方文件也指出,所有伺服器共用同一個模型上下文,一個惡意的伺服器可能影響代理怎麼使用其他伺服器的工具,所以伺服器數量越少越好。

五、最小權限與隔離

依最小權限原則,只給伺服器完成工作需要的東西:

  • 檔案:只開放單一專案資料夾,能唯讀就唯讀,不要開放整個家目錄。
  • 金鑰:每個伺服器用自己的金鑰,權限範圍越小越好,不要把同一把權限很大的金鑰給好幾個伺服器共用。金鑰怎麼保管,請看 API Key 是什麼,以及怎麼安全保管。
  • 隔離:要執行第三方的本機伺服器,官方建議放在容器或虛擬機器這類隔離環境裡,只掛載它需要的資料夾。設定檔裡的允許清單只能約束守規矩的伺服器,真正能限制住它的是沙箱這類隔離環境。

我需要 MCP 嗎?判斷方法

下面是本站整理的判斷方法,不是官方標準:

你的狀況建議
常把另一個系統的資料複製貼上給 AI適合接 MCP 伺服器,讓 AI 直接讀取
只是偶爾問問題、整理文字不需要,直接對話就好
想讓 AI 替你寫入、寄送、刪除東西可以接,但對這些工具保留人工確認
找到的伺服器來源不明、看不到原始碼先不要接,找官方或可查證的替代品
伺服器只是轉接某個網路服務優先用遠端版本,不要裝在本機
要處理機密資料或公司資料先確認公司規定,並在隔離環境中執行

決定要接之後,把你想讓 AI 用這個伺服器完成什麼寫清楚,效果會好很多,寫法可以參考 AI 代理任務說明怎麼寫。

接著看什麼

常見問題

MCP 是一種 AI 模型嗎?

不是。MCP 是一套溝通規格,只規定 AI 應用程式和外部系統之間怎麼交換資訊。官方文件明確說明,它不規定 AI 應用程式怎麼使用模型、怎麼處理拿到的內容。

MCP 和工具呼叫(Tool calling)有什麼不同?

工具呼叫是模型的能力:模型決定要用哪個工具、填什麼參數。MCP 則是讓工具「怎麼被接上來」有統一的規格,同一個 MCP 伺服器可以被不同的 AI 應用程式使用,不用每個應用程式各自寫一套整合。

一定要會寫程式才能用 MCP 嗎?

使用現成的伺服器通常不需要寫程式,在支援 MCP 的應用程式裡加入設定就能用,具體做法請看各工具的文件,例如 Claude Code 的教學。不過很多在本機執行的伺服器需要 Python 或 Node.js 這類執行環境,最好先了解它們是什麼。

本機的 MCP 伺服器和遠端的 MCP 伺服器差在哪?

本機伺服器是在你電腦上執行的程式,通常透過標準輸入輸出和 AI 應用程式溝通,能碰到你的帳號能碰到的檔案和環境變數。遠端伺服器在服務商的機器上執行,透過網路連線,不會在你的電腦上執行程式碼,但你的資料會送到對方那裡。

MCP 伺服器安全嗎?

不能一概而論,要看是誰做的、你怎麼執行它。MCP 官方文件提醒,本機伺服器就是一般的程式,可以讀取你的帳號能讀的檔案、繼承環境變數裡的金鑰,也能連到任何網路位址;Anthropic 也說明它不會替 MCP 伺服器做安全稽核。只接你信任的來源,並限制它能碰的範圍。

接越多 MCP 伺服器越好嗎?

不是。每個伺服器都會增加可能出錯或被利用的地方,官方文件也指出,所有伺服器共用同一個模型上下文,一個惡意伺服器可能影響代理怎麼使用其他伺服器的工具。只接真的會用到的,不用的就移除。

留言

用 GitHub 帳號登入就能留言,留言會公開顯示在 GitHub Discussions。留言前請先看社群規則。

AI 代理