背景与价值
之前我们介绍过通过 MCP SSE 插件调用第三方平台的 MCP-server,实现 Dify 与外部服务的对接。但反过来,如果希望将 Dify 的工作流或 Chatflow 发布为标准的 MCP-server,供 Cursor、Claude Desktop 等支持 MCP client 的工具直接调用,该怎么做呢?
答案是使用社区贡献的 mcp-server 插件。安装后,你可以把任何 Dify 应用转变成符合 MCP 标准的 Server Endpoint,让外部客户端通过 HTTP 和 SSE 协议直接访问。

它的主要能力包括:
- 暴露为 MCP 工具:将 Dify 应用抽象为单一 MCP 工具,供外部客户端调用。
- 利用 Dify Endpoint 功能:创建应用 Endpoint 后获得唯一 URL,外部可直接连接。
- 提供 MCP 服务:插件在 Dify 环境中自动启动 HTTP 服务,处理协议握手、能力发现及工具调用。
部署配置
1. 安装插件
在 Dify 插件市场中搜索并安装 mcp-server。安装成功后,在插件列表中即可看到该工具。

2. 修改环境变量
为了让外部工具能访问到服务,我们需要修改 Dify 的 .env 文件。如果你使用的是官方 Docker 部署,可以参照 GitHub 上的 .env.example 文件进行配置。
找到以下关键配置项(通常在 1000 行左右):
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=QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
PLUGIN_DIFY_INNER_API_URL=http://api:5001
ENDPOINT_URL_TEMPLATE=http://localhost/e/{ hook_id}
重点在于将 localhost 替换为你的局域网 IP 或公网 IP。例如,如果你的公网地址是 14.103.204.132,修改后的配置如下:
PLUGIN_DEBUGGING_HOST=0.0.0.0
PLUGIN_DEBUGGING_PORT=5003
EXPOSE_PLUGIN_DEBUGGING_HOST=14.103.204.132
EXPOSE_PLUGIN_DEBUGGING_PORT=5003
PLUGIN_DIFY_INNER_API_KEY=QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
PLUGIN_DIFY_INNER_API_URL=http://api:5001
ENDPOINT_URL_TEMPLATE=http://14.103.204.132/e/{ hook_id}
注意:修改 EXPOSE_PLUGIN_DEBUGGING_HOST 后,确保防火墙已放行相应端口,否则外部客户端将无法建立连接。重启 Dify 容器使配置生效,之后即可在支持的 MCP 客户端中尝试连接你的 Dify 工作流了。


