MCP Server for n8n logo

MCP Server for n8n

by MCP-Mirror

This project is an MCP (Master Control Program) server for n8n that provides workflow validation tools and best practices for your n8n automation projects. It also offers NextJS integration capabilities.

View on GitHub

Last updated: N/A

Serveur MCP pour n8n

Ce projet est un serveur MCP (Master Control Program) pour n8n qui fournit des outils de validation de workflows et de bonnes pratiques pour vos projets d'automatisation n8n.

Fonctionnalités

  • Validation de workflows : Vérifiez que vos workflows respectent les bonnes pratiques
    • Conventions de nommage
    • Gestion des erreurs
    • Sécurité
    • Performance
    • Documentation
  • Intégration NextJS : Générez des intégrations pour vos workflows n8n dans des applications NextJS
    • Génération automatique de routes API
    • Création de documentation OpenAPI/Swagger
    • Génération de types TypeScript
    • Client API pour faciliter l'intégration
  • Gestion des workflows : Interagissez avec vos workflows n8n (liste, récupération, création, mise à jour, suppression, export, import)
  • API n8n : Accédez directement à l'API n8n pour des opérations avancées
  • Templates de workflows : Utilisez des templates prêts à l'emploi pour différents cas d'usage, notamment Google Calendar

Prérequis

  • Node.js (v16 ou supérieur)
  • pnpm (v7 ou supérieur)
  • Une instance n8n (locale ou distante comme votre instance Cloudron sur n8n.bienquoi.com)

Installation

  1. Clonez ce dépôt ou naviguez vers le dossier du projet
  2. Installez les dépendances :
pnpm install
  1. Configurez les variables d'environnement :
cp .env.example .env

Modifiez le fichier .env avec vos informations de connexion à l'API n8n.

Utilisation

Construction du projet

pnpm build

Démarrage du serveur

pnpm start

Le serveur MCP sera accessible à l'adresse http://localhost:3000 (ou le port spécifié dans votre fichier .env).

Utilisation avec Claude Desktop

Pour utiliser ce serveur MCP avec Claude Desktop, vous devez configurer le fichier claude_desktop_config.json dans le dossier %APPDATA%/Claude/ :

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

Structure du projet

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

Outils disponibles

1. N8nApiTool

Interagit directement avec l'API n8n.

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

2. WorkflowManagerTool

Gère les workflows n8n (liste, récupère, crée, met à jour, supprime, exporte, importe).

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

3. NextJSIntegrationTool

Génère des intégrations NextJS pour les workflows n8n.

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

4. WorkflowValidatorTool

Valide les workflows n8n selon différents critères.

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

Contribution

Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request.

Licence

MIT