使用说明

项目简介

Dify MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,它将 Dify 平台上的应用 (Application) 工作流 (Workflow) 封装成 MCP 协议定义的 工具 (Tools)。通过该服务器,LLM 客户端可以像调用本地函数一样,轻松调用 Dify 应用的功能,实现诸如信息检索、内容生成等复杂任务。

主要功能点

  • Dify 工作流转 MCP 工具: 将 Dify 平台上的应用工作流自动转换为 MCP 工具,无需手动编写工具定义。
  • 流式响应支持: 支持 Dify 工作流的流式响应,LLM 客户端可以逐步接收 Dify 应用的输出,提升交互体验。
  • YAML 配置: 通过 YAML 配置文件灵活配置 Dify API 的 base URL 和应用密钥 (App Secret Keys)。
  • 类型安全: 使用 TypeScript 开发,保证代码的类型安全和可维护性。

安装步骤

  1. 克隆仓库

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

    npm install
  3. 配置 复制 'config.yaml.example' 文件并重命名为 'config.yaml',然后根据您的 Dify 平台信息修改 'config.yaml' 文件:

    dify_base_url: 'https://api.dify.ai/v1' # 替换为您的 Dify API Base URL,通常为 'https://api.dify.ai/v1' 或您的私有化部署地址
    dify_app_sks:
      - 'your-dify-app-sk-1' # 替换为您的 Dify 应用的 Secret Key
      - 'your-dify-app-sk-2' # 如果您有多个 Dify 应用,可以添加多个 Secret Key

    您需要在 Dify 平台 "应用设置 - API" 中获取 应用密钥 (Secret Key)

  4. 构建项目

    npm run build
  5. 启动服务器

    npm start

    或者,在开发模式下启动:

    npm run dev

    服务器默认监听标准输入输出 (stdio)。

服务器配置

MCP 客户端需要配置以下信息以连接到 Dify MCP Server:

{
  "serverName": "dify-mcp-server",  // 服务器名称,可自定义
  "command": "npm",                 // 启动命令,如果您的环境可以直接运行 node,也可以设置为 "node"
  "args": ["start"]                 // 命令参数,对应 npm start,如果 command 设置为 "node",则 args 应为 ["build/index.js"]
                                    // 开发模式下,如果 command 设置为 "npm",则 args 应为 ["run", "dev"],如果 command 设置为 "node",则 args 应为 ["src/index.ts"] (需要 ts-node 环境)
}

参数注释:

  • 'serverName': MCP 服务器的名称,客户端用于标识和管理连接。您可以自定义设置。
  • 'command': 启动服务器进程的命令。通常使用 'npm' 命令来运行 'npm start' 脚本,该脚本在 'package.json' 中定义了服务器的启动方式。如果您已将 'node' 命令添加到系统环境变量,并且希望直接运行构建后的 JavaScript 文件,可以将 'command' 设置为 'node',并将 'args' 设置为 '["build/index.js"]'。
  • 'args': 传递给 'command' 的参数。对于 'npm start' 脚本,参数为空数组 '[]' 即可。如果 'command' 设置为 'node',则需要将服务器入口文件路径作为参数,例如 '["build/index.js"]'。

注意:

  • 请确保 MCP 客户端的运行环境能够执行 'npm' 或 'node' 命令,并且可以访问到 Dify MCP Server 所在目录。
  • 如果使用 'node build/index.js' 方式启动,请确保 Node.js 环境配置正确。
  • 开发模式 ('npm run dev') 下启动服务器,需要安装 'typescript' 和 'ts-node' 等开发依赖。

基本使用方法

  1. 启动 Dify MCP Server。
  2. 在 LLM 客户端中配置并连接到 Dify MCP Server。
  3. LLM 客户端会向 Dify MCP Server 发送 'ListTools' 请求,服务器会返回从 Dify 应用转换而来的工具列表。
  4. LLM 客户端可以使用 'CallTool' 请求调用这些工具,Dify MCP Server 会将请求转发到 Dify API 并执行相应的工作流。
  5. Dify 工作流的执行结果将通过 MCP 协议返回给 LLM 客户端。

信息

分类

AI与计算