要说最近 AI 圈子里什么最火?那必须是 MCP 啊!
你看,像腾讯云、阿里百炼、字节扣子空间、纳米搜索这些厂商,都跟商量好了似的,纷纷推出了自家的 Agent 平台,而且不约而同地都把 MCP 给“安排”上了,直接集成到 Agent 里,这阵仗,简直是神仙打架,凡人懵逼 。
Trae 里面也支持直接调用 MCP 了。
我甚至都没来的及全部测试过,看到大厂也这么卷,我就放心了!果然高工资也不是那么好拿的。
接下来聊一下今天的主角—Dify。
Dify 在比较早的时候就已经推出了 MCP 的插件。
当时我还写过一篇文章,介绍了 Agent 中调用 MCP 的用法,不过还远远不够,很多人问了各种问题,比如工作流怎么调用,怎么调用多个 MCP Server?
今天刚好把 Dify 里 MCP 的各种姿势汇总一下。
这次案例都只是“抛砖引玉”,比较简单,保证小白上手就能操作。
其实大的方向就是两种玩法:
1、调用 MCP
2、把 dify 自己发布成 MCP
一、在应用中调用 MCP
在 Dify 中可以创建聊天助手、Agent、文本生成应用、对话流、工作流 5 种。
其中 Agent、对话流、工作流中均可以调用 MCP Server,后续逐一展开讲解。

1.1 在 Agent 中调用 MCP
1.1.1 安装插件
在 Agent 中调用 MCP 首先得安装个【MCP SSE】的插件。
点击右上角插件,选择从 Marketplace 中安装,搜索 mcp,找到【MCP_SSE】,点击安装。

在插件中找到刚才安装的【MCP SSE】,选择去授权。

更改为我们要设置的 MCP Server 的 SSE 地址。

今天以高德地图为例,所以要更改为高德地图的 SSE 地址。
{ "amap-amap-sse": { "url": "https://mcp.amap.com/sse?key=你的高德API KEY", "headers": {}, "timeout": 60, "sse_read_timeout": 300 } }
之前有很多小伙伴问是否可以在这个插件中设置多个 MCP Server?
是可以的哦,比如我们想增加一个 fetch 的 MCP Server,那么我们就在这个 JSON 中高德地图后面再添加一个就可以了。
{ "amap-amap-sse": { "url": "https://mcp.amap.com/sse?key=你的高德API KEY", "headers": {}, "timeout": 60, "sse_read_timeout": 300 }, "fetch": { "url": "fetch的SSE地址", "headers": {}, "timeout": 60, "sse_read_timeout": 300 } }
1.1.2 获取高德地图 API KEY
之前的文章已经讲过了,可以参考。
链接地址:<别再造轮子了!Dify+MCP+DeepSeek开发实战保姆级教程>
1.1.3 测试
测试一个简单的问题,这个是需要用到高德地图的天气预报工具。
| 北京未来三天的天气情况 |
|---|

把插件中的这两个工具都添加进去。

提示词:可以在提示词中明确指出先获取工具列表,在选择合适的工具。
这样可以节约大模型的思考时间。
| 你是一个超级助理,可以根据用户输入的指令来回答问题。在回答问题前需要判断是否需要调用高德MCP工具来帮助你完成任务。调用MCP工具时先获取工具列表,在选择合适的工具来回答。 |
|---|
可以看到调用了高德的天气函数。

不得不说,用 chatgpt 的模型确实效果好些。上面的案例用的模型是 gpt-4o-mini。
下面是 DeepSeek 的测试结果:
DeepSeek 真的很喜欢在测试中搞点英文出来呀。
难怪之前我群里的小伙伴吐槽怎么弄出的都是英文。

1.2 在对话流中调用 MCP
整体流程非常简单,包含开始节点、Agent 节点、直接回复节点。
整体功能就是调用 Fetch 这个 MCP Server,总结获取到的网页内容。

【开始节点】默认配置即可。
【直接回复节点】引用 Agent 节点的输出 text。
1.2.1 安装插件
在开始配置 Agent 节点之前,首先需要安装一个 Agent 策略相关的插件。
可以在市场中搜索 mcp,找到下图中【Agent 策略(支持 MCP 工具)】,点击安装。

安装完成后可以查看一下这个插件的信息。支持 MCP SSE 发现和调用工具,那么我们就需要找支持 SSE 安装的 MCP Server。

1.2.2 获取 Fetch SSE 地址
我就在阿里魔搭社区中找一个支持 SSE 方式的 MCP Server 来测试。
第一个 Fetch 网页内容抓取使用量最大,就用这个测试一下。

进入 Fetch 网页内容抓取详情页,在右侧得到 SSE 的 URL

URL 地址要保存好,后续配置 Agent 节点用。
{ "fetch": { "url": "https://mcp--af73-441a.api-inference.modelscope.cn/sse", "headers": {}, "timeout": 60, "sse_read_timeout": 300 } }
1.2.3 配置 Agent 节点
Agent 节点整体配置如下:

Agent 策略就选择上面安装插件【Agent 策略(支持 MCP 工具)】中的 ReAct 策略。

模型我这里选择 DeepSeek V3。
MCP 服务配置:
url 替换为你在阿里魔搭中获得的 url 地址。
{ "fetch": { "url": "https://mcp--af73-441a.api-inference.modelscope.cn/sse", "headers": {}, "timeout": 60, "sse_read_timeout": 300 } }
指令我这里就用简单一点
| 调用mcp服务回答我的问题 |
|---|
查询引用开始节点的系统查询参数。
1.2.4 配置直接回复节点
这里比较简单,直接引用 Agent 节点的输出就可以了。

1.2.5 测试
这两天比较火的新闻就是京东大战美团。
以东哥这篇新闻报道来测试一下:

| 总结抓取的网页内容并用中文回答:https://www.ithome.com/0/847/857.htm |
|---|

展开工作流可以看到各个节点的输出。

展开 Agent 节点,看一下 Agent 策略执行的详情。

点击 ROUND1 进去,看到两条执行日志。点进右侧箭头查看。

终于看到调用了 Fetch 的 MCP 了。

说起来也是搞笑,本来没把用中文回答加进去,结果测试过程中各种给我用英文回答。。。
今天中午还点了个京东外卖,速度挺快的,不是东哥派送,不开心!
1.3 在工作流中调用 MCP
整体流程也是非常简单,包含开始节点、Agent 节点、结束节点。
工作流和对话流非常类似,基本一致。

1.3.1 开始节点配置
和刚才对话流不同的是开始节点需要设置一个输入字段,本示例为 query。

1.3.2 Agent 节点配置
与对话流一致即可。

1.3.3 结束节点配置
输出变量引用 Agent 节点的 text 输出。

1.3.4 测试
还是以东哥这篇新闻报道来测试一下:
| 总结抓取的网页内容并用中文回答:https://www.ithome.com/0/847/857.htm |
|---|

可以看到正确解析了文章内容并给出了总结。

二、把 Dify 发布为 MCP
需要安装【mcp-server】的插件。

然后把我们创建的应用发布成 MCP Server 就可以了。

具体用法参考之前写过的文章:
链接地址:<Dify+MCP新玩法,AI工作流一键发布为MCP Server,可被外部调用>
好了,关于在 Dify 里怎么玩转 MCP 的各种姿势,今天就先介绍到这里。这篇文章更像是一个“开胃菜”,希望能给大家带来一些启发 。
当然,除了直接使用支持 SSE 的 MCP Server,你还可以更进一步:把现有的项目下载到本地,自己动手开启 SSE 通信方式的 MCP 服务 。
这样一来,你就摆脱了只能使用现有 SSE 服务的限制,可以连接更多类型的 MCP,玩法更加自由,真正实现“我的地盘我做主” !
发布者:Ai探索者,转载请注明出处:https://javaforall.net/251200.html原文链接:https://javaforall.net
