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

Linux的基本命令

1. 查看当前位置和文件 pwd  #查看当前路径 ls      #查看当前目录下文件 ls  -l  #显示当前目录下详细信息 ls  -a #显示当前目录下的隐藏文件 ls. -la #显示当前目录下的所有文件详细信息 2. 切换目录 cd 文件名  #进入文件夹 cd ..           #返回上一级 cd ~           #回到用户主目录 cd -            #回到刚才得目录 cd /a/b/c.   #进入绝对路径 cd a           #进入相对路径 3. 创建与删除 mkdir xxx         #创建文件夹名为xxx mkdir -p a/b/c    #创建多级文件夹 touch main.py.  #创建文件

By Ne0inhk
【仿Mudou库one thread per loop式并发服务器实现】服务器边缘测试+性能测试

【仿Mudou库one thread per loop式并发服务器实现】服务器边缘测试+性能测试

服务器边缘测试+性能测试 * 1. 长连接连续请求测试 * 2. 超时连接释放测试1 * 3. 超时连接释放测试2 * 4. 超时连接释放测试3 * 5. 数据中多条请求处理测试 * 6. PUT大文件上传测试 * 7. 服务器性能测试 #include"httpserver.hpp"#defineWWWROOT"./wwwroot" std::string RequestStr(const HttpRequest &req){ std::stringstream ss; ss << req._method <<" "<< req._path <<

By Ne0inhk
【Linux系统编程】(四十二)吃透线程互斥!从原理到实战,手把手教你玩转 Linux 下的互斥锁

【Linux系统编程】(四十二)吃透线程互斥!从原理到实战,手把手教你玩转 Linux 下的互斥锁

目录 前言 一、线程互斥的核心概念:搞懂这些,才算入门 1.1 共享资源与临界资源 1.2 临界区 1.3 互斥的定义 1.4 原子性:互斥的底层要求 二、多线程共享资源的坑:亲眼看看问题出在哪 2.1 问题代码:未加互斥的售票系统 2.2 编译运行与异常结果 2.3 问题根源:三步分析 (1)线程调度的随机性 (2)耗时操作放大了竞争问题 (3)ticket--本身不是原子操作 2.4 解决问题的核心要求 三、Linux 下的互斥量:mutex 的使用全解析 3.1 互斥量的类型与核心接口

By Ne0inhk
【linux】高级IO,以ET模式运行的epoll版本的TCP服务器实现reactor反应堆

【linux】高级IO,以ET模式运行的epoll版本的TCP服务器实现reactor反应堆

小编个人主页详情<—请点击 小编个人gitee代码仓库<—请点击 linux系统编程专栏<—请点击 linux网络编程专栏<—请点击 倘若命中无此运,孤身亦可登昆仑,送给屏幕面前的读者朋友们和小编自己! 目录 * 前言 * 一、前置知识 * 二、第一阶段,基本框架的实现 * Connection * Main.cc * TcpServer * 测试 * 三、第二阶段,引入业务协议 * TcpServer * Main.cc * TcpServer * 测试 * 四、拓展 * 五、写博客一年的总结 * 六、源代码 * ClientCal.cc * Comm.hpp * Epoller.hpp * Log.hpp * Main.

By Ne0inhk