Dify Workflows

Integrates with
Dify

Dify Workflows MCP 服务器 (TypeScript)

一个 Model Context Protocol (MCP) 服务器的 TypeScript 实现,将 Dify 工作流作为工具暴露出来。

特性

  • 将 Dify 应用程序转换为 MCP 工具
  • 支持从 Dify 工作流流式响应(待实现)
  • 通过 YAML 配置文件进行配置
  • 使用 TypeScript 编写,具有类型安全性

前提条件

  • Node.js 18 或更高版本
  • npm 8 或更高版本
  • 访问 Dify API 和应用程序密钥

安装

  1. 克隆仓库:

    git clone https://github.com/localSummer/dify-workflow-mcp
    cd dify-workflow-mcp
    
  2. 安装依赖:

    npm install
    
  3. 创建配置文件:

    # config.yaml
    dify_base_url: 'https://api.dify.ai/v1'
    dify_app_sks:
      - 'your-dify-app-sk-1' # 替换为你的实际 Dify 应用程序密钥
      - 'your-dify-app-sk-2' # 替换为你的实际 Dify 应用程序密钥
    

使用方法

  1. 构建项目:

    npm run build
    
  2. 启动服务器:

    npm start
    

开发环境:

npm run dev

配置

服务器可以使用 YAML 文件进行配置。默认情况下,它会在项目根目录中查找 config.yaml。您可以使用 CONFIG_PATH 环境变量指定不同的路径。

配置选项

  • dify_base_url: Dify API 的基本 URL
  • dify_app_sks: Dify 应用程序密钥列表

Cline/Roo Code配置

"dify-workflow-mcp": {
   "command": "node",
   "args": [
      "path/dify-workflow-mcp/build/index.js"
   ],
   "env": {
      "CONFIG_PATH": "path/dify-workflow-mcp/config.yaml"
   },
   "disabled": false,
   "alwaysAllow": [],
   "timeout": 300
}

注意事项

  • 当前运行工作流使用的响应模式是:response_mode: 'blocking',会等待工作流执行完成后输出最终结果
  • 当前工作流输出字段为:codecheckResult,如输出字段不一致,需要调整下面的代码
    const { code, checkResult } = responseData.data.outputs;
    

许可证

ISC