
從零開始的機器學習實踐指南
下文對架構設計和開源實現詳細剖析之。
隨著 MCP 生態的不斷發展,從 Local MCP Server 向 Remote MCP Server 的架構設計演進逐漸成為一種趨勢。為了更好地理解這一轉變,我們首先需要明確這兩種 MCP Server 架構設計的概念及其區別。
Local MCP Server 架構是部署在用戶本地設備上的 MCP 服務器。在這種架構模式中,MCP 客戶端(例如 Claude Desktop 或 Cursor)通過本地進程通信(stdin/stdout)與 MCP 服務器進行交互,而 MCP 服務器則負責連接到互聯網上的各種 API 和服務。這種架構設計簡單直觀,非常適合個人開發者使用,但同時也存在一些局限性。
Remote MCP Server 架構是部署在云端的 MCP 服務器,用戶可以通過互聯網進行訪問。在這種模式下,MCP 客戶端可以是各種網頁應用或移動應用,它們通過 HTTP 協議與遠程 MCP 服務器進行通信。Remote MCP Server架構 通常集成了認證授權、狀態管理、數據庫訪問等企業級功能,能夠為多個用戶提供服務。
這種架構設計的轉變,解決了 Local MCP Server 在企業真實落地環境中的諸多局限性。
雖然 Local MCP Server 架構設計簡單易用,但在企業級應用落地中存在諸多挑戰:
1、本地環境依賴:需要在用戶本地安裝 Python 或 Docker 等執行環境來運行 MCP Server,對非技術用戶不夠友好。
2、安全風險:企業無法將敏感數據庫憑證、API 密鑰等關鍵訪問令牌配置到每個員工的本地環境,這不僅違反最小權限原則,還增加了憑證泄露的風險。
3、一致性問題:當多個用戶需要訪問相同的企業資源時,難以保證配置和權限的一致性,容易導致數據不一致或權限混亂。
4、維護成本:為每個用戶設備部署和維護 MCP Server 需要大量 IT 資源,版本更新、安全補丁和配置變更都需要在每臺設備上單獨執行。
Remote MCP Server 架構設計通過集中化部署和管理,有效解決了 Local MCP Server 架構設計在企業級應用中面臨的諸多問題:
1、拓寬使用場景:非技術用戶無需復雜的本地配置,通過網頁或移動應用等,隨時隨地都能通過互聯網便捷地使用 MCP 的強大功能。
2、集中化安全管控:企業能夠在遠程服務器上實施嚴格的訪問控制、數據加密和審計機制,從而確保敏感憑證的安全,有效降低數據泄露風險。
3、統一權限管理:借助集中化的身份驗證和授權系統,企業可以精確地控制每個用戶對不同資源的訪問權限,確保權限的一致性和數據的安全性。
4、簡化部署與維護:只需集中維護中央服務器,即可實現版本更新、安全補丁和配置變更的統一管理,大大降低了運維成本和復雜性。
阿里 AI 原生網關 Higress 開源了 Remote MCP Server 架構設計的托管實現方案,并已更新到 Anthropic 官方的 MCP Server 項目文檔中。
Github 地址:https://github.com/alibaba/higress
盡管 Remote MCP Server 架構設計擁有諸多顯著優勢,但在實際部署過程中也面臨著新的挑戰,尤其是在認證授權、服務可靠性和可觀測性這三個關鍵領域。而 API 網關在這些方面有著豐富的經驗和成熟的技術。Higress 作為專為 AI 設計的原生 API 網關,不僅能夠應對這些挑戰,還提供了一套完整的開源 MCP Server 架構設計托管解決方案,下面對架構設計詳細剖析。
Higress 的 Remote MCP Server 托管實現方案采用了分層架構設計,為 AI Agent 智能體提供了完整的服務訪問能力,架構設計如下圖所示:
在架構設計的最上層,各種 AI Agent(比如:Claude、Cursor、Cline 等)通過標準的 MCP 協議與 Higress 進行交互。Higress 內部集成了完善的安全與管控層,涵蓋了 MCP 會話保持、OAuth2 認證、審計日志、速率限制以及 MCP 路由等核心功能。
在服務層面,Higress 提供了三種靈活的 MCP Server 接入方式:
1、內置 MCP Server:通過 Wasm 插件在 Higress 內部實現,適用于對接現有的 SaaS API 生態,為這些服務提供 MCP 能力。
2、直接轉發:將請求直接轉發給外部已經支持 MCP 協議的服務,適用于對接已有的外部 MCP 能力。
3、動態發現與配置:通過服務注冊中心(比如:Nacos)動態發現外部 MCP Server,并利用 Nacos 配置中心的能力動態更新 MCP Server 的工具定義。這種方式特別適合企業將傳統業務 API 升級為 MCP 能力。
這種靈活的架構設計使企業能夠根據自身需求選擇最適合的部署方式,既可以充分利用 Higress 提供的一站式托管服務,也可以保持現有 MCP Server 的獨立性。
Higress(如下圖所示) 基于 Envoy 構建,繼承了傳統 API 網關在認證、授權、限流和可觀測性方面的強大能力,并針對 AI 場景進行了優化。這些能力與 MCP 服務的需求高度契合,具體體現在以下4點:
1、統一認證授權:Higress 提供 OAuth2 插件,能夠滿足新版 MCP 協議對認證鑒權的要求。開發者無需編寫復雜的認證代碼,只需簡單配置,即可實現安全的用戶認證和權限控制。
2、精細化流量控制:借助 Higress 的限流插件,可為不同用戶、不同工具設置不同的調用配額,有效防止資源濫用和服務過載。
3、全鏈路可觀測性:Higress 集成了 Prometheus 和 OTel 等開源觀測方案,提供完整的指標監控和分布式追蹤能力。運維團隊能夠實時監控 MCP 服務的健康狀況和性能表現。
4、審計日志:記錄所有工具調用行為,滿足合規要求,同時為安全分析提供數據支持。
Higress 的一大技術亮點是支持 WebAssembly (Wasm) 插件,這為 MCP Server 提供了強大的擴展能力。通過 Wasm 插件機制,開發者可以實現以下功能:
1、快速添加新 MCP Server:使用多種語言(目前優先提供了 Go 語言的 MCP Server SDK)開發 MCP Server,將其編譯為 Wasm 文件后,可動態加載到 Higress 中,無需重啟服務。
2、安全隔離:每個 Wasm 插件都在獨立的沙箱環境中運行,即使插件出現崩潰,也不會影響網關的穩定性。
3、動態更新:借助 Envoy 對長連接的良好支持以及 Wasm 插件的動態更新機制,MCP Server 邏輯可以在不中斷流量的情況下實時更新。
目前 MCP 協議有兩個版本:20241105 版本和 20250326 版本。從協議的發展來看,其標準化和優化的速度難以跟上 MCP Server 生態的迅猛發展。這為早期采用 MCP 的用戶埋下了隱患,當構建了大量 MCP Server 后,面對未來協議版本升級,可能需要進行大量的升級改造工作。
Higress 作為 AI 原生網關層,可以有效屏蔽多個版本的協議細節,甚至實現 MCP 到 REST/Dubbo 等其他協議的轉換。Higress 在網關層完成所有版本的 MCP 協議卸載,類似于傳統 API 網關中統一卸載 HTTP1/HTTP2/HTTP3 客戶端協議的方式。
目前,Higress 已經可以在一個接入點上同時支持 MCP 的 20241105 版本和 20250326 版本。在協議傳輸層,Higress 支持目前 AI 工具廣泛使用的 POST+SSE 模式,以及最新的 Streamable HTTP 模式。
我們預計,隨著應用生態對實時性要求的提高,WebSocket 這種全雙工的雙向實時通信協議將越來越受歡迎,并得到更廣泛的應用。Higress 原生支持 WebSocket,能夠實現全雙工的雙向實時通信。此外,Higress 支持 WebSocket 配置修改后的連接保持以及優雅斷開,未來在 MCP 會話保持方面,Higress 的優勢將更加明顯。
Higress 的 MCP Server Hosting 方案在部署與運維方面展現出諸多顯著優勢:
1、彈性伸縮方面,其依托 Kubernetes 的自動伸縮機制,能夠依據流量情況自動調節實例數量,既保障了服務的高可用性,又提升了資源利用效率。
2、在灰度發布方面,該方案支持 MCP Server 的灰度發布以及 A/B 測試,有效降低了更新過程中的風險。
3、部署環節,提供 Helm Chart,極大地簡化了部署流程,降低了運維的難度。
Higress 托管的 MCP Server 可輕松應對每秒數十萬次的工具調用請求,且能保持毫秒級的響應時間,充分滿足企業級應用的性能要求。
文章轉載自: MCP 架構設計演進:從 Local MCP Server 到 Remote MCP Server 開源架構設計實現