背景与价值
之前我们聊过如何用 MCP SSE 插件让 Dify 去调用外部的 MCP Server。反过来,如果我们想把 Dify 里编排好的工作流或 Chatflow 发布出去,供其他支持 MCP Client 的工具(比如 Cursor、Claude Desktop)直接调用,该怎么办?
答案是用一个社区贡献的 Extension 插件——mcp-server。它能把 Dify 应用转变成符合 MCP 标准的 Server Endpoint,让外部工具能像调用普通 API 一样访问你的工作流。
主要能力包括:
- 暴露为 MCP 工具:将 Dify 应用抽象为单一工具,供外部客户端调用。
- 利用 Dify Endpoint:创建后获得唯一 URL,外部客户端直连。
- 提供 MCP 服务:基于 HTTP 和 SSE 协议处理握手、发现及调用。

安装与配置
在 Dify 插件市场搜索并安装 mcp-server。安装成功后,在插件列表中即可看到。

网络环境配置
既然是对外提供服务,必须确保插件能在互联网或局域网被访问。这涉及到 Dify 本地 .env 文件的修改。
找到项目根目录下的 .env 文件(参考官方示例),重点调整以下两个变量:
EXPOSE_PLUGIN_DEBUGGING_HOST:默认是 localhost,需改为你的局域网 IP 或公网 IP。ENDPOINT_URL_TEMPLATE:同样需要将 localhost 替换为可访问的地址。
注意:如果修改了这些配置,记得同步更新 PLUGIN_DIFY_INNER_API_KEY 相关的设置,否则 Agent 节点可能会失败。
配置示例如下(请根据实际情况替换 IP 地址):
PLUGIN_DEBUGGING_HOST=0.0.0.0
PLUGIN_DEBUGGING_PORT=5003
EXPOSE_PLUGIN_DEBUGGING_HOST=<your_public_ip>
EXPOSE_PLUGIN_DEBUGGING_PORT=5003
# 如果修改了上述 Key,需同步更新 PLUGIN_DIFY_INNER_API_KEY
PLUGIN_DIFY_INNER_API_KEY=QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
PLUGIN_DIFY_INNER_API_URL=http://api:5001
ENDPOINT_URL_TEMPLATE=http://<your_public_ip>/e/{hook_id}
这样配置后,重启容器即可生效。外部 MCP 客户端就能通过生成的 URL 连接并调用你的 Dify 工作流了。


