Dify Workflow MCP 服务器使用说明

项目简介

本项目 'Dify Workflow MCP Server' 是一个基于 Model Context Protocol (MCP) 的服务器实现,它将 Dify 平台上的工作流 (Workflows) 封装成 MCP 工具 (Tools),使得支持 MCP 协议的 LLM 客户端能够通过标准的 MCP 接口调用和执行 Dify 工作流。

主要功能点

  • Dify 工作流转 MCP 工具: 将 Dify 平台上预先定义好的工作流,以工具的形式注册到 MCP 服务器中。
  • 工具发现: MCP 客户端可以查询到由 Dify 工作流转换而来的工具列表及其详细信息(如名称、描述、输入参数)。
  • 工具调用: MCP 客户端可以根据工具定义,向 MCP 服务器发送请求来执行特定的 Dify 工作流,并接收工作流的执行结果。
  • 配置化: 通过 YAML 配置文件管理 Dify API 的连接信息和应用程序密钥。
  • 标准 MCP 协议: 完全兼容 MCP 协议,易于集成到各种支持 MCP 协议的 LLM 客户端。

安装步骤

  1. 克隆仓库

    git clone https://github.com/localSummer/dify-workflow-mcp
    cd dify-workflow-mcp
  2. 安装依赖 确保已安装 Node.js (>= 18) 和 npm (>= 8)。

    npm install
  3. 创建并配置 'config.yaml' 文件 在项目根目录下创建 'config.yaml' 文件,并根据您的 Dify 平台信息进行配置。

    # config.yaml
    dify_base_url: 'https://api.dify.ai/v1' # 替换为您的 Dify API 地址,通常为 'https://api.dify.ai/v1'
    dify_app_sks:
      - 'your-dify-app-sk-1' # 替换为您的 Dify 应用程序密钥 (App Secret Key)
      - 'your-dify-app-sk-2' # 如果有多个 Dify 应用,可以添加多个密钥

    请在 Dify 平台 - 设置 - 应用程序 - 密钥 获取您的应用程序密钥。

服务器配置 (MCP 客户端配置)

以下 JSON 配置信息用于配置 MCP 客户端,使其能够连接到 'Dify Workflow MCP Server'。您需要将此配置添加到您的 MCP 客户端配置中。

{
   "server name": "dify-workflow-mcp",
   "command": "node",
   "arguments": [
      "path/dify-workflow-mcp/build/index.js"
   ],
   "environment variables": {
      "CONFIG_PATH": "path/dify-workflow-mcp/config.yaml"
   },
   "disabled": false,
   "alwaysAllow": [],
   "timeout": 300
}

配置参数说明:

  • 'server name': 服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器,例如 '"dify-workflow-mcp"'。
  • 'command': 启动 MCP 服务器的命令,这里使用 'node' 来运行 JavaScript 代码。
  • 'arguments': 传递给 'command' 的参数,指向编译后的服务器入口文件 'path/dify-workflow-mcp/build/index.js'。 请根据您的实际项目路径调整此参数。
  • 'environment variables': 设置服务器运行需要的环境变量。 'CONFIG_PATH' 指定了 'config.yaml' 配置文件的路径。 请根据您的实际配置文件路径调整此参数。
  • 'disabled': 是否禁用该服务器,设置为 'false' 表示启用。
  • 'alwaysAllow': 允许始终执行的操作列表,默认为空数组。
  • 'timeout': 服务器操作超时时间,单位为秒,这里设置为 '300' 秒。

基本使用方法

  1. 构建项目

    npm run build

    此命令会将 TypeScript 代码编译到 'build' 目录。

  2. 启动服务器

    npm start

    或使用开发模式启动:

    npm run dev

    服务器成功启动后,将通过标准输入/输出 (stdio) 监听 MCP 客户端的请求。

  3. 在 MCP 客户端中使用 配置您的 MCP 客户端,添加上述服务器配置信息。客户端将能够发现和调用由 Dify 工作流转换而来的工具。具体使用方法请参考您的 MCP 客户端文档。通常,您可以通过工具名称调用 Dify 工作流,并根据工具的输入参数提供相应的参数值。

注意事项

  • 当前服务器使用 Dify 工作流的 'blocking' 模式,即会等待工作流执行完成后返回最终结果。
  • 工作流的输出字段默认为 'code' 和 'checkResult',如果您的 Dify 工作流输出字段不一致,可能需要调整 'build/index.js' 或 'src/index.ts' 中的代码以适应您的输出结构。

信息

分类

开发者工具