使用说明
项目简介
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 开发,保证代码的类型安全和可维护性。
安装步骤
-
克隆仓库
git clone https://github.com/faiz-gear/dify-mcp-server-ts cd dify-mcp-server-ts -
安装依赖 确保已安装 Node.js (>= 18) 和 npm (>= 8)。
npm install -
配置 复制 '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)。
-
构建项目
npm run build -
启动服务器
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' 等开发依赖。
基本使用方法
- 启动 Dify MCP Server。
- 在 LLM 客户端中配置并连接到 Dify MCP Server。
- LLM 客户端会向 Dify MCP Server 发送 'ListTools' 请求,服务器会返回从 Dify 应用转换而来的工具列表。
- LLM 客户端可以使用 'CallTool' 请求调用这些工具,Dify MCP Server 会将请求转发到 Dify API 并执行相应的工作流。
- Dify 工作流的执行结果将通过 MCP 协议返回给 LLM 客户端。
信息
分类
AI与计算