1. 前言
此前已介绍过 MCP SSE 插件,它支持在 Dify 平台调用外部 MCP Server。有开发者询问:Dify 的工作流或 Chatflow 是否也能反向发布为 MCP Server,供其他支持 MCP Client 的工具调用?本文将介绍一款名为 mcp-server 的 Dify 插件,它能实现这一功能,即将 Dify 应用发布为符合 MCP 标准的 Server Endpoint。
该插件可在 Dify 插件市场找到。

mcp-server 是一个由 Dify 社区贡献的 Extension 类型插件。安装后,你可以把任何 Dify 应用转变成符合 MCP 标准的服务端点,供外部 MCP 客户端直接访问。其主要功能包括:
- 暴露为 MCP 工具:将 Dify 应用抽象为单一 MCP 工具,供外部 MCP 客户端(如 Cursor、Claude Desktop、Cline、Windsurf 等)调用。
- 利用 Dify Endpoint 功能:用户创建应用 Endpoint 后,将获得唯一的 URL,外部 MCP 客户端可直接通过该 URL 连接。
- 提供 MCP 服务:插件在 Dify 插件环境中自动启动 HTTP 服务,基于 HTTP 和 SSE 协议,高效处理外部 MCP 客户端请求,包括协议握手、能力发现以及工具调用。
2. 如何使用
在插件市场安装好该插件后,可以在插件列表中查找到,如图所示。

环境变量配置
接下来需要配置 mcp-server。既然这个工具是对外提供服务的,我们需要确保在互联网或局域网内可被访问。因此,需要修改 Dify 的 .env 文件。
参考官方示例文件路径:https://github.com/langgenius/dify/blob/main/docker/.env.example
在文件中搜索到第 1001 行左右,找到如下配置项。

我们需要将 EXPOSE_PLUGIN_DEBUGGING_HOST 和 ENDPOINT_URL_TEMPLATE 中的 localhost 替换为你的局域网 IP 或公网 IP。
假设你的公网地址为 <你的公网 IP>,原始配置可能如下所示:
PLUGIN_DEBUGGING_HOST=0.0.0.0
PLUGIN_DEBUGGING_PORT=5003
EXPOSE_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=<your_plugin_dify_inner_api_key>
PLUGIN_DIFY_INNER_API_URL=http://api:5001
ENDPOINT_URL_TEMPLATE=http://localhost/e/{hook_id}


