1. 前言
此前已介绍过 MCP SSE 插件支持 Dify 调用第三方 MCP Server。本文将介绍如何通过 mcp-server 插件,将 Dify 的工作流或 Chatflow 发布为 MCP Server,供外部支持 MCP Client 的工具(如 Cursor、Claude Desktop 等)直接调用。
mcp-server 是一个由 Dify 社区贡献的 Extension 类型插件。安装后,可将任何 Dify 应用转变为符合 MCP 标准的 Server Endpoint。其主要功能包括:
- 暴露为 MCP 工具:将 Dify 应用抽象为单一 MCP 工具,供外部 MCP 客户端调用。
- 利用 Dify Endpoint 功能:创建应用 Endpoint 后获得唯一 URL,外部客户端可直接连接。
- 提供 MCP 服务:插件在 Dify 环境中启动 HTTP 服务,基于 HTTP 和 SSE 协议处理请求,包括握手、能力发现及工具调用。
[图片:MCP-server 插件市场界面]
2. 如何使用
安装插件
在 Dify 插件市场中搜索并安装 mcp-server。安装后可在插件列表中查看。
[图片:插件列表界面]
配置环境变量
由于该服务需对外访问,需修改 Dify 的 .env 文件。建议参考官方提供的 .env.example 文件进行配置。
重点修改以下两项,将 localhost 替换为你的局域网 IP 或公网 IP:
EXPOSE_PLUGIN_DEBUGGING_HOSTENDPOINT_URL_TEMPLATE
原配置示例如下:
PLUGIN_DEBUGGING_HOST=0.0.0.0
PLUGIN_DEBUGGING_PORT=5003
EXPOSE_PLUGIN_DEBUGGING_HOST=localhost
EXPOSE_PLUGIN_DEBUGGING_PORT=5003
# 若修改此密钥,plugin_daemon 服务中的 DIFY_INNER_API_KEY 也需同步更新,否则代理节点会失败
PLUGIN_DIFY_INNER_API_KEY=<your_api_key>
PLUGIN_DIFY_INNER_API_URL=http://api:5001
ENDPOINT_URL_TEMPLATE=http://localhost/e/{hook_id}
修改后的配置示例(请将 <your_public_ip> 替换为实际 IP):
PLUGIN_DEBUGGING_HOST=0.0.0.0
PLUGIN_DEBUGGING_PORT=5003
EXPOSE_PLUGIN_DEBUGGING_HOST=<your_public_ip>
EXPOSE_PLUGIN_DEBUGGING_PORT=5003
PLUGIN_DIFY_INNER_API_KEY=<your_api_key>
PLUGIN_DIFY_INNER_API_URL=http://api:5001
ENDPOINT_URL_TEMPLATE=http://<your_public_ip>/e/{hook_id}
保存 .env 文件后,请重启 Dify 容器以使配置生效。完成上述步骤后,即可通过生成的 Endpoint URL 从外部 MCP 客户端访问你的 Dify 工作流。


