前言
之前我们聊过 MCP SSE 插件,它支持 Dify 调用外部的 MCP Server。那反过来呢?Dify 的工作流能不能也变成 MCP Server,供其他客户端调用?答案是肯定的。通过安装社区贡献的 mcp-server 插件,我们可以把任何 Dify 应用转成符合 MCP 标准的 Endpoint。
在 Dify 插件市场搜索并安装该插件后,你的应用就能被抽象为单一 MCP 工具。外部客户端(如 Cursor、Claude Desktop 等)可以通过生成的唯一 URL 直接连接。插件会在后台启动 HTTP 服务,基于 HTTP 和 SSE 协议处理握手、能力发现及工具调用。

安装与配置
安装完成后,在插件列表里应该能看到它。
修改环境变量
为了让外部工具能访问到服务,我们需要修改 Dify 的 .env 文件。如果是本地开发,建议先确认网络环境;如果是生产部署,请确保防火墙允许相应端口。
找到项目根目录下的 .env 文件(参考官方示例),重点调整以下两项:
EXPOSE_PLUGIN_DEBUGGING_HOST:默认是localhost,需改为局域网或公网 IP。ENDPOINT_URL_TEMPLATE:同样涉及地址模板。
以下是修改前的配置片段(注意变量间换行):
PLUGIN_DEBUGGING_HOST=0.0.0.0
PLUGIN_DEBUGGING_PORT=5003
EXPOSE_PLUGIN_DEBUGGING_HOST=localhost
EXPOSE_PLUGIN_DEBUGGING_PORT=5003
# 如果修改此键,plugin_daemon 服务中的 DIFY_INNER_API_KEY 也必须更新
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}
修改后的配置示例(请将 IP 替换为你实际的地址):
EXPOSE_PLUGIN_DEBUGGING_HOST=<your_public_ip>
ENDPOINT_URL_TEMPLATE=http://<your_public_ip>/e/{hook_id}
保存后重启容器生效。这样,你的 Dify 工作流就真正变成了一个可供第三方调用的 MCP 服务了。


