本文介绍Dify 对接 Nacos MCP Registry的具体操作。
背景介绍
Dify 是一个面向 AI 时代的开源大语言模型(LLM)应用开发平台,致力于让复杂的人工智能应用构建变得简单高效,目前已在全球范围内形成显著影响力,其 GitHub 仓库 Star 数截至 2025 年 6 月已突破 100,000+,目前,Dify 已经成为 LLMOps 领域增长最快的开源项目之一。
Nacos 3.0 版本实现了MCP Registry 管理功能,可以对所有的MCP Server 进行集中式的管理。基于 Nacos MCP Server Registry,你可以实现以下功能:
多种类型的 MCP Server 自动注册和动态发现。
MCP Server相关描述,工具描述动态修改并生效,MCP Tools 动态开关。
存量的微服务 API 实现 0 代码改动转化成 MCP 服务。
Dify 应用通过接入 Nacos MCP 插件,即可实时感知 Nacos 中配置的所有 MCP Server,享受以上 MCP 企业级特性,大大降低了 Dify 应用中 MCP Server 的接入和管理成本。同时,Nacos MCP 插件还能帮助模型按需挑选并路由 MCP 服务,有效降低模型调用的 Token 消耗。
操作步骤
步骤一:将 MCP Server 注册到 Nacos MCP Registry
通过MSE Nacos 部署链接部署 MSE Nacos 3.0 企业版实例。
通过以下方式,将您的MCP Server 注册到 Nacos MCP Registry 中:
控制台上手动注册,请参见创建标准MCP服务。
通过框架自动注册,请参见动态注册MCP服务。
存量的微服务API实现0代码改动转化成MCP服务,请参见创建HTTP转化MCP服务。
注册完成后,即可在MSE Nacos 控制台 MCP Registry页面中看到注册的 MCP Server信息。
步骤二:Dify 应用 Nacos MCP 插件配置
目前,Nacos 官方 MCP 插件 Nacos MCP 已经登录 Dify 官方市场。完成 MCP Server 在 Nacos 上的注册之后,为了让 Dify 应用能够访问到Nacos中注册的 MCP Server,我们需要安装并配置 Nacos MCP 插件。
在 Dify 官方插件市场中搜索 Nacos MCP 插件,安装后配置 Nacos Server 的访问地址和访问凭证。
完成插件配置之后,我们即可在 Dify 应用中使用该插件动态发现 Nacos MCP Registry 中的 MCP Server。
以 开发 AI 导购助手为例,假设我们在 Nacos MCP Registry 中注册了一个
goods-mcp-server
服务,功能是根据用户需求返回对应的商品列表。我们在 Dify 中创建一个 Agent 应用并配置 Nacos MCP 插件中以下的工具:查询 MCP Server 列表 (
list_mcp_servers
)查找特定的 MCP Server 的工具列表 (
list_mcp_server_tools
)列出用户预配置的 MCP Server 的工具列表 (
list_mcp_server_tools_by_user
)
模型会根据实际的任务,首先查询可用的 MCP Server 列表,并根据自己的需要,智能挑选依次调用Nacos MCP 的三个工具来完成任务的执行。
单击部署,让我们在对话中体验下。
查看调用历史,大模型通过调用Nacos MCP 插件的三个工具,顺利完成了对于
goods-mcp-server
的调用。
步骤三:Dify 基于 Nacos MCP 实现 MCP Server 路由
用户可以随时在 Nacos MCP Registry 中注册和修改 MCP Server 相关信息,Dify 应用通过 Nacos MCP 插件可以实时的感知 Nacos 中注册的 MCP Server 服务,并根据任务实现对于 MCP 的路由,而无需对 Dify 应用进行重新编辑和部署。
以AI导购为例,在上线之后,我们觉得单纯推荐物品的逻辑有些单薄,我们希望他除了推荐物品之外,还可以进一步的给出每类物品在各个平台上的最低价格以及对应的商品链接,相关的价格查询逻辑已经由price-mcp-server
进行了实现。在不依赖Nacos的情况下,添加一个全新的MCP Server我们需要重新对Dify应用进行部署,而现在,我们只需要在Nacos中注册对应的price-mcp-server
即可。
通过自动注册或者手动配置的方式在 Nacos 注册
price-mcp-server
MCP 服务。再次调用AI导购。
可以发现,在给出推荐的商品列表之外,AI 导购进一步的利用了
price-mcp-server
来进行了价格的查询和比较,而无需重新部署。此外,查看模型的工作链路,我们看到模型首先查询了所有可用的 MCP 服务列表,根据任务判断需要调用
goods-mcp-server
以及price-mcp-server
, 再去查找了具体的 Tools 信息。如果我们只希望获取物品的列表,则模型只会查询
goods-mcp-server
的工具列表。当 MCP 数量和 Tools 数量较多时,可以显著减少模型 Token 消耗。
Dify 基于 Nacos MCP 实现 MCP Server 动态调优
在实践中,为了实现更好的路由效果,MCP 本身以及工具的描述是否精准也是重要因素。通过 Nacos MCP 插件接入的 MCP 服务,支持在 MCP 运行时对 MCP 的工具描述和工具开关进行动态调整,根据实际需要向 Dify 应用暴露可用工具进行调优。
关于 Nacos MCP 插件的接入和使用方式,请参见Nacos MCP 插件使用文档。