MCP Server 的五種主流架構與 Nacos 的選擇
在 AI 大模型應用爆發的今天,Model Context Protocol (MCP) 作爲連接 AI 大模型與應用的關鍵協議,正在快速普及。然而,如何在企業級環境中高效部署和管理 MCP 服務,成爲技術團隊面臨的重要挑戰。本文將深入剖析 MCP Server 的五種主流架構模式,並結合 Nacos 服務治理框架,爲企業級 MCP 部署提供實用指南。
MCP 架構的演進與挑戰
MCP 協議爲 AI 應用提供了標準化的交互方式,但在企業級落地過程中,我們面臨着認證鑑權受限、部署模式多樣、技術債務風險等多重挑戰。目前,MCP Server 主要有五種架構模式,每種架構各有優劣,適用於不同的業務場景。
五種 MCP 架構模式詳解
架構一:MCP Client 直連 Remote Server (SSE)
這種架構就像你直接打電話給專家諮詢問題 —— MCP Client 通過 SSE 方式直接連接到遠程 MCP Server,全程保持 HTTP 長連接。
優點?
-
超簡單!沒有中間層,部署維護成本低;
-
實時性好,模型的流式輸出體驗一流;
-
集中化管理,監控和運維不費勁;
缺點?
-
網絡一卡,體驗就崩了;
-
所有數據都得傳到雲端,敏感信息有顧慮;
-
安全風險較高,服務端點直接暴露;
適合誰? 如果你是做 SaaS 應用、輕量級客戶端或公共雲服務,對安全要求不那麼高,這種架構就挺合適的。
架構二:MCP Client 通過 Proxy 連接 Remote Server (SSE)
這種架構就像有個翻譯在中間幫你溝通 —— MCP Client 先連接到 Proxy Server,再由 Proxy 轉接到 Remote Server。
優點?
-
安全性更高,代理層可以做各種防護;
-
支持智能路由和負載均衡,流量調度更靈活;
-
可以聚合多個後端服務,一個接口通喫;
缺點?
-
架構複雜了,維護成本自然上升;
-
多一層代理可能增加延遲,體驗稍差;
-
代理層可能成爲新的故障點;
適合誰? 多租戶環境、企業網關集成、需要調用多種模型的場景,這種架構就很給力。
架構三:MCP Client 直連 Local Server (STDIO)
這種架構就像你家裏有個私人助理 —— MCP Client 通過 STDIO 方式直接連接本地 MCP Server,進程間直接通信。
優點?
-
數據安全性拉滿!敏感數據不出本地;
-
幾乎零網絡延遲,響應速度飛快;
-
完全離線環境也能用,不依賴外網;
缺點?
-
本地計算資源得夠強,不然跑不動;
-
每個環境都要單獨部署維護,運維成本高;
-
模型和服務更新很麻煩,得一個個環境去更新;
適合誰? 金融核心系統、醫療數據分析、工業現場系統等對數據安全和隱私有高要求的場景。
架構四:MCP Client 通過 Local Proxy 連接 Local Server (STDIO)
這種架構就像你有個私人祕書幫你協調多個本地專家 —— MCP Client 先連接到 Local Proxy,再由 Proxy 連接到 Local Server。
優點?
-
服務抽象做得好,客戶端不用關心實現細節;
-
支持本地多實例部署,自動故障轉移;
-
可以實現不同業務線或部門的資源隔離;
缺點?
-
本地環境更復雜了,維護難度加大;
-
本地代理需要額外的計算資源;
-
多層架構讓問題定位和調試變得更困難;
適合誰? 大型企業內部平臺、高可用要求場景、需要統一管理本地 AI 資源的場景。
架構五:MCP Client 通過 Local Proxy 連接 Remote Server (STDIO+SSE)
這種架構就像你有個超級助手,既能處理本地事務又能幫你對接外部專家 —— MCP Client 通過 STDIO 連接 Local Proxy,Local Proxy 再通過 SSE 連接 Remote Server。
優點?
-
混合雲戰略的最佳選擇,本地雲端資源隨意切換;
-
企業從本地向雲端遷移的平滑過渡方案;
-
客戶端體驗一致,不用關心服務在哪裏;
缺點?
-
架構最複雜,維護和排障難度最大;
-
需要確保本地和雲端服務的一致性;
-
性能受網絡狀況影響,可能有波動;
適合誰? 實施混合雲戰略的大型企業、需要彈性擴展的業務、多區域部署的全球企業。
Nacos 如何賦能 MCP 架構
在企業級 MCP 部署中,MCP Server 的自動發現與選擇及其 Server 的動態安裝能力比較高效的解決了各個架構中遇到的場景。在 Nacos 3.0 之前的版本,主要圍繞着分佈式應用的服務註冊發現以及配置管理,提供了三大核心能力:
1. 服務發現與註冊:支持服務的自動註冊和發現,實現服務的動態擴縮容;
2. 配置管理:支持配置的動態更新和推送,無需重啓應用;
3. 服務治理:提供服務路由、負載均衡、流量控制等治理能力;
這些能力與 MCP 架構的需求高度契合,特別是在多 MCP 服務器的場景下。
Nacos MCP Router:連接 MCP 與 Nacos 的橋樑
Nacos MCP Router (https://github.com/nacos-group/nacos-mcp-router) 是一個基於 MCP 協議的服務器,它與 Nacos 深度集成,提供了三個核心功能:
1. MCP 服務器搜索:根據任務描述和關鍵詞搜索合適的 MCP 服務器,重點解決 MCP 工具過多時解決大模型選擇工具的效率的問題。
2. MCP 服務器添加:支持添加 stdio 和 SSE 兩種協議的 MCP 服務器,配合 Nacos Server 的管理能力,重點解決軟件供應鏈安全的問題。
3. 工具代理調用:代理 LLM 對目標 MCP 服務器工具的調用,通過一個本地代理的方式解決 Local Server 與 Remote Server 調用的靈活切換問題。
通過以上的幾個能力,我們搭建了一種混合 MCP Server 架構的模式,可以實現 MCP 服務的統一管理和智能路由,大大簡化提升工具選擇時的性能與企業級 MCP 部署的複雜度。
Nacos 與 MCP 的實戰集成
下面通過一個實際案例,展示如何使用 Nacos 和 Nacos MCP Router 構建企業級 MCP 服務。
部署 Nacos MCP Router
在有 NodeJS 的開發環境中,我們可以通過以下命令手動部署 Nacos MCP Router(不過這一步不是必須的)。
$ pnpm i nacos-mcp-router@latest
配置 MCP 客戶端
然後,在 MCP 客戶端配置中添加 nacos-mcp-router:
{
"mcpServers": {
"nacos-mcp-router": {
"command": "npx",
"args": [
"nacos-mcp-router@latest"
],
"env": {
"NACOS_ADDR": "127.0.0.1:8848",
"NACOS_USERNAME": "nacos",
"NACOS_PASSWORD": "your_password"
}
}
}
}
使用 MCP 服務
現在,我們可以通過 nacos-mcp-router 使用各種 MCP 服務(注:以下步驟爲 MCP Client 與 Nacos Router 自動交互時的核心方法,並不是程序員在開發過程中需要硬編碼的實現):
- 搜索 MCP 服務器:
search_mcp_server(task_description="生成一張貓的圖片",
key_words="圖像生成")
- 添加 MCP 服務器:
add_mcp_server(mcp_server_)
- 使用 MCP 服務器工具:
use_tool(mcp_server_,
mcp_tool_,
params={"prompt": "一隻橙色的貓"})
線上 MCP 架構選型指南
MCP 社區還在飛速的發展之中,在生產場景的能力上的諸多核心功能還暫時未形成統一的標準,基於目前的能力,我們在選擇適合企業的 MCP 架構進行落地時,我們需要考慮以下關鍵因素:
- 數據安全與隱私
-
高敏感數據:優先考慮本地部署架構(架構三、架構四);
-
一般業務數據:可考慮雲端或混合架構(架構一、架構二、架構五);
- 性能與延遲要求
-
低延遲關鍵應用:優先考慮本地部署架構;
-
一般性能要求:雲端架構通常足夠;
- 可擴展性需求
-
需要快速彈性擴展:優先考慮雲端架構;
-
可預測的穩定負載:本地部署可能更經濟;
基於這些因素,不同行業可能的選擇可能的參考如下:
-
金融行業:架構四(本地代理 + 本地服務器)最爲適合,滿足嚴格的數據安全要求;
-
互聯網行業:架構二(代理 + 遠程服務器)支持快速彈性擴展,適合高併發場景;
-
製造業:架構五(混合模式)平衡了本地實時控制和雲端智能分析的需求;
-
政府部門:架構三(直連本地服務器)提供最高級別的數據安全和隱私保護。
結論與展望
MCP 目前默認成爲了 AI 大模型與存量業務數據互通的管道,但由於目前的 MCP 協議本身從設計上未太多考慮企業級落地的情況,導致很多的企業還處在觀望的狀態。MCP 要想完整落地,中心化的註冊中心、可控的軟件供應鏈、安全的訪問控制這三方面的建設必不可少。在我們的方案中,主要通過 Nacos 作爲 MCP 的未來企業 MCP 的註冊中心,通過 Nacos Server 對 MCP 服務器的管理能力,結合 Nacos Router 做到軟件供應鏈的精準控制;同時配合 Higress 做到 MCP 的安全訪問,以此給我們的企業級客戶帶來 MCP 完整的解決方案。
特別緻謝:
Lingma-Agents (https://github.com/apps/lingma-agents) 在 Nacos Router 實現的過程中提供自動化的 Code Review 能力。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/BCe1wl4q929g4_eNVQG7Sg