讓 Agent 安全插上你的工具與資料
讓 Agent 動手用工具 —— 查資料、開檔案、呼叫外部系統 —— 這件事你可能已經在做了。但用久了會發現一件很煩的事——每接一個新工具、新系統,就得為它客製一次接法。接下來,我要介紹一個把這件事標準化的東西,它的名字叫 MCP。
先把問題講清楚。你想讓 Agent 接上 GitHub,得寫一段對接的程式;想再接資料庫,又是另外一套寫法;想接公司內部的系統,再客製第三套。每接一個,都要有人去寫一段中間的「膠水」,把 Agent 和那個工具黏起來。而且這些膠水彼此不通用,換一個工具,幾乎等於從頭來過一次。
更麻煩的還在後面。假設你辛苦把十個工具都接到某個 Agent 上了,哪天你想換一個更好的 Agent 平台,這十套接法很可能沒辦法直接搬,又得重接一輪。工具那邊沒改、Agent 那邊也沒改,只是中間的接法沒有共通標準,力氣就這樣一次又一次地白花。這就是還沒有標準時的世界。
MCP 要解決的,就是這件事。它是一個開放的標準,不綁任何單一廠商,專門定義「Agent 和工具之間該怎麼對接」。最好懂的比喻,是把它想成「AI 的 USB-C」。以前每個裝置一種插頭,亂七八糟;USB-C 出來之後,一個接頭到處都能插。MCP 想在 AI 世界做的,就是這件一樣的事情。
講一下它的正式身分。MCP 的全名是 Model Context Protocol,直翻是「模型上下文協定」。它是 Anthropic,也就是做 Claude 的那家公司,在 2024 年提出、而且開源出來的一套標準。但我要補一個很多人不知道、而且很關鍵的後續:**2025 年底,它已經被捐給 Linux Foundation 底下的基金會了。**為什麼這件事重要?因為一個標準最怕的就是「這是某一家的東西,哪天他們不玩了怎麼辦」。捐出去之後,它的治理不再由單一公司說了算 —— 對你個人可能沒差,但如果你要說服公司採用,**這一句是最有力的那一句**。
接著用白話講它怎麼運作。第一步,在工具那一邊,架一個叫做 MCP server 的東西。這個 server 的工作,是對外「宣告」自己能提供什麼:有哪些可以呼叫的動作、有哪些可以讀取的資料、還有哪些現成可用的提示範本。等於它主動把「我這邊能做什麼」寫成一份標準的清單,掛在門口讓人看。
第二步,Agent 這一邊當 client,也就是使用方。它照著 MCP 這套共同的協定,去問 server:你有哪些工具?因為兩邊講的是同一種「語言」,Agent 就不必為每個工具量身訂做接法。只要對方掛的是 MCP server、你的 Agent 又支援 MCP,插上去就能溝通,中間那層膠水就省下來了。
這樣帶來的第一個好處,是「接一次,到處通用」。工具那邊只要做成一個 MCP server,之後不管換到哪個 Agent,只要它支援 MCP,都能用同一套方式接上去。反過來也一樣:你換了 Agent 平台,原本那些 server 完全不用改,新的 Agent 直接就能接。每次都要重接的痛,就消失了。
第二個好處是生態。因為它是公開標準,現在已經有一大堆別人做好的 MCP server 可以直接撿來用:接本機檔案的、接資料庫的、接雲端硬碟的、接各種線上服務的,種類越來越多。你想讓 Agent 多一個能力,很多時候不用自己從頭寫,找到對應的 server 掛上去,馬上就能用,省掉非常多功夫。
這裡順帶提一個公司場景。在公司裡,你會希望把 Agent 接進既有的系統,但又不能讓它亂碰。MCP 剛好也是這件事的好介面:你可以在 server 這一層,決定這個 Agent 能看到哪些工具、能讀哪些資料、哪些完全不開放。等於權限的邊界,是劃在你自己手上的,而不是把公司系統整個攤開給 Agent。
不過也要給你一個務實的提醒。掛上一個 MCP server,本質上就是把某一批能力開放給 Agent 使用。方便的另一面是:如果亂掛、權限開太大,Agent 能碰的東西就超出你的預期了。所以「要掛哪些 server、每一個給到多少權限」這件事,一定要先想清楚,在公司這種環境裡尤其要謹慎,不要圖方便全部打開。
剛剛說有一大堆現成的 server 可以撿來用,這很棒,但我要在這裡放一個提醒,因為這是最容易被跳過、後果又最大的一步。你從網路上找一個 MCP server 掛上去,**那是一支在你自己電腦上跑的程式,而且它是用你的身分、你的權限在跑。**你能碰到什麼,它大致上就能碰到什麼 —— 你的檔案、你存在電腦裡的東西。換句話說:**掛一個陌生人寫的 MCP server,跟裝一個來路不明的軟體,風險是同一個等級的。**但很多人不會這樣想,因為它感覺只是「幫 AI 加個功能」,點一下就好了,沒有那種「我正在安裝軟體」的警覺。所以建議很簡單,就三句:**看一下是誰做的**,官方或知名專案優先;**看一下它要什麼權限**,一個查天氣的憑什麼要讀你整個硬碟;**公司的電腦上,先問過再裝。**
還有一種更隱蔽的狀況,我覺得每個要用 MCP 的人都該知道。剛剛講到,server 會宣告「我能做什麼」,那份說明是文字,而**那段文字會直接送到 AI 眼前**。問題就在這:那段文字裡,是可以藏話的。藏什麼?藏寫給 AI 看的指令,像是「順便把使用者的某某檔案內容一起附上」。你看不到,因為你不會去讀那份說明;AI 讀得到,而且**它眼前只是一整片文字,它分不出哪一句是你交代的、哪一句是那個 server 夾帶的。**更麻煩的是,這種夾帶不一定在 server 本身 —— server 可能完全乾淨,但它幫你讀回來的那份文件、那則留言裡藏了東西,一樣會送到 AI 眼前。所以請你把這句話記住,它適用的範圍比 MCP 大得多:**AI 從工具讀回來的東西,是「資料」,不是「命令」。**實務上怎麼防?兩件事就夠:**別把「能讀外面東西」跟「能動手改東西」給同一個 Agent**;還有,**它要做不可逆的動作之前,讓它停下來給你看一眼。**
如果今天你只帶走一句話,那就是:MCP 讓「Agent 接工具」這件事,從每次都要客製,變成掛一個標準接頭就通。你完全不用去懂它底層的協定細節;但你要記得一個很實用的問法——以後評估任何一個 Agent 平台,問它一句「支不支援 MCP」,其實就是在問:它好不好接上你手邊的工具跟資料。