免费POC, 零成本试错
AI知识库

AI知识库

学习大模型的前沿技术与行业落地应用


收藏

提升 Dify 集成 MCP 便利性与 Prompt 迭代效率的实践

发布日期:2025-06-26 17:23:07 浏览次数: 3786
作者:Higress

微信搜一搜,关注“Higress”

推荐语

探索如何通过Nacos 3.0解决Dify平台在MCP集成和Prompt迭代中的痛点,让AI应用开发更高效。

核心内容:
1. Nacos 3.0如何简化MCP服务动态接入与管理
2. 利用Nacos配置中心实现Prompt运行时动态变更
3. 优化Dify启动配置的运维管理方案

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

💡 目录 💡


01  灵活集成,dify 轻松发现 MCP 服务


02  快速迭代,Nacos 托管 Dify Prompts


03  高效运维,Nacos 托管 Dify .ENV 启动配置


04  结语


Dify 是一个面向 AI 时代的开源大语言模型(LLM)应用开发平台,致力于让复杂的人工智能应用构建变得简单高效,目前已在全球范围内形成显著影响力,其 GitHub 仓库 Star 数截至 2025 年 6 月已突破 100,000+,目前,Dify 已经成为 LLMOps 领域增长最快的开源项目之一。


然而,AI 领域正处于蓬勃发展,快速变化的阶段,每天都有新技术,新的应用场景在出现,Dify 也有其力所不逮的地方:


  • MCP集成困难。最近,MCP (Model Context Protocol,模型上下文协议)的风潮正在刮遍整个领域。MCP 是一个开放协议,旨在标准化大型语言模型(LLM)与外部数据源及工具之间的集成。其最大的优点是使LLM应用能够灵活、安全地访问上下文信息和功能,显著降低了AI应用开发的复杂度,加速了 AI 应用的部署,吸引了无数开发者的目光。但是,截止目前,Dify 平台仍然缺乏原生对于 MCP 协议的支持,虽然有社区的插件将 MCP Server 转化为 Dify 应用的工具调用,但这些插件也存在配置麻烦,使用场景受限,难以快速变更等问题。

  • Prompt不够敏捷。Prompt 是生成式 AI 的核心,生产中往往需要根据应用场景不断的进行调整和优化,Dify已经大大降低了应用开发的成本,但是Prompt变化依然要重新发布。

  • 启动配置复杂,运维困难。Dify 平台拥有强大的功能,但也提升了其应用架构的复杂度,各个组件所用到的配置项数量繁多,难以管理。

Nacos 是阿里巴巴开源的一款注册配置中心产品,被广泛应用于各种云原生应用的构建中。面对AI浪潮带来的技术革命,全新的 Nacos 3.0版本将定位进行了升级,致力于打造一个易于构建 AI Agent 应用的动态服务发现、配置管理和 AI 智能体管理平台,为 模型 / MCP Server / Agent 等新型业务智能场景架构提供更高效的运行支撑。


对于 Dify 面临的这些问题,我们可以在 Nacos 中找到对应的答案:

  • MCP 动态管理和接入。Nacos 3.0 支持多种类型的 MCP Server 自动注册和动态发现,和 MCP 服务相关描述,工具,Prompt 等内容的动态管理。并支持快速的将存量的微服务 API 实现 0 代码改动转化成 MCP 服务。同时,Nacos 3.0 支持了标准 MCP Registry API,轻松实现 MCP Registry 私有化部署。

  • Prompt的运行时动态变更。Nacos 提供的配置管理能力,天然契合 Prompt 快速调整优化的场景。通过将Prompt 托管至 Nacos,无需重新编辑部署Dify工作流,即可进行。

  • Dify 部署环境变量托管。Nacos 支持将 Dify 部署使用的配置托管至 Nacos, 支持控制台白屏化变更和配置历史版本,提高运维效率。

01

灵活集成,Dify 轻松发现 MCP 服务

目前,Dify 应用通过社区插件对接 MCP 服务主要存在以下两个痛点

  • 接入琐碎繁杂:每个需要接入 MCP 服务的 Dify应用都要单独配置 MCP Server 服务的连接信息,缺乏一个统一的集中式管理的平台。
  • 难以动态变更:需要添加新的 MCP Server 或者修改 MCP Server 信息时,都要重新编辑和部署Dify应用,变更成本高。

而在 3.0 版本中,Nacos 在 MCP 生态中迈进了一大步,支持了 MCP Registry 能力,多种类型、不同版本的MCP Server 可以轻松注册至 Nacos 中,消费端只需要连接 Nacos, 就可以获取所有可用的 MCP Server 和 访问方式,免去了手动配置的痛苦。而除了动态发现 MCP Server 之外,Nacos 3.0 MCP Registry 还支持以下 MCP 相关企业级特性:


  • 支持将存量的 HTTP 接口实现 0 代码改动转化成 MCP 服务
  • MCP 服务支持多实例注册分布式部署,大大提高容灾能力
  • 支持动态变更 MCP tools 开关和描述


目前,Nacos 官方 MCP 插件 Nacos MCP【1】已经登录 Dify 官方市场。Dify 应用通过接入 Nacos MCP 插件,即可实时感知 Nacos 中配置的所有 MCP Server,享受以上 MCP 企业级特性,大大降低了 Dify 应用中 MCP Server 的接入和管理成本。同时,Nacos MCP 插件还能帮助模型按需挑选并路由 MCP 服务,有效降低模型调用的 Token 消耗。

image.png

接下来,就让我们通过一个简单的实践教程,来实际体验下吧。


实践: Dify 应用轻松路由 Nacos MCP 服务

假设我们正在开发一个AI导购,在功能刚上线的时候,我们希望AI导购能够调用goods-mcp-server的工具来根据用户提供的关键字返回相关的商品列表,后面根据用户的反馈再接入新的 MCP Server 进行能力的增强。


通过接入 Nacos MCP 插件,Dify 应用即可以动态感知新增的 MCP 服务,实现能力的快速迭代。同时,在实际的调用过程中,Nacos MCP 会首先返回所有 MCP 的简要信息供模型进行挑选,模型根据实际任务需要再查询对应 MCP 的 Tools 供模型进行调用,通过这种方式,能够降低模型Token消耗,特别是在 MCP 服务数量和工具数量过多的场景下,优势明显。


1. 注册 MCP 服务 至 Nacos

首先,我们要将所需的 MCP Server 信息注册到Nacos中,目前Nacos MCP Registry 支持多种注册方式:

  • 控制台上手动注册
  • 通过框架自动注册,参考MCP Server自动注册手册【2】
  • 存量的微服务API实现0代码改动转化成MCP服务,参考存量API转换MCP手册【3】


注册完成后,我们可以在Nacos 控制台上看到对应的MCP Server信息:



2. Dify 应用 Nacos MCP 插件配置

完成 MCP Server 在 Nacos 上的注册之后,为了让 Dify 应用能够访问到Nacos中注册的 MCP Server,我们需要安装并配置 Nacos MCP 插件。目前,Nacos 官方 MCP 插件 Nacos MCP【4】 已经登录 Dify 官方市场。在 Dify 官方插件市场中搜索 Nacos MCP 插件【5】,安装后配置 Nacos Server 的访问地址和访问凭证:

image.png


现在,让我们在 Dify 中构建一个简单的AI导购助手。在 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的调用。


3. 实时发现并路由 MCP 服务

而完成配置之后,在随后的运行时中,Dify可以实时的感知 Nacos 中注册的 MCP Server服务,而无需对 Dify 应用进行重新编辑和部署,并根据任务实现对于 MCP 的路由。


以AI导购为例,在上线之后,我们觉得单纯推荐物品的逻辑有些单薄,我们希望他除了推荐物品之外,还可以进一步的给出每类物品在各个平台上的最低价格以及对应的商品链接,相关的价格查询逻辑已经由price-mcp-server进行了实现。在不依赖Nacos的情况下,添加一个全新的MCP Server我们需要重新对Dify应用进行部署,而现在,我们只需要在Nacos中注册对应的price-mcp-server即可。


通过自动注册或者手动配置的方式在 Nacos 注册price-mcp-serverMCP 服务:


现在,再让我们调用 AI 导购:


可以发现,在给出推荐的商品列表之外,AI 导购进一步的利用了price-mcp-server来进行了价格的查询和比较,而无需重新部署。


此外,查看模型的工作链路,我们看到模型首先查询了所有可用的 MCP 服务列表,根据任务判断需要调用 goods-mcp-server 以及 price-mcp-server, 再去查找了具体的 Tools 信息。


如果我们只希望获取物品的列表,则模型只会查询 goods-mcp-server的工具列表。

当 MCP 数量和 Tools 数量较多时,可以显著减少模型 Token 消耗。


而在实践中,为了实现更好的路由效果,MCP 本身以及工具的描述是否精准也是重要因素。通过 Nacos MCP 插件接入的 MCP 服务,支持在 MCP 运行时对 MCP 的工具描述和工具开关进行动态调整,根据实际需要向 Dify 应用暴露可用工具进行调优。


02

快速迭代,Nacos 托管 Dify Prompts

Prompt 是生成式 AI 的核心,生产中往往需要根据应用场景不断的进行调整和优化,Dify 已经大大降低了应用开发的成本,但是 Prompt 变化依然要重新发布。而 Nacos 解决的一大痛点就是就是配置“动态”,其提供的动态配置管理能力,天然契合 Prompt 快速调整优化的场景。通过将 Prompt 托管至 Nacos,无需重新编辑部署 Dify 工作流,只需要在 Nacos 中进行简单的配置内容变更,即可实现 Prompt 的动态调优。


依然是以 AI 导购为例,让我们看看如何实现 Prompt 的快速进化吧。


实践:AI 导购 Prompt 迭代

1. Prompts 托管至 Nacos

首先,我们要将 Prompt 迁移到 Nacos 上。在 Nacos 控制台上创建一个配置文件,DataId 为 Prompt.template,Group 为默认的 DEFAULT_GROUP,内容为 AI 导购 Prompt 模版对应的内容:

你是一个AI导购助手,请查看所有可用的工具,调用工具根据用户的需求给出相关的商品推荐列表,并查询在各个平台上对应的价格,给出性价比最高的选择




2. Nacos 插件安装和配置

为了从 Nacos 中读取 Prompt 动态配置,我们需要在 Dify 中安装 Nacos 插件,并配置插件的连接信息:


然后,让我们创建对应的工作流应用,在工作流中创建对应的读取nacos工具节点,配置 Prompt 配置的命名空间、配置 ID 和分组的信息


创建 Agent 节点,配置 Nacos MCP 工具列表,在指令一栏配置读取nacos工具节点的输出作为输入,查询一栏配置 sys.query 作为输入。


3. 动态变更 Prompt 实现快速迭代

通过以上两步,我们实现了 Nacos 对于 Dify 应用 Prompt 的托管,接下来即可实现在Dify应用运行时动态调整和迭代 Prompt。


首先,我们调用 AI 导购,希望他给我们一些露营的装备建议:

可以发现,Agent 根据 Prompt 的内容给我们返回了预期之内的结果。


但是,在应用实际上线之后,我们发现这些结果都是以文字格式展示的,客户反馈这种方式不够直观,希望调整为表格的形式展示。因此我们要对 Prompt 进行修改。没有 Nacos 时,我们需要修改Dify工作流并进行重新部署,而将 Prompt 托管到 Nacos上之后,我们只需要在 Nacos 控制台上修改对应的Prompt 内容为:

你是一个AI导购助手,首先查看所有可用的工具,调用工具根据用户的需求给出相关的商品推荐列表,并查询在各个平台上对应的价格,给出性价比最高的选择,以表格的形式进行展示

再次询问 AI 导购,发现结果根据我们 Prompt 的要求做了相应的调整,Prompt 变更成功生效了。


Nacos 还支持变更历史历史,在历史版本界面,可以查看所有使用过的历史 Prompt 版本,并进行回滚,这样即使 Prompt 效果不够满意,也可以一键复原:


此外, Nacos 插件中还包含了配置修改的工具,用户也可以在 专门的 Dify 应用中结合大模型的能力实现Prompt的自动优化。


03

高效运维,Nacos 托管 Dify .ENV 启动配置

Dify 平台拥有强大的功能,但也提升了其应用架构的复杂度,各个组件所用到的配置项数量繁多,难以管理。而目前,Dify 支持了将启动参数托管至 Nacos 中,通过读取 Nacos 中的配置获取启动参数。

  1. 采取源代码方式启动 Dify 服务
  2. 将.env 中的参数转移至 Nacos 配置中
  3. 在启动 API 服务时将以下环境变量进行注入
REMOTE_SETTINGS_SOURCE_NAME=nacos
DIFY_ENV_NACOS_SERVER_ADDR=<nacos_addr>
DIFY_ENV_NACOS_DATA_ID=<启动参数配置文件的data_id>
DIFY_ENV_NACOS_GROUP=<启动参数配置文件的分组>
DIFY_ENV_NACOS_NAMESPACE=<启动参数配置文件所在的命名空间>
DIFY_ENV_NACOS_USERNAME=
DIFY_ENV_NACOS_PASSWORD=
DIFY_ENV_NACOS_ACCESS_KEY=
DIFY_ENV_NACOS_SECRET_KEY=

在启动时,Dify 应用会从 Nacos 读取相应的配置。通过这种方式,基于 Nacos, 即可实现启动参数白屏化变更和历史版本管理,提高运维效率。


04

结语

Nacos 与 Dify 的结合,为生成式 AI 应用的开发效率与架构灵活性提供了新的解决方案。通过动态发现 Nacos MCP 服务,Dify 能快速集成标准化的模型工具接口,简化服务调用流程;借助 Nacos 托管 Prompt 配置,开发者无需重新部署即可实现提示词的实时优化,真正释放敏捷开发潜力;而 Nacos 对环境变量的集中管理,则进一步简化了 Dify 应用的运维复杂度,让 Dify 的部署配置更易维护和复用。这一整合不仅解决了 Dify 在 MCP 协议适配和动态配置管理上的痛点,也体现了云原生技术与 AI 开发工具的务实协作。


未来,随着 AI 应用场景的不断扩展,Nacos 将进一步的拥抱AI生态,从基础的配置管理和服务发现,到 MCP 生态的持续拓展和集成,再到多 Agent的协同,Nacos 将持续演进,帮助开发者提升效率,降低复杂环境下的开发与运维成本,让 AI 应用的构建更加高效、稳定。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅