背景与插件介绍
之前我们讨论过 Dify 通过 MCP SSE 插件调用外部服务的能力。很多开发者关心反向场景:能否将 Dify 的工作流或 Chatflow 发布为 MCP Server,供第三方工具(如 Cursor、Claude Desktop)直接调用?答案是肯定的。Dify 社区提供了一个名为 mcp-server 的 Extension 类型插件,专门用于实现这一功能。
安装该插件后,你可以将任何 Dify 应用转换为符合 MCP 标准的 Server Endpoint。核心能力包括:
- 暴露为 MCP 工具:将应用抽象为单一工具,供外部客户端调用。
- 利用 Dify Endpoint:创建应用 Endpoint 后获得唯一 URL,支持外部连接。
- 提供 MCP 服务:插件在 Dify 环境中启动 HTTP 服务,基于 HTTP/SSE 协议处理握手、发现及调用。
部署配置要点
要在插件市场安装好 mcp-server 并在列表中确认安装状态后,关键在于网络配置。既然要对外提供服务,必须确保互联网或局域网可访问。这需要修改 Dify 的 .env 文件。
参考官方 Docker 环境配置示例,重点调整以下两项:
EXPOSE_PLUGIN_DEBUGGING_HOST:默认是localhost,需改为你的公网 IP 或局域网 IP。ENDPOINT_URL_TEMPLATE:同样需要将localhost替换为实际可访问的地址。
以下是 .env 配置修改前后的对比逻辑(注意变量间需用换行分隔):
# 原始配置示例
EXPOSE_PLUGIN_DEBUGGING_HOST=localhost
ENDPOINT_URL_TEMPLATE=http://localhost/e/{hook_id}
# 修改建议
EXPOSE_PLUGIN_DEBUGGING_HOST=0.0.0.0 # 监听所有网卡
ENDPOINT_URL_TEMPLATE=http://<你的公网 IP>/e/{hook_id}
修改完成后,记得重启相关服务使配置生效。这样外部 MCP 客户端就能通过你提供的 URL 连接到 Dify 工作流了。


