Dify MCP Server

Un servidor basado en TypeScript que integra la plataforma de aplicaciones de IA Dify con el Cliente MCP.

Documentación

Dify MCP Server

Dify Logo

English | 中文

Un servidor MCP (Model Context Protocol) basado en TypeScript que conecta el Cliente MCP con las aplicaciones de Dify. Este servidor expone dinámicamente las aplicaciones de Dify como herramientas que pueden utilizarse directamente dentro del Cliente MCP.

Descripción general

Este servidor implementa el Model Context Protocol para conectar el Cliente MCP con las aplicaciones de Dify. Obtiene dinámicamente las especificaciones de las aplicaciones desde las APIs de Dify y las expone como herramientas MCP. El servidor permite a los usuarios interactuar con múltiples aplicaciones de Dify a través de una interfaz unificada dentro del Cliente MCP.

Características

Integración dinámica con Dify

  • Se conecta a múltiples aplicaciones de Dify mediante claves API
  • Obtiene automáticamente los metadatos y parámetros de las aplicaciones
  • Genera dinámicamente interfaces de herramientas basadas en las especificaciones de las aplicaciones de Dify
  • Admite varios tipos de entrada, incluidos texto, párrafos y menús desplegables

Manejo de solicitudes

  • Manejo robusto de errores con reintentos de solicitudes
  • Compatibilidad con modos de respuesta de bloqueo y transmisión (streaming)
  • Manejo de JSON BigInt para valores numéricos grandes

Configuración

  • Claves API configuradas mediante variables de entorno
  • URL base y ajustes de tiempo de espera configurables
  • Valores predeterminados de respaldo cuando las variables de entorno no están disponibles

Instalación

Requisitos previos

  • Node.js (v16 o superior)
  • npm o yarn

Configuración

  1. Clona el repositorio
git clone https://github.com/zhuzhoulin/dify-mcp-server.git
cd dify-mcp-server
  1. Instala las dependencias
npm install
  1. Compila el proyecto
npm run build

Integración con Windsurf IDE

Para usarlo con Windsurf IDE, añade la configuración del servidor a tus ajustes de 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"
      }
    }
  }
}

Variables de entorno

  • AGENT_API_KEYS: Lista de claves API de Dify separadas por comas
  • BASE_URL: URL base para la API de Dify (predeterminada: https://api.dify.ai)
  • TIMEOUT: Tiempo de espera de solicitud en milisegundos (predeterminado: 60000)

Cómo obtener las variables de entorno

Claves API (AGENT_API_KEYS): múltiples separadas por comas

1744026439630

1744026494831

Uso

Una vez configurado, el Dify MCP Server:

  1. Se conectará a las aplicaciones de Dify especificadas utilizando las claves API proporcionadas
  2. Obtendrá los metadatos de las aplicaciones y las especificaciones de parámetros
  3. Generará interfaces de herramientas MCP basadas en las configuraciones de las aplicaciones de Dify
  4. Hará que estas herramientas estén disponibles dentro de Windsurf IDE

Cada aplicación de Dify se expondrá como una herramienta independiente con un formato de nombre de dify_app_info_{application_name}.

Desarrollo

Scripts disponibles

  • npm run build: Compila el proyecto
  • npm run prepare: Prepara el proyecto para su distribución
  • npm run watch: Observa los cambios y recompila
  • npm run inspector: Ejecuta el inspector MCP para depuración

Estructura del proyecto

  • src/index.ts: Implementación principal del servidor
  • src/request.ts: Cliente HTTP para la comunicación con la API de Dify
  • src/type.ts: Interfaces TypeScript para la API de Dify

Solución de problemas

Si encuentras problemas:

  1. Verifica que tus claves API sean correctas y tengan los permisos necesarios
  2. Comprueba que la BASE_URL sea accesible desde tu entorno
  3. Revisa los registros del servidor para ver mensajes de error detallados
  4. Asegúrate de que las aplicaciones de Dify estén correctamente configuradas y sean accesibles

Licencia

Este proyecto está licenciado bajo los términos especificados en el archivo LICENSE.