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

Flutter for OpenHarmony:pub_semver 解析语义化版本号,实现复杂的版本比较与约束(版本号管理) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:pub_semver 解析语义化版本号,实现复杂的版本比较与约束(版本号管理) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在软件开发中,版本号管理是一项基础但严谨的工作。无论是插件依赖管理,还是 App 自身的版本更新检查,都离不开语义化版本(Semantic Versioning)规范。 Dart 官方提供的 pub_semver 库是 Pub 包管理器背后的核心组件,它实现了完整的 SemVer 2.0.0 规范。利用它,我们可以在 OpenHarmony 应用中轻松处理复杂的版本比较、范围约束和解析逻辑。本文将介绍它的用法及在版本更新场景中的实战。 一、核心概念 1.1 语义化版本 (SemVer) 版本格式:主版本号.次版本号.修订号 (MAJOR.MINOR.PATCH),例如 1.

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 duration 让鸿蒙应用的时间长度处理变得灵动而具人情味(语义化时长专家)

Flutter for OpenHarmony: Flutter 三方库 duration 让鸿蒙应用的时间长度处理变得灵动而具人情味(语义化时长专家)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 的 UI 开发时,我们经常需要处理“时长(Duration)”: 1. 视频播放器:如何将 Duration(seconds: 3661) 显示为漂亮的 01:01:01? 2. 任务管理:如何让用户输入 2d 4h 就能自动识别为 2 天 4 小时? 3. 社交动态:如何精确显示为“剩余 5 小时 30 分钟”而不是干巴巴的数字? duration 软件包正是为了解决这些“最后 1 公里”的显示与解析问题。它弥补了

By Ne0inhk
Flutter 组件 tw_queue 的适配 鸿蒙Harmony 实战 - 驾驭分布式高并发任务队列、实现鸿蒙端流式任务调度与生产级持久化断点续传方案

Flutter 组件 tw_queue 的适配 鸿蒙Harmony 实战 - 驾驭分布式高并发任务队列、实现鸿蒙端流式任务调度与生产级持久化断点续传方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 tw_queue 的适配 鸿蒙Harmony 实战 - 驾驭分布式高并发任务队列、实现鸿蒙端流式任务调度与生产级持久化断点续传方案 前言 在鸿蒙(OpenHarmony)生态的工业级应用或是大型协同办公软件中,我们时刻面临着“海量任务堆积”的挑战。例如:在 0307 批次的博文自动化生产线中,160 个文件、上百万字的博文生成、图片压缩以及云端同步任务,如果全部无脑地开启并发,会瞬间撑爆鸿蒙设备的内存句柄(OOM),同时也可能触发后端的限流封禁。 我们需要的是一个具备“理智”与“弹性”的交通管制系统。 tw_queue 是一套专为高性能、分布式任务调度设计的流水线工具。它不仅能控制并发数(Concurrency),更具备了任务持久化、失败自动重试、甚至是带权重的优先级调度能力。在鸿蒙适配实战中,tw_

By Ne0inhk
Flutter 三方库 arb_translate 的鸿蒙化适配指南 - 实现顶级自动化多语言翻译、高性能文字资源管理与国际化治理,助力鸿蒙应用构建“与全场景语言共鸣”的数字化底座

Flutter 三方库 arb_translate 的鸿蒙化适配指南 - 实现顶级自动化多语言翻译、高性能文字资源管理与国际化治理,助力鸿蒙应用构建“与全场景语言共鸣”的数字化底座

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 arb_translate 的鸿蒙化适配指南 - 实现顶级自动化多语言翻译、高性能文字资源管理与国际化治理,助力鸿蒙应用构建“与全场景语言共鸣”的数字化底座。 前言 在 HarmonyOS 的应用全球化治理中,语言的“触达深度”决定了应用的国际化竞争力。当我们在鸿蒙端开发一款面向全球数亿用户的应用时,手动维护数十个语种的 intl 资源(ARB 文件)不仅是一场翻译噩梦,更极易引入由于人为疏漏导致的文案不一致。arb_translate 作为一个专注于“语义化 AI 自动化翻译”的库,提供了一套能够完美处理从主语言 ARB 自动映射到目标语种、并保持语境一致性的方案。在鸿蒙系统上适配 arb_translate,将为您应用的国际化资产注入一份“通晓多国语言”的高型智慧。 一、原理解析

By Ne0inhk