Dify Workflows MCP Server (TypeScript)设计与实战
介绍
一个 Model Context Protocol (MCP) 服务器的 TypeScript 实现,将 Dify 工作流作为工具暴露出来,可直接集成到 Cline
或 Roo Code
中进行调用。
Dify Workflow 工作流设计
工作流编排
工作流 DSL 文件
附件中提供完整的 DSL 下载,可导入到 Dify 中使用
模型使用说明
Node | LLM |
---|---|
代码注释专家 | gemini-2.0-flash |
代码整洁度提示专家 | gemini-2.0-flash |
前端组件拆分专家 | gemini-2.0-flash |
前端代码if-else清理专家 | gemini-2.0-flash |
前端代码综合优化专家 | gemini-2.0-pro |
前端代码逻辑一致性校验专家 | gemini-2.0-flash |
模型使用 Google Gemini 2.0
系列,自测使用国内模型工作流运行缓慢
发布工作流
发布工作流后,可基于 API 接口的方式进行访问
Dify Workflows MCP Server 代码实现
完整代码在 https://github.com/localSummer/dify-workflow-mcp
安装
-
克隆仓库:
git clone https://github.com/localSummer/dify-workflow-mcp cd dify-workflow-mcp
-
安装依赖:
npm install
-
创建配置文件:
# 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 工作流密钥
- 配置说明
服务器可以使用 YAML 文件进行配置。默认情况下,它会在项目根目录中查找config.yaml
。您可以使用CONFIG_PATH
环境变量指定不同的路径。 - 配置选项
dify_base_url
: Dify API 的基本 URLdify_app_sks
: Dify 工作流密钥列表
- 配置说明
构建项目
npm run build
Cline/Roo Code 配置 MCP Server
"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'
,会等待工作流执行完成后输出最终结果 - 当前工作流输出字段为:
code
和checkResult
,如输出字段不一致,需要调整下面的代码const { code, checkResult } = responseData.data.outputs;
启发式探索
- 支持
response_mode: 'streaming'
流式传输 - 相关工作流探索与实践
- MCP 不同能力的尝试