你是否曾为重复搭建相同的工作流而烦恼?是否希望将已有的Dify工作流快速复用到其他场景?本文将带你一步步实现Dify工作流→MCP工具的转换,让AI能力像“积木”一样灵活调用!
一、背景:为什么需要将Dify工作流转为MCP工具?
想象一下:你用Dify搭建了一个“生成天气邮件”的工作流,但每次需要调用时都要重复配置。MCP协议就像“AI界的USB接口”,让你的工作流秒变可调用工具,支持跨平台复用(如某Cursor、某DeepSeek等)。
核心价值:
- 复用性:一次开发,多场景调用。
- 标准化:统一接口,降低集成成本。
- 智能化:AI自动识别工具并调用。
二、实战步骤:三步将Dify工作流转为MCP工具
步骤1:Dify工作流发布为工具
- 进入Dify控制台:
- 找到已搭建的“生成天气邮件”工作流,点击“发布”。
- 输入工具名称(如
weather_email_generator
)和描述,设置输入参数(如city
、subject
)。 - 关键点:参数需与工作流输入字段一致,否则调用时会报错。
- 生成工具ID:
- 发布后,系统会返回工具ID(如
tool_123
),记录备用。
步骤2:安装配置MCP插件
- 发布后,系统会返回工具ID(如
- 安装MCP-server插件:
- 进入Dify插件市场,搜索“MCP-server”,安装后进入配置界面。
- 配置示例:
{ "端点名称": "天气邮件工具", "App": "weather_email_generator", // 工作流名称 "App Type": "Workflow", "App Input Schema": { "type": "object", "properties": { "city": {"type": "string", "description": "城市名称"}, "subject": {"type":0"string", "description": "邮件主题"} }, "required": ["city", "subject"] } }
- 修改Dify环境变量:
- 找到Dify的
.env
文件,将EXPOSE_PLUGIN_DEBUGGING_HOST
和ENDPOINT_URL_TEMPLATE
中的localhost
改为服务器IP,确保外部可访问。
步骤3:获取MCP链接并调用
- 找到Dify的
- 生成MCP服务地址:
- 配置完成后,插件会生成一个URL(如
https://your-server.com/sse
),复制此链接。
- 配置完成后,插件会生成一个URL(如
- 在外部工具中调用:
- 以某Cursor为例,在其MCP配置中添加:
{ "mcpServers": { "weather_email": { "url": "https://your-server.com/sse" } } }
- 测试调用:输入“生成北京天气邮件”,AI会自动调用你的Dify工具,返回邮件内容。
- 以某Cursor为例,在其MCP配置中添加:
三、案例实战:生成天气邮件全流程
场景:用户说“发一封明天北京天气的会议提醒邮件”。
MCP流程:
- 意图识别:AI解析出“天气查询”和“邮件生成”需求。
- 工具调用:
- 调用Dify的天气API工具获取数据。
- 调用已发布的邮件生成工具,填入数据。
- 结果整合:生成邮件并发送,反馈给用户。
四、技术进阶:MCP的隐藏优势
- 跨平台复用:同一工具可被某DeepSeek、某Cherry Studio等调用。
- 动态参数:支持根据用户输入动态调整参数(如自动补全城市名称)。
- 安全可控:通过JWT令牌限制调用权限,防止未授权访问。
五、总结:从“单打独斗”到“工具复用”
通过MCP协议,Dify工作流不再是“一次性工具”,而是成为可复用的“AI积木”。无论是个人开发者还是企业团队,都能快速构建高效协作的AI生态。