n8n MCP Server

Proporciona herramientas de validación de flujos de trabajo y mejores prácticas para la plataforma de automatización n8n.

Documentación

Servidor MCP para n8n

Este proyecto es un servidor MCP (Master Control Program) para n8n que proporciona herramientas de validación de flujos de trabajo y buenas prácticas para tus proyectos de automatización n8n.

Características

  • Validación de flujos de trabajo : Verifica que tus flujos de trabajo cumplan con las buenas prácticas
    • Convenciones de nomenclatura
    • Gestión de errores
    • Seguridad
    • Rendimiento
    • Documentación
  • Integración NextJS : Genera integraciones para tus flujos de trabajo n8n en aplicaciones NextJS
    • Generación automática de rutas API
    • Creación de documentación OpenAPI/Swagger
    • Generación de tipos TypeScript
    • Cliente API para facilitar la integración
  • Gestión de flujos de trabajo : Interactúa con tus flujos de trabajo n8n (listar, recuperar, crear, actualizar, eliminar, exportar, importar)
  • API n8n : Accede directamente a la API n8n para operaciones avanzadas
  • Plantillas de flujos de trabajo : Utiliza plantillas listas para usar en diferentes casos de uso, incluyendo Google Calendar

Requisitos previos

  • Node.js (v16 o superior)
  • pnpm (v7 o superior)
  • Una instancia n8n (local o remota como tu instancia Cloudron en n8n.bienquoi.com)

Instalación

  1. Clona este repositorio o navega a la carpeta del proyecto
  2. Instala las dependencias:
pnpm install
  1. Configura las variables de entorno:
cp .env.example .env

Modifica el archivo .env con tu información de conexión a la API n8n.

Uso

Construcción del proyecto

pnpm build

Inicio del servidor

pnpm start

El servidor MCP será accesible en http://localhost:3000 (o el puerto especificado en tu archivo .env).

Uso con Claude Desktop

Para usar este servidor MCP con Claude Desktop, debes configurar el archivo claude_desktop_config.json en la carpeta %APPDATA%/Claude/:

{
  "mcpServers": {
    "n8n-mcp-server": {
      "command": "node",
      "args": ["/chemin/absolu/vers/mcp-n8n-server/dist/server.js"]
    }
  }
}

Estructura del proyecto

mcp-n8n-server/
├── src/                    # Code source
│   ├── tools/              # Outils MCP
│   │   ├── N8nApiTool.ts                # Outil pour interagir avec l'API n8n
│   │   ├── WorkflowManagerTool.ts       # Outil pour gérer les workflows
│   │   ├── NextJSIntegrationTool.ts     # Outil pour générer des intégrations NextJS
│   │   ├── WorkflowValidatorTool.ts     # Outil pour valider les workflows
│   │   └── ...
│   ├── validators/         # Validateurs de workflows
│   │   ├── naming.js       # Validateur de conventions de nommage
│   │   ├── errorHandling.js # Validateur de gestion des erreurs
│   │   ├── security.js     # Validateur de sécurité
│   │   ├── performance.js  # Validateur de performance
│   │   └── documentation.js # Validateur de documentation
│   ├── resources/          # Ressources partagées
│   └── server.ts           # Point d'entrée du serveur
├── dist/                   # Code compilé
├── public/                 # Fichiers statiques
├── output/                 # Répertoire pour les sorties des outils
├── .env.example            # Exemple de fichier de configuration
└── README.md               # Documentation

Herramientas disponibles

1. N8nApiTool

Interactúa directamente con la API n8n.

// Exemple d'utilisation
{
  "method": "GET",
  "endpoint": "/workflows",
  "params": "?active=true"
}

2. WorkflowManagerTool

Gestiona los flujos de trabajo n8n (listar, recuperar, crear, actualizar, eliminar, exportar, importar).

// Exemple d'utilisation
{
  "action": "list",
  "tags": "production"
}

3. NextJSIntegrationTool

Genera integraciones NextJS para los flujos de trabajo n8n.

// Exemple d'utilisation
{
  "workflowId": "123",
  "outputDir": "./my-nextjs-app/pages/api",
  "generateTypes": true,
  "generateOpenAPI": true
}

4. WorkflowValidatorTool

Valida los flujos de trabajo n8n según diferentes criterios.

// Exemple d'utilisation
{
  "workflow": "{...}",
  "validators": ["naming", "errorHandling", "security"],
  "strictness": "high"
}

Contribución

¡Las contribuciones son bienvenidas! No dudes en abrir un issue o una pull request.

Licencia

MIT