Dify MCP Server

Dify MCP 服务器

English |中文

基于 TypeScript 的 MCP(模型上下文协议)服务器,用于连接 MCP 客户端和 Dify 应用。该服务器动态地将 Dify 应用公开为可在 MCP 客户端中直接使用的工具。

概述

该服务器实现了模型上下文协议 (MCP),用于连接 MCP 客户端和 Dify 应用。它动态地从 Dify API 获取应用规范,并将其公开为 MCP 工具。该服务器允许用户通过 MCP 客户端内的统一界面与多个 Dify 应用进行交互。

特征

动态 Dify 集成

  • 使用 API 密钥连接到多个 Dify 应用程序
  • 自动获取应用程序元数据和参数
  • 根据Dify应用规范动态生成工具界面
  • 支持各种输入类型,包括文本、段落和选择下拉菜单

请求处理

  • 通过请求重试实现强大的错误处理
  • 支持阻塞和流式响应模式
  • JSON BigInt 处理大数值

配置

  • 通过环境变量配置的 API 密钥
  • 可配置基本 URL 和超时设置
  • 当环境变量不可用时回退到默认值

安装

先决条件

  • Node.js(v16 或更高版本)
  • npm 或 yarn

设置

  1. 克隆存储库
git clone https://github.com/zhuzhoulin/dify-mcp-server.git cd dify-mcp-server
  1. 安装依赖项
npm install
  1. 构建项目
npm run build

与 Windsurf IDE 集成

要与 Windsurf IDE 一起使用,请将服务器配置添加到您的 MCP 设置中:

{ "mcpServers": { "dify-mcp-server": { "command": "node", "args": [ "/path/to/dify-mcp-server/build/index.js" ], "env": { "AGENT_API_KEYS": "key1,key2,key3", "BASE_URL": "https://api.dify.ai", "TIMEOUT": "60000" } } } }

环境变量

  • AGENT_API_KEYS :Dify API 密钥的逗号分隔列表
  • BASE_URL :Dify API 的基本 URL(默认值: https ://api.dify.ai )
  • TIMEOUT :请求超时(以毫秒为单位)(默认值:60000)

如何获取环境变量

APISSH(AGENT_API_KEYS):多个以,分割

用法

配置完成后,Dify MCP 服务器将:

  1. 使用提供的 API 密钥连接到指定的 Dify 应用程序
  2. 获取应用程序元数据和参数规范
  3. 根据Dify应用配置生成MCP工具接口
  4. 使这些工具在 Windsurf IDE 中可用

每个 Dify 应用程序将作为一个单独的工具公开,其名称格式为dify_app_info_{application_name}

发展

可用脚本

  • npm run build :构建项目
  • npm run prepare :准备分发项目
  • npm run watch :观察变化并重建
  • npm run inspector :运行 MCP 检查器进行调试

项目结构

  • src/index.ts :主服务器实现
  • src/request.ts :用于 Dify API 通信的 HTTP 客户端
  • src/type.ts :Dify API 的 TypeScript 接口

故障排除

如果您遇到问题:

  1. 验证您的 API 密钥是否正确并具有必要的权限
  2. 检查 BASE_URL 是否可以从您的环境访问
  3. 查看服务器日志以获取详细的错误消息
  4. 确保 Dify 应用程序配置正确且可访问

执照

该项目根据 LICENSE 文件中指定的条款进行许可。

-
security - not tested
-
license - not tested
-
quality - not tested

基于 TypeScript 的服务器,将 MCP 客户端连接到 Dify 应用程序,动态地将 Dify 应用程序公开为可在 MCP 客户端内直接使用的工具。

  1. Overview
    1. Features
      1. Dynamic Dify Integration
      2. Request Handling
      3. Configuration
    2. Installation
      1. Prerequisites
      2. Setup
      3. Integration with Windsurf IDE
    3. Environment Variables
      1. How to get Environment Variables
        1. Usage
          1. Development
            1. Available Scripts
            2. Project Structure
          2. Troubleshooting
            1. License
              ID: igha6p0ztu