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

43-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插件市场可以找到这个工具

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.如何使用

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

image-20250417131032122

env IP地址修改

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

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

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

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=5003EXPOSE_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=5003EXPOSE_PLUGIN_DEBUGGING_HOST

Read more

【C++ 多态】—— 礼器九鼎,釉下乾坤,多态中的 “风水寻龙诀“

【C++ 多态】—— 礼器九鼎,釉下乾坤,多态中的 “风水寻龙诀“

欢迎来到一整颗红豆的博客✨,一个关于探索技术的角落,记录学习的点滴📖,分享实用的技巧🛠️,偶尔还有一些奇思妙想💡 本文由一整颗红豆原创✍️,感谢支持❤️!请尊重原创📩!欢迎评论区留言交流🌟 个人主页 👉 一整颗红豆 本文专栏 ➡️C++ 进阶之路 礼器九鼎,釉下乾坤,多态中的 "风水寻龙诀" * 多态的概念 * 编译时多态(静态多态) * `编译时多态的实现方式有,函数重载,运算符重载和模板。` * 函数重载 `Function Overloading` * 运算符重载(`Operator Overloading`) * 模板(`Templates`) * 编译时多态的特点 * 静态绑定(`Static Binding`) * 类型安全(`Type Safety`) * 无运行时开销 * 代码膨胀(`Code bloat`) * 运行时多态(动态多态) * 认识虚函数(`Virtual function`

By Ne0inhk

【提升代码健壮性】:C++网络模块兼容性优化的7个关键步骤

第一章:C++网络模块兼容性概述 在现代分布式系统和跨平台应用开发中,C++网络模块的兼容性成为影响软件稳定性和可移植性的关键因素。由于不同操作系统(如Windows、Linux、macOS)在网络API设计上的差异,开发者常面临套接字接口不一致、字节序处理分歧以及库依赖冲突等问题。 跨平台网络接口差异 * Windows 使用 Winsock API,需显式调用 WSAStartup() 初始化网络环境 * Unix-like 系统采用 POSIX socket 接口,无需额外初始化 * 错误码获取方式不同:Windows 使用 WSAGetLastError(),而 Linux 使用 errno 抽象层设计建议 为提升兼容性,推荐通过封装统一接口隔离底层差异。例如: // 跨平台套接字初始化封装 int initialize_network() { #ifdef _WIN32 WSADATA wsa; return WSAStartup(MAKEWORD(

By Ne0inhk
C++【继承】

C++【继承】

继承 * 1.继承 * 1.1 继承的概念 * 1.2继承的定义 * 1.2.1定义格式 * 1.2.2继承基类成员访问方式的变化 * 1.3继承模板 * 2.基类和派生类之间的转换 1.继承 1.1 继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许我们在保持原有类特性的基础上进行扩展,增加方法(成员函数)和属性(成员变量),这样产生新的类,称派生类。 没使用继承的两个类Student和Teacher,Student和Teacher类里面都有姓名/地址/年龄/电话/住址等成员变量,都有identity身份证的成员函数,设计就开始冗余。 classStudent{public:// 进⼊校园/图书馆/实验室刷⼆维码等⾝份认证voididentity(){// ...}// 学习voidstudy(

By Ne0inhk

C++取余符号%

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 * 前言 * 一、核心结论:C++的`%`是**取余运算符**(而非数学上的模运算符) * 二、关于“正数/负数能否直接使用`%`”的说明 * 1. 正数场景:直接用,无任何问题 * 2. 负数场景:语法上可以直接用,但结果是**取余**(符号与被除数一致) * 三、如果需要在C++中实现**数学上的模运算**(负数需手动调整) * 1. 通用调整公式 * 2. 代码实现(封装成模运算函数) * 四、补充注意事项 * 总结 前言 c++的%是取余运算符是吗,如果做取余运算正数负数都可以直接使用,如果是取模运算负数时就要自己调整一下是吧 一、核心结论:C+

By Ne0inhk