模型上下文协议服务器

Dify MCP Server是一个高性能的模型上下文协议服务器,用于将Dify的工作流DSL和画布图原生集成到LLMs中,绕过平台缺乏公共DSL导入API的限制。

  • by GregoriSoria
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 GregoriSoria/dify-mcp

使用说明

Dify MCP服务器🤖🔄

一种用于集成的高性能模型上下文协议(MCP)服务器 Dify的 工作流DSL和Canvas Graph本机与LLM结合,避免了平台缺乏公共DSL导入API的问题。

🛠 特性

  • DSL提取:通过Console API从任何工作区直接获取完整的YAML应用程序定义。
  • 节点注入:解析、操纵和以编程方式注入新的功能节点(例如。, http-request, llm)保留边缘连接的现有Dify工作流。
  • 自动刷新身份验证:完全在内存会话抽象上运行。Dify的背景 __Host-refresh_token 确保长期身份验证,其行为与永久web会话相同。
  • 零磁盘污染:使用与MCP无缝兼容的纯环境变量设置 mcp_config.json 范式。

🔑 如何获取您的身份验证Cookie

由于Dify限制了控制台操作,您需要提取确切的 HttpOnly 安全Cookie直接来自您的浏览器,以允许此MCP服务器代表您行事。

  1. 登录到您的 堤云 环境。
  2. 按 F12 打开开发者工具。
  3. 导航到 应用 选项卡。
  4. 在左侧边栏中,展开 Storage > Cookies 然后单击 https://cloud.dify.ai.
  5. 在表格中查找以下3个具体项目,然后双击它们 价值 要复制的列:
    • __Host-access_token
    • __Host-csrf_token
    • __Host-refresh_token

⚙️ 配置

要使用本地安装的工具或在Claude Desktop中运行此服务器,请编辑您的 mcp_config.json:

{
  "mcpServers": {
    "dify": {
      "command": "node",
      "args": [
        "caminho/absoluto/para/dify-mcp/build/index.js"
      ],
      "env": {
        "DIFY_BASE_URL": "https://cloud.dify.ai",
        "DIFY_ACCESS_TOKEN": "eyJh...",
        "DIFY_CSRF_TOKEN": "eyJh...",
        "DIFY_REFRESH_TOKEN": "b6d9..."
      }
    }
  }
}

高级环境变量

变量 默认值 说明
DIFY_BASE_URL https://cloud.dify.ai 工作区的根基域。如果您使用的是自托管,请更改。
DIFY_ACCESS_TOKEN - 当前有效 __Host-access_token.
DIFY_CSRF_TOKEN - 当前有效 __Host-csrf_token.
DIFY_REFRESH_TOKEN - Axios拦截器用于自动刷新过期访问令牌以确保永久会话的关键令牌。

🧰 可用工具

🔍 发现和生命周期

  • list_apps:获取工作区中所有应用程序和工作流的分页列表。
  • search_apps:按与名称或描述匹配的关键字搜索应用程序,返回筛选结果 app_ids
  • create_app:直接在工作区中创建新的空应用程序或工作流。

📥 提取

  • get_workflow_dsl:直接从Dify平台数据库下载应用程序的整个Graph YAML定义。

🧬 操纵(带混合验证)

  • inject_node_into_workflow:一个强大的本地解析器,可以安全地为节点附加和格式化新的特定配置块和布局位置。
  • inject_env_variable_into_workflow:将新的环境变量定义附加到工作流的运行时设置映射中。
  • inject_conv_variable_into_workflow:将新的会话变量(会话状态变量)附加到工作流中。
    • Zod混合验证: 本地内置节点在以下条件下进行本地验证 schemas.ts,防止前端UI崩溃。如果插件架构过期,则引擎会正常地在线故障转移到Dify Marketplace API,返回 [WARNING FOR MAINTAINER] 返回到本机提示,这样您就知道您的代码需要更新。
    • DAG验证器: 内置拓扑保护功能,用于检查连接边缘的完整性。自动拒绝任何重影节点或丢失的几何图元元数据。

🚀 执行和同步

  • run_workflow_draft_node:执行Dify工作流草稿中的特定节点。如果node_id为“sys_start_01”,则会触发整个流。
  • update_workflow_dsl:将YAML数据推回Dify /imports 端点,绕过浏览器交互。

🧪 发展

构建

pnpm run build

基于使用Zod和Axios的标准Typescript构建,具有强大的4xx拦截器回退功能。