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

配置Cursor 编辑器来高效编写 C++ 项目

配置 Cursor 编辑器来高效编写 C++ 项目需要一些关键设置和插件支持。以下是详细步骤: 1. 安装 Cursor * 从官网 https://www.cursor.so 下载并安装适合你系统的版本(Windows/macOS/Linux)。 2. 配置 C++ 开发环境 (1)安装 C++ 编译工具链 * Windows: 安装 MinGW-w64 或 MSVC(通过 Visual Studio 安装)。 * 先打开网址Pre-built Toolchains - mingw-w64https://www.mingw-w64.org/downloads/ 在左侧导航栏选择downloads,选择编译好的安装包,在上图显示的列表框里选择适合自己开发环境的安装包,点击后一般会跳转到github,然后选择合适的版本下载即可。 各版本区别可以通过deepsee大模型查询。 按照后解压,

By Ne0inhk
C++ 模板再升级:非类型参数、特化技巧(含全特化与偏特化)、分离编译破解

C++ 模板再升级:非类型参数、特化技巧(含全特化与偏特化)、分离编译破解

✨ 孤廖:个人主页 🎯 个人专栏:《C++:从代码到机器》 🎯 个人专栏:《Linux系统探幽:从入门到内核》 🎯 个人专栏:《算法磨剑:用C++思考的艺术》 折而不挠,中不为下 文章目录 * 前言 * 正文 * 1. 非类型模板参数 * 2. 模板的特化 * 2.1 概念 * 2.2 函数模板特化 * 2.3 类模板特化 * 2.3.1 全特化 * 2.3.2 偏特化 * 2.3.3 类模板特化应用示例 * 3 模板分离编译 * 3.1 什么是分离编译 * 3.2 模板的分离编译

By Ne0inhk
C++ 异常处理机制:从基础到实践的全面解析----《Hello C++ Wrold!》(20)--(C/C++)

C++ 异常处理机制:从基础到实践的全面解析----《Hello C++ Wrold!》(20)--(C/C++)

文章目录 * 前言 * C语言处理错误的方式 * C++异常的概念 * 异常的使用 * 异常抛出和匹配的原则 * 在函数调用链中异常栈展开匹配原则 * 异常的重新抛出 * 异常安全 * 异常规范 * 自定义异常体系 * C++标准库的异常体系 * 异常的优缺点 * 作业部分 前言 在程序开发过程中,错误处理是确保软件健壮性的关键环节。C 语言采用返回错误码或直接终止程序的方式处理错误,但其在复杂程序中往往显得繁琐且不够直观。C++ 引入了异常机制,为错误处理提供了一种更灵活、更结构化的解决方案。 本文将系统讲解 C++ 异常处理的核心概念,包括异常的组成部分(throw、try、catch)、抛出与匹配原则、函数调用链中的栈展开机制,以及异常的重新抛出等关键知识点。同时,还将深入探讨异常安全问题、异常规范的演进(从 C++98 到 C++11),并介绍自定义异常体系与 C++ 标准库异常体系的特点。 此外,本文会客观分析异常机制的优缺点,

By Ne0inhk