在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的提示词写的合理即可。

然后我们进行提问:

回答如下:

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐