lowprofix_n8n-mcp-server

lowprofix_n8n-mcp-server

0

The project is an MCP server for n8n, designed to provide tools and best practices for automating workflows. It includes features such as workflow validation, NextJS integration, and workflow management. The server enables seamless interaction and integration with n8n workflows and APIs.

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