Anthropic推出的模型上下文協定(MCP,Model Context Protocol)是近期AI領域的熱門關鍵詞。透過MCP,就能快速打造可自動完成跨介面任務的AI Agent。不僅ChatGPT團隊OpenAI開放支援,近期Google也有類似協定推出!究竟MCP是什麼?怎麼用?應用場景有哪些?市面上有哪些類似產品?又有哪些優缺點與潛在風險呢?
隨著AI模型日益聰明,現今人們已很習慣請AI幫忙生活中的大小事。然而,如果是在網頁或應用程式中使用AI,它可能還有很多無法達成的任務。例如,ChatGPT雖然能寫Email、但沒辦法未經設定就直接寄出;雖然能幫忙規劃行程,但沒辦法直接新增在Google行事曆上等。
而MCP就是解決這些問題,讓AI成為能跨平台執行任務的AI Agent的方法。
MCP是什麼?Google也有類似協定?
MCP是Model Context Protocol的縮寫,中文翻譯為「模型上下文協定」,其為Claude AI母公司Anthropic於2024年11月推出的開源協定。在MCP出現之前,不同網站和工具都有各自的API調用規則,而MCP提供了一個標準化的方法,讓AI與其他外部工具連接時更有效率。
若要快速了解MCP的概念,最常見的生活化比喻,就是將其理解為電子設備的USB-C接口:許多人常用的蘋果(Apple)產品,過去採用獨家的Lightning接口,只能連接蘋果自家的充電線;但蘋果在2023年時推出iPhone 15時,將接口改為主流的USB-C,從此以後,即使是不同廠牌的充電線,也都因為有標準化的規格而能通用。
MCP推出後受到廣大關注,許多知名公司已宣布旗下工具支援MCP,包括OpenAI、Microsoft、AWS等。Github上也已有網友寫好的數百個MCP伺服器(MCP Server),方便使用者根據自身需求取用。
今年4月,Google也推出開源協定A2A(Agent2Agent)作為MCP的延伸。與MCP的概念類似,A2A的目標也是為了提供標準化的連線方式,差別在於其是為AI Agent設計的。透過A2A,兩個AI Agent之間就像有了共同語言,可以在不需要分享記憶、工具和上下文的情況下協作。
MCP如何運作?實際應用範例
MCP運作的架構可分為三個部分:
● MCP主機(MCP Host):這是使用者主要進行互動的AI應用程式,例如桌面版的Claude、AI程式碼編輯器Cursor等。
● MCP客戶端(MCP Client):這是讓AI用來呼叫外部工具的程式,是主機和伺服器之間的聯繫橋樑。
● MCP伺服器(MCP Server):連接外部工具或本地資料的程式,會根據使用者要求取得所需資料後回傳。
以實例說明,如果想在Cursor中,用GPT-4o生成一篇文章,再將其自動存成Google文件,步驟就是在Cursor(MCP主機)的對話框(MCP客戶端)中輸入需求,AI就會透過事先設定好的Google文件伺服器(MCP伺服器),將AI生成的內容自動寫進Google文件。
MCP和API的差別?
在MCP出現以前,如果想達成相同的目標,就要透過API(Application Program Interface,應用程式介面)。由於API和MCP皆與連結外部工具有關,因此有不少人會混淆兩者的差異。
API為讓兩個應用程式可以互相溝通的機制,使用者需預先設定好API金鑰(API Key)以獲得存取外部工具的權限,以及在程式碼中寫好要進行的行為、回傳的資料格式等。
MCP和API最大的差異,就是API像是各家公司都需要不同的鑰匙,才能打開門獲得使用權限,不像MCP規定好的標準化格式,在連接外部工具與修改使用需求時都相對靈活。
此外,MCP的另一項優勢,是不需預先把程式碼寫死,而是讓AI理解語意後即時調用 所需的工具,自動取得需要的資訊並採取行動。相較之下,傳統API較難支援動態的互動方式。
MCP | API | |
---|---|---|
整合難易度(Integration Effort) | 單一、標準化的整合方式 | 每個API都需要個別整合 |
即時通訊(Real-Time Communication) | ✅支援 | ❌不支援 |
動態探索(Dynamic Discovery) | ✅支援 | ❌不支援 |
可擴展性(Scalability) | 容易(即插即用) | 需要額外整合工作 |
安全與控管(Security & Control) | 各工具間一致的安全與控制機制 | 依每個API而異 |
資料來源:Norah Sakal |
MCP可能隱含資安風險?
雖然MCP看似相當便利,但也可能潛藏資安危機。
例如,微軟(Microsoft)部落格上的一篇文章指出,使用者為了要讓AI有更大的自由度,可能會給MCP伺服器過高的權限,增加資料外洩的機會;或是MCP可能受到工具中毒攻擊(Tool Poisoning Attacks),就是攻擊者在MCP工具的描述中嵌入惡意指令,使用者可能不會發現,但會被AI執行。
因此,在使用MCP時,應該明確定義MCP伺服器的權限,避免其存取到隱私資料;以及建立安全監控機制,偵測AI的異常活動,以即時解決問題。