前言
之前我们介绍过 MCP SSE 插件,它支持 Dify 调用外部平台的 MCP Server。不少开发者问:反过来,Dify 的工作流或 Chatflow 能否也发布为 MCP Server,供第三方工具调用呢?答案是肯定的。今天我们就聊聊如何通过安装社区贡献的 mcp-server 插件,将 Dify 应用变成符合 MCP 标准的 Server Endpoint。

这个插件本质上是一个 Extension 类型工具。安装后,你可以把任何 Dify 应用转变成可被外部访问的服务端点。它的核心能力包括:
- 暴露为 MCP 工具:将 Dify 应用抽象为单一 MCP 工具,供 Cursor、Claude Desktop、Cline 等客户端直接调用。
- 利用 Dify Endpoint 功能:创建应用 Endpoint 后获得唯一 URL,外部 MCP 客户端可直接连接。
- 提供 MCP 服务:插件在 Dify 环境中自动启动 HTTP 服务,基于 HTTP 和 SSE 协议处理握手、发现及工具调用。
如何使用
1. 安装插件
在 Dify 插件市场搜索并安装 mcp-server。安装成功后,你可以在插件列表中看到它已就绪。

2. 配置网络环境
既然这个工具是对外提供服务的,那就意味着它需要能被互联网或局域网访问。因此,我们需要修改 Dify 的 .env 文件,将默认的本地地址替换为你的实际 IP。
为了方便讲解,我们可以参考官方提供的示例配置:GitHub .env.example。
找到第 1001 行附近的配置项,默认情况下它们指向 localhost:
EXPOSE_PLUGIN_DEBUGGING_HOST=localhost
EXPOSE_PLUGIN_DEBUGGING_PORT=5003
ENDPOINT_URL_TEMPLATE=http://localhost/e/{hook_id}
这里有个关键点:必须把 localhost 换成你的局域网 IP 或公网 IP。比如我的公网地址是 14.103.204.132,修改后的配置如下:
EXPOSE_PLUGIN_DEBUGGING_HOST=14.103.204.132
EXPOSE_PLUGIN_DEBUGGING_PORT=5003
ENDPOINT_URL_TEMPLATE=http://14.103.204.132/e/{hook_id}
注意:生产环境建议优先使用域名而非 IP,并确保防火墙允许对应端口(如 5003)的外部访问。修改完成后记得重启 Dify 容器使配置生效。
3. 验证与调用
配置完成后,外部 MCP Client 即可通过你配置的 URL 进行连接。此时 Dify 工作流就真正变成了一个可被调用的第三方服务了。如果涉及 Agent 节点,请同步检查 PLUGIN_DIFY_INNER_API_KEY 是否匹配,避免认证失败。


