前言
之前我们介绍过通过 MCP SSE 插件在 Dify 中调用第三方 MCP Server。很多开发者问:反过来行不行?能不能把 Dify 的工作流或 Chatflow 发布成 MCP Server,供外部客户端调用?
答案是肯定的。Dify 社区提供了一个名为 mcp-server 的 Extension 类型插件,它能将你的应用转化为符合 MCP 标准的 Server Endpoint。
安装后,你可以实现以下功能:
- 暴露为 MCP 工具:将 Dify 应用抽象为单一工具,供 Cursor、Claude Desktop 等客户端调用。
- 利用 Dify Endpoint:创建应用 Endpoint 后获得唯一 URL,外部客户端可直接连接。
- 提供 MCP 服务:插件自动启动 HTTP 服务,基于 HTTP 和 SSE 协议处理握手、能力发现及工具调用。
安装与配置
在插件市场搜索并安装 mcp-server。安装成功后,你可以在插件列表中看到它。

网络环境配置
为了让外部工具能访问到服务,我们需要修改 Dify 的 .env 文件。默认情况下,这些配置可能绑定在 localhost,这意味着只有本地机器能访问。如果你希望从局域网或公网调用,需要将其改为对应的 IP 地址。
参考官方示例文件(如 docker/.env.example),重点调整以下两项:
EXPOSE_PLUGIN_DEBUGGING_HOSTENDPOINT_URL_TEMPLATE
假设你的公网 IP 是 14.103.204.132(请替换为你自己的实际 IP),配置示例如下:
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_daemon 服务中的 DIFY_INNER_API_KEY 也需同步更新
PLUGIN_DIFY_INNER_API_KEY=YOUR_SECRET_KEY
PLUGIN_DIFY_INNER_API_URL=http://api:5001
ENDPOINT_URL_TEMPLATE=http://14.103.204.132/e/{hook_id}
修改完成后重启容器即可生效。记得确保防火墙允许相应端口的入站流量。


