dify案例分享-MCP-Server让工作流秒变第三方可调用服务

大模型向量数据库云存储
1.前言

之前我们为大家介绍过MCP SSE插件,它能够支持MCP-server在Dify平台上的调用,从而帮助Dify与第三方平台提供的MCP-server进行无缝对接。有些小伙伴提出了疑问:既然Dify可以通过MCP SSE插件调用其他平台的MCP-server,那么Dify的工作流或Chatflow是否也能发布为MCP-server,供其他支持MCP client的工具使用呢?今天,我们将为大家介绍一款Dify插件——mcp-server,它能够实现这一功能,即将Dify的工作流或Chatflow发布为MCP-server,供其他第三方工具调用。

插件名字叫做MCP-server,我们在dify插件市场可以找到这个工具

picture.image

image-20250417130824181

Mcp-server 是一个由 Dify 社区贡献的 Extension 类型插件。安装后,你可以把任何 Dify 应用转变成符合 MCP 标准的 Server Endpoint,供外部 MCP 客户端直接访问。它的主要功能包括:

  • • **暴露为 MCP 工具:**将 Dify 应用抽象为单一 MCP 工具,供外部 MCP 客户端(如 Cursor、Claude Desktop、Cline,Windsurf、Dify 等)调用。
  • • **利用 Dify Endpoint 功能:**用户创建应用 Endpoint 后,将获得唯一的 URL,外部 MCP 客户端可直接通过该 URL 连接。
  • • **提供 MCP 服务:**插件在 Dify 插件环境中自动启动 HTTP 服务,基于 HTTP 和 SSE 协议,高效处理外部 MCP 客户端请求,包括协议握手、能力发现以及工具调用。
2.如何使用

我们在插件市场上安装好这个插件。安装好后可以在插件列表中查找到,如下图。

picture.image

image-20250417131032122

env IP地址修改

接下来我们需要配置MCP-server,这个配置的地方我们需要注意,既然这个工具是对外提供服务的,那么我们就希望在互联网或者局域网实现访问。所以我们需要修改一下dify .env文件的配置,找到你本地电脑上的.env文件,这里我们方便讲解就拿官方的

https://github.com/langgenius/dify/blob/main/docker/.env.example 给大家介绍一下修改的地方

我们搜索到.env.example 文件 1001 行找到如下配置

picture.image

image-20250417131439622

我们需要把 EXPOSE_PLUGIN_DEBUGGING_HOST 、ENDPOINT_URL_TEMPLATE 这2个地方的localhost 换成你的局域网IP或者公网IP

我的公网地址是14.103.204.132

原地址


 
 
 
 
   
PLUGIN\_DEBUGGING\_HOST=0.0.0.0  
PLUGIN\_DEBUGGING\_PORT=5003  
EXPOSE\_PLUGIN\_DEBUGGING\_HOST=localhost  
EXPOSE\_PLUGIN\_DEBUGGING\_PORT=5003  
  
# If this key is changed, DIFY\_INNER\_API\_KEY in plugin\_daemon service must also be updated or agent node will fail.  
PLUGIN\_DIFY\_INNER\_API\_KEY=QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1  
PLUGIN\_DIFY\_INNER\_API\_URL=http://api:5001  
  
ENDPOINT\_URL\_TEMPLATE=http://localhost/e/{hook\_id}

修改后地址


 
 
 
 
   
PLUGIN\_DEBUGGING\_HOST=0.0.0.0  
PLUGIN\_DEBUGGING\_PORT=5003  
EXPOSE\_PLUGIN\_DEBUGGING\_HOST=14.103.204.132  
EXPOSE\_PLUGIN\_DEBUGGING\_PORT=5003  
  
# If this key is changed, DIFY\_INNER\_API\_KEY in plugin\_daemon service must also be updated or agent node will fail.  
PLUGIN\_DIFY\_INNER\_API\_KEY=QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1  
PLUGIN\_DIFY\_INNER\_API\_URL=http://api:5001  
  
ENDPOINT\_URL\_TEMPLATE=http://14.103.204.132/e/{hook\_id}

我公网服务器地址修改截图如下

picture.image

image-20250417131713711

修改之后,记得重启dify

chatflow案例配置介绍

上面配置完成并重启好dify工作流后。我们进入dify工作台-插件-MCP-server 配置界面

picture.image

image-20250417131948177

默认这里是空的,我这里是之前配置好的,所以显示了2个。

上期文章中我们使用了dify 实现了一个PPT chatflow的制作,我们就拿上期文章的案例来做成一个mcp-server对外提供服务。

关于上期文章大家可以看这个《dify案例分享-借助插件 3 步打造惊艳 PPT 生成工作流!

点击右上角+号,弹出配置。

picture.image

image-20250417132352675

在 mcp-server 插件的配置页面,填写以下内容:

  • • **端点名称:**端点 名称。
  • • **App:**选择要发布为 MCP Server 的 Dify 应用。
  • • **App Type:**应用类型(Chat 或 Workflow)。
  • • **App Input Schema:**定义应用的输入参数,帮助外部系统理解与该应用的交互方式,格式为 JSON。可以参考我下面的截图

picture.image

image-20250417132526689

其中APP 应用里面可以从我们之前dify制作好的工作流选择我们需要发布的应用(Chat 或 Workflow),我们这里选择“儿童故事绘本-ppt chatflow” 如下图

picture.image

image-20250417132624826

最后一个App Input Schema 稍微麻烦点,大家可以看参考我下面的


 
 
 
 
   
{  
    "name":"pptchatflow",  
    "description":"儿童故事绘本-ppt chatflow",  
    "inputSchema":{  
        "title":"儿童故事绘本-ppt chatflow",  
        "type":"object",  
        "properties":{  
            "prompt":{  
                "title":"儿童故事绘本-ppt chatflow",  
                "description":"本工作流流(chatflow)可以实现大语言模型创建内容后调用agent 从而实现PPT的制作功能",  
                "type":"string"  
            }  
        },  
        "required":[  
            "prompt"  
        ]  
    }  
}

其实关键点在 properties 和required 属性,这2个值就是你对外提供工作流的输入参数。那么具体填什么值呢? 和你工作流输出参数有关。我们回到我的儿童故事绘本-ppt chatflow 工作流中

picture.image

image-20250417133107545

我这里就一个输入参数叫做“prompt”,所以我们添加的 properties 和required 属性 值就是 prompt。这样大家就能理解了吧。

完上传配置点击保存按钮,这个时候我们就可以看到如下面画面

picture.image

image-20250417133243597

显示服务正常,这样MCP-server对外提供服务了。 那么问题来了,我怎么 证明他可以使用呢?

它对外提供2个地址 get 和post请求。地址如下:


 
 
 
 
   
http://localhost/e/56uageiwt2ezf8e9}/sse  
http://localhost/e/56uageiwt2ezf8e9}/messages/

这地方其实是有坑的。还记得前面提到我们修改.env文件把localhost 改成公网地址14.103.204.132,为什么这地方显示不出来呢?

我当时也是找了半天的原因。这个地方如果显示localhost 其实可以不用去管它。我们可以重新修改地址localhost 换成IP。

另外还有一个地方就是生产的地址56uageiwt2ezf8e9} 后面是有一个右边单括号的”}”的,这里我们也是需要去掉。修改后的地址如下


 
 
 
 
   
http://14.103.204.132/e/56uageiwt2ezf8e9/sse  
http://14.103.204.132/e/56uageiwt2ezf8e9/messages/

我们把上述地址get 请求地址在浏览器上输入验证一下,确保客户端网络能够访问这个MCP-server

picture.image

image-20250417133929184

出现了


 
 
 
 
   
event: endpoint  
data: messages/?session\_id=a21bbc543af2402f902850ec34433ae4

这个时候证明我们网络是通的,对外是可以访问的。

Cherry Studio验证及测试

接下来我们找一个支持mcp-client工具,就拿Cherry Studio验证吧。打开电脑上安装的Cherry Studio 升级最新版本(建议)我的版本是

1.2.4

picture.image

image-20250417134335249

我们找到 mcp服务器配置-点击添加服务器

picture.image

image-20250417134415684

这个配置SSE 非常简单,填写名称和 sse URL地址即可

picture.image

image-20250417134525835

配置完成后点击保存。

回到cherry studio 聊天对话窗口,我们选择一个带有function call的模型,这里我们就选择 火山引擎提供的deepseek-v3模型,勾选MCP- server

picture.image

image-20250417134733272

聊天窗口中我们输入“


 
 
 
 
   
喜羊羊与灰太狼

picture.image

image-20250417134822901

模型会调用 名称叫做pptchatflow 的,我们点开它 确实是调用了我们dify 之前做的额PPT生成的工作流了。

picture.image

image-20250417134904534

PPT 没给我提供下载,我继续

picture.image

image-20250417134951935

他也给我把PPT地址提供链接显示出来了。 这个我们需要注意的事情,我们点击链接其实是下载不了的。为什么呢?

可能小伙伴会问了, 因为我们之前的案例PPT 生成在容器内部,DIFY安全方面的考虑第三方链接是下载不到这个PPT的,如果想解决它怎么办? 聪明的小伙伴已经想到了,在上期工作流中我们生成的PPT可以借助于第三方平台,比如腾讯COS 实现PPT 的上传,然后返回PPT公网访问的下载链接地址,这样不管是在DIFY 平台上还是第三方平台上就可以实现这个链接地方访问和下载了。感兴趣小伙伴可以参考我们之前的文章来实现。这里我们就不展开了。

workflow案例配置介绍

前面给大家介绍了是chatflow配置,接下来我们在介绍一下workflow的配置,这个配置和上面的非常类似,区别地方就是我们选择

**App Type:**应用类型( Workflow)。

这里我们拿我之前的即梦AI绘画工作流给大家讲解。

picture.image

image-20250417135552429

这个地方重点其实还是App Input Schema

我的配置如下


 
 
 
 
   
{  
    "name":"Dream AI Painting",  
    "description":"本工作流主要是使用开源jimeng-free-api项目实现即梦AI逆向API 通过http请求整合实现dify工作流上即梦AI绘画功能",  
    "inputSchema":{  
        "title":"即梦AI绘画",  
        "type":"object",  
        "properties":{  
            "prompt":{  
                "title":"即梦AI绘画",  
                "description":"本工作流主要是使用开源jimeng-free-api项目实现即梦AI逆向API 通过http请求整合实现dify工作流上即梦AI绘画功能",  
                "type":"string"  
            }  
        },  
        "required":[  
            "prompt"  
        ]  
    }  
}

这个地方和上面一样,我也只有一个prompt 输入参数。

配置完成后效果如下

picture.image

image-20250417135805758

URL 地址和前面也是一样,这里就不在重复赘述。

最终对外提供的 URL 如下


 
 
 
 
   
http://14.103.204.132/e/boaavozuvj5w3dk9/sse  
http://14.103.204.132/e/boaavozuvj5w3dk9/messages/

上面我们同样可以使用Cherry Studio验证及测试,具体配置就不详细展开,我们给大家看一下效果

picture.image

image-20250417140106541

picture.image

image-20250417140124158

我们知道我之前做的即梦AI 绘画一次性返回4张图。 这里我们就借助第三方工具cherry studio 实现DIFY 工作流生成AI绘画的功能了。

魔搭社区SSE验证及测试

前几天魔搭社区已提供了一站式SSE 托管平台,我们接下来可以在这个平台上演示一下我们的即梦AI 工作流SSE

用账号登录魔搭社区,进入首页,点击右边“MCP广场”

picture.image

image-20250417140510758

picture.image

image-20250417140542066

点击MCP 实验场,进入 MCP Playground

picture.image

image-20250417140641504

我们点击配置按钮,添加MCP server

picture.image

image-20250417140717586

picture.image

image-20250417140813608

点击确定按钮完成保存设置。

picture.image

image-20250417140922844

回到试验场,我们就可以测试了。

picture.image

image-20250417141329830

picture.image

image-20250417141359077

同样它生成了4张风格不一样的图。

我在dify工作流中也能够看到魔搭社区MCP-client端发起了调用产生了调用记录。

picture.image

image-20250417141628003

以上我们就完成了魔搭社区SSE 和我们dify MCP-server 提供的即梦AI绘画工作流整合和调用了。

是不是非常简单,呵呵。

3.分享和体验地址

前面步骤教会大家如何配合和部署dify-mcp-server,有的小伙伴不想去折腾,我们这里也提供大家我制作好的mcp-server地址,方便大家体验和使用。当然感兴趣小伙伴最好还是自己去参考上面的文章增加搭建一下,体会很更深,也能很好的理解mcp-server和mcp-client

体验地址:

即梦AI绘画

http://14.103.204.132/e/boaavozuvj5w3dk9/sse

儿童故事绘本-ppt chatflow

http://14.103.204.132/e/56uageiwt2ezf8e9/sse

4.总结

今天主要带大家了解并实现了将 Dify 的工作流或 Chatflow 发布为 MCP - server,供其他第三方工具调用的功能。借助 Dify 社区贡献的 MCP - server 插件,实现了把 Dify 应用转变为符合 MCP 标准的 Server Endpoint 的过程。本次操作涉及到 Dify 平台的使用、MCP - server 插件的安装与配置,以及对工作流输入输出参数的理解和设置等知识。整个过程虽有一些小细节需要注意,但操作本身并不复杂,感兴趣的小伙伴可以去尝试。今天的分享就到这里结束了,我们下一篇文章见。

dify案例分享-借助插件 3 步打造惊艳 PPT 生成工作流!

dify案例分享-基于database插件实现Text2sql的数据库查询图表工作流

dify独家揭秘:mcp_sse+Zapier_MCP如何打造轻量级MCPserver达成万物互联

dify案例分享-惊艳!Dify 助力,一键实现人物头像风格大变身

Dify 实战:纯内网1.0+版本,攻克模型工具插件离线安装难题

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论