跳到主要内容

获取更多AI技术与应用的第一手资讯,包括大语言模型、AI框架、算法等热门内容。 我们会定期推送高质量的AI知识、工具使用指南和行业动态。

微信公众号二维码

Dify MCP 实战一

用插件一分钟搞定MCPServer含时间踩坑实践 在之前的mcp实战中,都是通过客户端、或者代码来实现的,很多朋友,有朋友就问了,在dify中怎么使用mcp?

我第一个想法就是直接接口调用,第二个想法就是dify中的插件。

我直接打开了 Dify 的插件市场,搜了一下 MCP,惊喜地发现:

目前主要有这几类插件:

  • • ✅ ReAct(支持MCP工具) :Agent 工具调用用它
  • • ✅ MCP Server :把 Dify 工作流变成 MCP 服务(下篇讲)
  • • ✅ AntV 可视化图表 :数据展示(下下篇预告)

创建应用


在dify中,三种应用支持mcp的调用: 工作流 Chatflow Agent 。整体来说,mcp服务的调用都是在agent中调用的,一种是在工作流的 agent 节点中调用,一种是直接在 Agent 智能助手中调用。

工作流中调用 MCP

我们可以通过 Dify 的 ** 工作流(Workflow) ** 模式快速接入 MCP 工具,我设想的流程

实际测试中只需要agent节点即可。

创建一个工作流(Chatflow也是一种特殊的工作流)。

  • • 点击开始节点 1 位置的 + ,添加 2 Agent
  • 1 在agent策略里,选择安装的安装的插件的 ReAct(支持MCP工机具) ,见图上 2
  • 3 填入上次我们开发的 ops-mcp-server 地址,注意:不要填写127.0.0.1
  • 4 把mcp提示词作为工具(根据实际情况来)
  • 5 填写提示词
  • 6 填写输入请求

    把agent的输出作为用户提示词给大模型。

    第一次调试没出结果。我看了下详情,agent自己汇总了报告,我把 LLM 节点去掉。


再次执行数据缺失,一般是时间的问题。

点开agent策略的详情,看第一步发现是 16 开头的时间,明显不对,

然后转换下,2023年......

在工具列表中,增加 获取当前时间 工具,注意提示词的调整。

两个问题

  • • 获取的时间并不是北京时间
  • • 实际查询普罗米修斯数据的时候,时间还是不对,差了一年的时间

  • • 在 1 的位置是有个设置图标的,点击
  • • 在 2 的位置调整时区为 亚洲/上海 ,默认是UTC

  • • 额外增加一个 获取时间戳 的工具
  • • 调整 agent 最大迭代次数为 10
  • • 在提示词中添加要求,必须基于获取的当前时间计算
  • • 最终将时间掰过来了,同时也生成了报告

注意:

  • • 在mcp中使用时间的时候,一定要添加时间工具,并用提示词做限定,要不然容易跑偏
  • • dify 1.5.0的调试功能并没有适配Agent,只有结果,没有过程,每次都是重新调用

Agent中调用MCP

如果你不需要流程图的形式,也可以直接用 Dify 的智能助手(Agent)进行 MCP 调用。

添加 MCP 工具和时间工具 → 配置提示词 → 输入问题 → 一次就能跑出结果:


一次就跑出了结果,没有要求必须markdown,给的是json。
可以通过日志追踪迭代过程。

Dify 插件方式调用 MCP 的优势

  • • 不需要写一行代码,真正图形化操作
  • • 插件集成快,适合部署好的 MCP 服务复用
  • • MCP Server 插件可以反向把 Dify 应用暴露成服务(进阶玩法)
  • • 调试过程虽然目前不支持 Agent 全链路调试,但借助变量监控和输出重构也能高效定位

在线 MCP 工具推荐

平台地址
官方 GitHubhttps://github.com/modelcontextprotocol/servers
魔搭社区https://modelscope.cn/mcp
阿里百炼https://bailian.console.aliyun.com/console?tab=mcp\#/mcp-market
Aibase MCP 专区https://www.aibase.com/zh/repos/topic/mcp