對于開發(fā)者來說,如何將他們的業(yè)務快速融入 MCP 生態(tài)系統(tǒng),以及是否需要跟進和如何快速跟進,已經(jīng)成為他們必須面對的重要挑戰(zhàn)。這不僅涉及到技術(shù)層面的適配和集成,還包括對 MCP 生態(tài)系統(tǒng)的理解和規(guī)劃。開發(fā)者需要評估 MCP 對他們業(yè)務的潛在價值,以及如何利用 MCP 來增強他們的產(chǎn)品和服務。

本文介紹了一種無需修改應用代碼即可實現(xiàn) MCP 協(xié)議的方法。通過使用 Higress AI 網(wǎng)關(guān),可以將微服務無縫轉(zhuǎn)換為 MCP Server,從而快速將現(xiàn)有的微服務集成到 MCP 生態(tài)系統(tǒng)中。

這種方法的優(yōu)勢在于,它允許業(yè)務在不中斷現(xiàn)有技術(shù)棧的情況下,平滑過渡到 MCP 生態(tài)。這意味著企業(yè)可以在不影響業(yè)務連續(xù)性和技術(shù)債務的前提下,探索和利用 AI 原生應用的基礎(chǔ)設(shè)施。通過保留對 AI 原生應用基礎(chǔ)設(shè)施的選擇權(quán),企業(yè)可以靈活地評估和選擇最適合其業(yè)務需求的技術(shù)解決方案。

在 MCP 生態(tài)系統(tǒng)中,Higress 扮演著至關(guān)重要的角色,作為一個基礎(chǔ)設(shè)施組件,它通過強大的協(xié)議轉(zhuǎn)換功能,使得現(xiàn)有微服務能夠無需修改代碼即可融入 MCP 生態(tài)。Higress 的核心能力在于它能夠接收 MCP 請求并執(zhí)行協(xié)議轉(zhuǎn)換,同時提供一系列關(guān)鍵的服務,包括統(tǒng)一的身份驗證、流量管理和參數(shù)映射,以及安全審計等。

這種服務托管方案極大地簡化了開發(fā)者的工作流程,他們無需深入理解 MCP 協(xié)議的復雜細節(jié),就能迅速將現(xiàn)有的服務轉(zhuǎn)化為 MCP Server。這不僅提高了開發(fā)效率,還降低了技術(shù)門檻,使得更多的微服務能夠快速接入 MCP 生態(tài)。

Higress 的托管模式還有效應對了 MCP 協(xié)議快速迭代和 SDK 不穩(wěn)定的挑戰(zhàn)。它為企業(yè)提供了一個靈活的選擇空間,使他們能夠在 AI 原生應用的發(fā)展中,根據(jù)業(yè)務需求和技術(shù)發(fā)展靈活地選擇合適的技術(shù)和服務。這種模式不僅加速了企業(yè)對新技術(shù)的采納,還為企業(yè)提供了更大的靈活性和自主性,以適應不斷變化的市場和技術(shù)環(huán)境。

阿里 Nacos(Naming and Configuration Service)作為云原生注冊配置中心,最近發(fā)布了 MCP Registry,讓存量業(yè)務 API “0改動”就可以適配 MCP Server。

Nacos 在作為 MCP Registry ,承擔著控制面板的關(guān)鍵角色。它不僅負責管理 Tool 的元信息,還能將現(xiàn)有的微服務 API 轉(zhuǎn)化為符合 MCP 協(xié)議的接口。借助 Nacos,云原生存量業(yè)務應用可以迅速將其已有的業(yè)務 API 接口轉(zhuǎn)換為 MCP 協(xié)議接口,并通過與 Higress AI 網(wǎng)關(guān)的結(jié)合,實現(xiàn) MCP 協(xié)議與現(xiàn)有協(xié)議之間的無縫轉(zhuǎn)換。在這個過程中,Nacos 提供了對現(xiàn)有微服務的管理以及動態(tài)服務信息的定義,使得業(yè)務能夠在不改動現(xiàn)有接口的前提下,通過 Nacos 的服務管理功能,動態(tài)地應用 Higress 網(wǎng)關(guān)生成的 MCP Server 協(xié)議。

一、零代碼實現(xiàn)微服務改造成 MCP Server 架構(gòu)設(shè)計

第一、Nacos 0代碼適配 MCP Server 的架構(gòu)原理剖析

我們先來了解一下普通的微服務調(diào)用過程。首先,調(diào)用方(Consumer)需要知道微服務提供方(Provider)的地址(可以是一個域名或 IP 地址)。然后,調(diào)用方根據(jù)事先約定好的參數(shù),對微服務接口進行調(diào)用。整個調(diào)用流程如下圖所示:

在日常開發(fā)中,我們通常已經(jīng)熟悉了當前微服務提供方的接口集合以及接口參數(shù)的具體作用。因此,我們可以在業(yè)務代碼中編寫調(diào)用邏輯,實現(xiàn)服務之間的調(diào)用。對于大模型來說,這些調(diào)用上下文同樣是必不可少的。大模型需要了解服務提供方的接口集合以及接口的詳細描述,才能根據(jù)上下文進行接口調(diào)用。

對于已經(jīng)使用 Nacos 作為注冊配置中心的存量服務,Nacos 中已經(jīng)保存了服務的調(diào)用地址。我們只需要增加服務的接口信息,就可以實現(xiàn)大模型調(diào)用上下文的構(gòu)建。

為此,Nacos 引入了“應用全局描述”這一概念,用于描述當前應用及其接口的詳細信息。通過統(tǒng)一的接口描述協(xié)議,我們可以對 Nacos 中的服務進行 MCP 化改造。對于之前未在 Nacos 中注冊的服務,我們可以通過 Nacos 的持久化服務發(fā)現(xiàn)功能手動進行注冊。在配置完服務相關(guān)信息后,MCP 協(xié)議所需的數(shù)據(jù)已經(jīng)完備。接下來,我們需要考慮如何通過 MCP 協(xié)議將這些數(shù)據(jù)暴露出去。這里,我們利用 Higress 的插件機制來實現(xiàn) MCP 協(xié)議的暴露能力。調(diào)用流程圖如下:

第二、Nacos MCP Registry 整體架構(gòu)設(shè)計剖析

1、Nacos MCP Regisry 架構(gòu)設(shè)計

MCP 協(xié)議目前支持多種資源(Tool、Prompt、Resource 等),Nacos 優(yōu)先實現(xiàn)了使用量較高的 Tool,并借助 Higress 提供的統(tǒng)一 SSE 協(xié)議支持,加速了 MCP Server 的構(gòu)建,整體架構(gòu)設(shè)計如下圖所示:

在架構(gòu)設(shè)計上,Nacos 通過在 Higress 中的 MCP Server 插件實現(xiàn)了 Nacos 中管理的 Tools 的暴露。對外通過 MCP 協(xié)議暴露普通 HTTP 服務,需要先完成以下兩件事:

功能:由 Higress AI 網(wǎng)關(guān)返回所有的 Tool 列表。

實現(xiàn):tool/list 方法主要負責將當前 MCP Server 支持的 Tool 的詳細信息列表返回給 MCP Client。返回信息包含 Tool 的作用描述和 Tool 的參數(shù)描述(包含類型、作用等)。通過將 Nacos 存儲的描述信息轉(zhuǎn)化為標準的 MCP 協(xié)議里的 tool/list 結(jié)果,返回給 MCP Client。

功能:將 MCP 協(xié)議的 JSON RPC 轉(zhuǎn)化為普通 HTTP 請求,并轉(zhuǎn)發(fā)到后端服務。

實現(xiàn):當 MCP Client 調(diào)用 Tool 時,Higress 將 tool/call 的 JSON RPC 請求解析出來,通過用戶配置的參數(shù)映射信息、Path、后端地址等信息,Higress 生成后端的 HTTP 調(diào)用請求,并進行調(diào)用。調(diào)用完成后,再將后端的調(diào)用結(jié)果包裝成標準的 tool/call 接口調(diào)用的返回結(jié)果。

在整體實現(xiàn)中,Nacos 作為 MCP Registry,扮演控制面的角色,管理 Tool 的元信息。Higress 在數(shù)據(jù)面負責協(xié)議轉(zhuǎn)換和 RPC 調(diào)用。存量服務只需添加接口描述,無需進行任何改動。

2、使用 Nacos MCP Registr 架構(gòu)設(shè)計的優(yōu)勢

Nacos 集成 Higress 的方案:通過 Nacos 和 Higress 的集成,用戶可以實現(xiàn)零代碼快速構(gòu)建 MCP Server,迅速跟進 MCP 協(xié)議,無縫對接存量 API。

動態(tài)調(diào)試與優(yōu)化:MCP 描述信息、Tools 以及 Prompt 都需要經(jīng)過調(diào)試才能達到最佳效果。Nacos 能夠幫助管理和下發(fā)這些信息,實現(xiàn)動態(tài)調(diào)整和實時生效,提高調(diào)試效率。

版本管理與回滾:Nacos 會管理和存儲 MCP 信息的歷史版本,方便進行 Diff 對比差異,在出現(xiàn)問題時能夠快速回滾到之前的版本,確保系統(tǒng)的穩(wěn)定性和可靠性。

灰度分批生效:在 MCP 信息生效時,Nacos 支持灰度分批生效,允許逐步推廣新配置,方便對比不同版本的效果,降低風險。

敏感信息保護:在 MCP 信息和 API 調(diào)用過程中,涉及密碼等敏感信息時,Nacos 提供了 敏感信息加密 的能力,確保數(shù)據(jù)的安全性。

格式優(yōu)化:在與大模型交互時,JSON 格式可能不如 XML 格式直觀。Nacos 可以幫助將 MCP 的返回格式從 JSON 轉(zhuǎn)換為 XML,使大模型更容易理解和處理。

服務管理與監(jiān)控:隨著 MCP 服務數(shù)量的增加,Nacos 提供了大規(guī)模服務管理能力,包括健康檢查、實時更新和負載均衡,確保 MCP 服務的高效運行,同時作為 MCP 服務發(fā)現(xiàn)中心的托管平臺。

通過這些功能,Nacos 和 Higress 的結(jié)合為 MCP Server 的構(gòu)建和管理提供了全面的支持,幫助用戶快速、安全地實現(xiàn) MCP 協(xié)議的落地。

二、總結(jié)

借助 Nacos 與 Higress 的組合方案,能夠?qū)崿F(xiàn)無需代碼改造,將顯存微服務快速改造成 MCP Server,從而大幅削減現(xiàn)有應用的改造成本。目前,用戶需手動配置接口描述信息,但未來 Nacos 計劃通過工具化手段進一步簡化這一流程,使用戶僅需進行微調(diào)即可完成配置。在實際場景中,我們面臨著海量的存量服務與接口。按照接口到 Tool 的映射規(guī)則,我們將產(chǎn)生大量的 Tool。當 Agent 獲取 Tool 列表并將其傳遞給大模型時,這將導致大量的 token 消耗,進而可能影響大模型的性能。因此,如何在上下文中精準篩選出有效的 Tool 列表,并將其高效返回給 Agent 智能體,將成為后續(xù)發(fā)展的關(guān)鍵方向之一。除了 Tool,MCP 協(xié)議還涵蓋 Prompt、Resource 等多種資源,MCP 社區(qū)也在持續(xù)對協(xié)議進行更新。相信 Nacos 將逐步支持這些新特性,為 MCP 生態(tài)的繁榮貢獻力量。

文章轉(zhuǎn)載自:MCP 分布式落地實踐:0代碼實現(xiàn)微服務改造成 MCP Server

上一篇:

RAG 2.0 深入解讀

下一篇:

面對MCP安全風險,我們該如何應對
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費