AI News HubLIVE
站內改寫2 分鐘閱讀

模型上下文協議(MCP)三種難度級別詳解

Model Context Protocol(MCP)是Anthropic推出的開放標準,旨在統一AI應用與外部工具、資料來源的通訊方式。本文從三個遞進層次解析MCP:為何需要該協議、架構與請求流程、以及生產環境中的傳輸、安全與部署考量。

來源Machine Learning Mastery作者: Bala Priya C

模型上下文協議(Model Context Protocol,簡稱MCP)是Anthropic推出的一項開放標準,旨在解決AI應用與外部系統之間的整合難題。大型語言模型的知識截止於訓練時間,無法直接訪問檔案、資料庫或即時訊息。傳統做法是開發定製整合,但隨著模型和工具數量增長,維護成本呈指數上升。MCP透過統一協議,讓每個AI客戶端和每個工具只需實現一次協議,從而將整合點從M×N減少到M+N。

MCP架構包含三個核心元件:宿主(Host)是使用者互動的應用,如聊天介面或AI驅動的IDE,內部包含語言模型;客戶端(Client)駐留在宿主中,負責協議機制,包括維護伺服器登錄檔、翻譯模型請求並分發;伺服器(Server)是連線外部系統的橋樑,註冊其能力並響應請求。以使用者要求“從資料庫獲取Q2營收資料並生成總結”為例:模型識別需求後,客戶端查詢已註冊的伺服器,模型呼叫資料庫查詢工具,伺服器執行並返回結果,隨後模型呼叫郵件起草工具完成總結。整個過程無需開發者編寫膠水程式碼。

MCP伺服器暴露三類能力:工具(Tools)是可呼叫的函式,用於執行操作或計算;資源(Resources)是可讀資料,如檔案、記錄;提示(Prompts)是可複用模板,用於標準化任務處理方式。工具和資源的分離有助於應用不同的授權策略。

在傳輸層面,MCP採用JSON-RPC 2.0作為資料層,傳輸層支援兩種方式:stdio適用於本地伺服器,透過標準輸入輸出通訊,簡單快速且無需網路配置;Streamable HTTP適用於遠端伺服器,透過單一HTTP端點交換訊息,支援伺服器傳送事件(SSE)以流式返回多個訊息。安全方面,需注意認證風險,如未繫結會話ID、轉發被盜授權碼等。谷歌建議獲取使用者同意、限制伺服器可見範圍、不信任未經驗證的工具描述、淨化返回資料並審計工具活動。

部署選擇上,本地伺服器作為子程序執行,適合敏感資料或個人開發環境;遠端伺服器獨立執行,可服務多客戶端,適合生產環境。無伺服器平臺如Cloud Run適合簡單無狀態工具,而Kubernetes適合有狀態或高吞吐場景。MCP已擁有主流語言SDK和豐富預置伺服器(如GitHub、Slack、Postgres),客戶端支援包括Visual Studio Code和Claude等。這一協議正逐步構建起可組合的AI整合生態系統。