新版dify(1.6.0及以上)使用MCP方法,保姆级教程
Dify 1.6.0版本对MCP模块进行了优化升级,新版MCP调用方式更简单高效。文章详细介绍了配置流程:首先通过FastMCP创建服务器(示例提供了数字占卜功能的Python代码),然后在Dify界面添加MCP服务(需注意本地Docker部署的特殊配置)。配置完成后,用户可在Agent或工作流中调用MCP工具,示例展示了如何将数字占卜工具集成到智能体中,并演示了通过ReAct策略进行问答交互的完
在dify1.6.0版本中,将MCP模块单独独立了出来,比起以前的MCP调用方式,新版的MCP调用方式更加简单,运行速度也更加效率。附一张dify1.6版本的更新介绍:

要如何使用新版MCP工具呢?我这里分享一下我自己的经验
1.配置新版的MCP服务:
我们进入dify的主页面,我们先点击上方工具栏的工具按钮,然后选择MCP,最后点击添加MCP服务。

点击添加服务按钮之后就来到了下面的界面,这里我们需要自己配置我们自己的MCP服务。
我这里自己写了一个例子,大家可以参考。

我们先运行MCP服务示例:
示例代码:
#!/usr/bin/env python3
"""
简单的MCP测试服务
功能:提供一个自定义运势计算工具
端口:8077
"""
from mcp.server.fastmcp import FastMCP
# 创建MCP服务器
mcp = FastMCP("simple-test-server", port=8077, host="0.0.0.0")
@mcp.tool()
async def number_fortune_teller(x: float, y: float) -> str:
"""
数字占卜师 - 根据两个神秘数字预测你的运势
参数:
- **x**: 第一个神秘数字
- **y**: 第二个神秘数字
返回:
str: 基于数字的神秘预测结果
"""
# 计算神秘指数
magic_number = abs(int((x + y) * 7.777)) % 1000
# 幸运动物预测
animals = ["🐉龙", "🦄独角兽", "🐧企鹅", "🦋蝴蝶", "🐙章鱼", "🦩火烈鸟", "🐨考拉", "🦔刺猬"]
lucky_animal = animals[magic_number % len(animals)]
# 今日运势
fortunes = [
"今天会遇到意想不到的惊喜!",
"小心!今天可能会掉进兔子洞",
"今天特别适合学习新技能",
"会收到来自远方的神秘消息",
"今天的咖啡会格外香醇",
"可能会遇到会说话的猫",
"今天适合穿亮色衣服",
"会发现隐藏的宝藏(可能是袜子)"
]
today_fortune = fortunes[magic_number % len(fortunes)]
# 幸运数字
lucky_num = (magic_number * 3 + 42) % 100
# 奇怪的建议
advice = [
"多吃紫色的食物", "倒着走7步", "对镜子眨眼3次",
"给植物唱歌", "用左手刷牙", "数一数天空中的云朵",
"向路过的狗狗问好", "在11:11许个愿"
]
weird_advice = advice[magic_number % len(advice)]
result = f"""
🔮 数字占卜结果 🔮
━━━━━━━━━━━━━━━━━━━━━━━━━
📊 输入数字: {x} 和 {y}
✨ 神秘指数: {magic_number}
🍀 幸运动物: {lucky_animal}
🌟 今日运势: {today_fortune}
🎯 幸运数字: {lucky_num}
💡 神秘建议: {weird_advice}
━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ 此预测仅供娱乐,请勿当真 ⚠️
"""
return result
if __name__ == "__main__":
print("启动简单MCP测试服务...")
print("服务器地址: http://0.0.0.0:8077")
print("SSE端点: http://localhost:8077/sse")
print("使用本地docker启动的dify使用:SSE端点: http://host.docker.internal:8077/sse")
print("可用工具:")
print("- number_fortune_teller: 数字占卜师(根据数字预测运势)")
mcp.run(transport="sse")
运行该代码之后即可启动MCP服务,运行之后的终端输出如下:
这个示例的作用就是提供一个自定义运势计算工具

我们启动MCP服务之后再去回到刚刚dify的配置页面:
! ! ! 注意:如果你的dify是通过docker部署在自己本地的话,同时你的服务端也是在本地启动的
那么你的服务端点要修改为:
http://host.docker.internal:8077/sse
其中,8077为你自己指定的端口号。我自己的配置界面如下:名称和图标自己填一下就行,服务器标识符自己随便取一个名字就行。

然后我们点击保存,可以看到右侧出现了我们配置好的MCP服务中的工具列表:
到此为止,我们的MCP服务已经配置成功了,可以愉快的进入下一步了。
2.在Agent中使用MCP工具
创建智能体
我们在工作区中创建一个新的智能体:

添加MCP工具:
点击添加,然后点击MCP,选择我们的 运势测试MCP服务,然后点击我们需要用到的工具,这里点击number_fortune_teller就可以完成MCP工具的添加了。

然后我们配置一下提示词,在进行问答,他就可以调用工具了:

在工作流中使用MCP
我们创建一个简单的工作流 :

然后点击agent,进行配置:策略使用的是ReAct策略,如果没有策略选项的话,需要去插件页面进行下载。然后我们点击工具列表旁边的 + 号

然后对弹出的工具页面进行配置:选择到运势测试MCP服务,然后点击需要的工具函数:

关于agent的提示词写的合理即可。
然后我们进行提问:

回答如下:

更多推荐
所有评论(0)