概述
Dify 支持通过 MCP SSE 插件调用外部服务,但反过来,若要将 Dify 的工作流或 Chatflow 发布为 MCP Server,供第三方工具(如 Cursor、Claude Desktop 等)直接调用,则需要借助社区提供的 mcp-server 插件。
该插件本质上是一个 Extension 类型组件,安装后能将任何 Dify 应用转变成符合 MCP 标准的 Server Endpoint。其核心能力包括:
- 暴露为 MCP 工具:将 Dify 应用抽象为单一工具,供外部客户端调用。
- 利用 Dify Endpoint 功能:创建应用 Endpoint 后获得唯一 URL,外部可直接连接。
- 提供 MCP 服务:在插件环境中自动启动 HTTP 服务,基于 HTTP 和 SSE 协议处理握手、发现及调用请求。
配置步骤
1. 安装插件
在 Dify 插件市场中搜索并安装 mcp-server。安装完成后,可在插件列表中确认状态。
2. 修改环境变量
为了让插件能够被互联网或局域网访问,需要修改 Docker 部署的 .env 文件。建议参考官方示例文件 docker/.env.example 进行配置。
找到以下关键配置项,并将其中的 localhost 替换为你的实际 IP 地址(局域网或公网):
# 插件调试主机
PLUGIN_DEBUGGING_HOST=0.0.0.0
PLUGIN_DEBUGGING_PORT=5003
# 暴露给外网的主机地址
EXPOSE_PLUGIN_DEBUGGING_HOST=你的实际 IP
EXPOSE_PLUGIN_DEBUGGING_PORT=5003
# 内部 API 密钥与 URL
# 注意:如果修改了相关配置,需同步更新 PLUGIN_DIFY_INNER_API_KEY
PLUGIN_DIFY_INNER_API_KEY=<YOUR_API_KEY>
PLUGIN_DIFY_INNER_API_URL=http://api:5001
# 端点模板
ENDPOINT_URL_TEMPLATE=http://你的实际 IP/e/{hook_id}
3. 重启服务
完成配置修改后,重启 Dify 容器即可生效。此时,你的工作流已具备对外服务能力,外部 MCP 客户端可通过配置的 Endpoint URL 发起连接。
提示:生产环境使用时,请确保防火墙策略允许相应端口访问,并妥善保管 API Key,避免泄露。


