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++---红黑树】在编程的浩瀚星空中,C++犹如一颗璀璨的星辰,以其独有的韵律和节奏,吟唱着智慧与创造的赞歌。它不仅仅是代码的堆砌,更是思维与艺术的交融,引领着无数追梦者,在数字的世界里翩翩起舞。

红黑树实现 * 1. 红⿊树的概念 * 1.1红黑树的规则 * 1.2路径问题 * 1.3 红⿊树如何确保最⻓路径不超过最短路径的2倍的? * 1.4 红⿊树的效率 * 2 红⿊树的实现 * 2.1 红黑树大致结构 * 首先:对于颜色来说,我们可以用枚举实现红和黑 * 其次:对于红黑树的结点,需具备以下结构(假设我们用pair<K,V>类型来实现红黑树): * 最后:在实现红黑树的整体结构 * 2.2 红黑树插入 * 2.2.1 红⿊树树插⼊⼀个值的⼤概过程 * 2.2.2

By Ne0inhk

c++新手 使用trae 搭建c++开发环境,提示不支持cppdbg

Trae IDE搭建C++开发环境完全指南:从0到1的实战经验分享 **【补充: 今天偶然翻到一篇文章,就在我解决Trae无法调试C++的问题之后,我发现的。贴出来,告诉大家为什么无法在trae中调试C++。 下面两篇文章的大致是说微软不让第三方使用官方开发的C++插件。 微软开始发力了,Trae用不了最新版的c++插件了 (https://zhuanlan.zhihu.com/p/1907744061080733167) trae插件安装官方文档 https://docs.trae.cn/ide/manage-extensions trae 的文档也侧面证实了这个消息,并以及给出了解决方案。】** 🔥 前言:从Java到C++的转型之旅 大家好,我是一名从Java转型C++的全栈开发者。最近尝试使用Trae IDE(基于VSCode开发的智能编程工具)搭建C++开发环境时,遇到了不少"坑"——从插件安装失败、配置文件报错到依赖库编译错误,踩了很多坑。

By Ne0inhk
【C++笔记】类与对象(进阶)

【C++笔记】类与对象(进阶)

前言:           在前文中,我们已经系统地学习了类与实例化对象的概念定义、语法结构和核心特性。本文将深入探讨类与对象的默认成员函数,其中以下四个方面最为关键:构造函数、拷贝构造函数、析构函数以及操作符重载。                  一、类的默认成员函数          定义:默认成员函数就是用户没有显式实现,编译器会⾃动⽣成的成员函数称为默认成员函数。                  在⼀个类中,如果我们不显示编写的情况下,编译器会默认⽣成以下4个重要的默认成员函数:          默认成员函数是C++中重要且复杂的知识点,需要从两个维度进行掌握:          ①了解编译器自动生成的默认函数行为及其适用性          ②当编译器自动生成的默认函数无法满足需求时,掌握自定义实现的方法                   二、构造函数          什么是构造函数?                  你可以把构造函数想象成产品的“出厂设置”,当你根据图纸(类)生产出一个新零件(对象)时,构造函数

By Ne0inhk
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)

JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)

目录 JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码) 一、什么时候该使用Array.map(),与forEach()的区别是什么? 1、什么时候该用Array.map() 2、Array.map()与Array.forEach()的区别 二、Array.map()的使用与技巧 1、基本语法 2、返回值 3、使用技巧 三、Array.map()的应用领域与实际案例 1、数据转换与应用函数 2、创建派生数组 3、链式调用 4、异步数据流处理 5、

By Ne0inhk