Construisez votre propre serveur MCP SQLite avec n8n
Pour qui est-ce fait ?
Ce workflow s’adresse aux développeurs, analystes BI, data engineers ou architectes no-code souhaitant créer une interface sécurisée entre un agent IA (via MCP) et une base de données SQLite. Il est idéal pour celles et ceux qui veulent tester des capacités d’agent conversationnel orientées données, tout en gardant le contrôle total sur les opérations SQL exécutées.
Problème résolu / Cas d’usage
Exposer une base SQLite à une IA via SQL brut peut poser des problèmes de sécurité ou d’intégrité des données. Ce workflow offre une alternative sécurisée et structurée : chaque requête (lecture, insertion, mise à jour) passe par des chemins balisés. L’agent IA interagit via des workflows paramétrés, limitant ainsi les risques et assurant une meilleure traçabilité des requêtes exécutées.
Ce que fait ce workflow
-
Met en place un serveur MCP SQLite auto-hébergé basé sur l’implémentation officielle du Model Context Protocol.
-
Utilise un déclencheur MCP pour capter les requêtes d’un agent IA (Claude, ChatGPT, etc.).
-
Dirige chaque requête via un nœud “Execute workflow” selon son type (select, insert, update).
-
Gère la logique SQL dans :
-
2 nœuds de code (requêtes simples en lecture seule).
-
3 workflows personnalisés pour les requêtes complexes, avec paramètres contrôlés.
-
-
Utilise la bibliothèque
sqlite3
dans les nœuds de code pour exécuter localement les requêtes sur votre base SQLite.
Configuration
1. Préparer la base SQLite
-
Créez ou récupérez une base
.sqlite
prête à l’emploi avec vos tables (ex. : insights, utilisateurs, logs).
2. Mettre en place le serveur MCP dans n8n
-
Téléchargez l’exemple de serveur MCP SQLite :
👉 GitHub – Model Context Protocol SQLite Server -
Créez un workflow principal avec un déclencheur MCP.
-
Ajoutez un nœud Switch pour détecter le type d’opération demandée :
select
,insert
,update
.
3. Ajouter les outils de traitement SQL
-
Nœuds de code : pour exécuter les requêtes de lecture simples (read-only).
-
Workflows personnalisés :
-
SelectHandler
: pour récupérer des insights ou des données filtrées. -
InsertHandler
: pour enregistrer de nouveaux insights. -
UpdateHandler
: pour modifier un enregistrement existant selon des paramètres précis.
-
-
Ces workflows reçoivent uniquement des paramètres validés et construisent les requêtes SQL à la main (pas de SQL généré librement par l’IA).
4. Intégration avec un client MCP
-
Connectez un client IA (Claude Desktop, interface web, etc.) via l’URL de votre serveur MCP n8n.
-
Suivez la doc officielle ici :
👉 Intégration MCP avec Claude Desktop
Personnalisation possible
-
Limiter les types de requêtes disponibles selon l’utilisateur (ex. : lecture seule pour certains).
-
Restreindre les colonnes accessibles ou créer un alias de table avec vue réduite.
-
Ajouter une couche d’authentification et journaliser toutes les requêtes pour audit.
-
Activer le chiffrement et la validation stricte des entrées côté nœud de code.
Exemple d’utilisation
Entrée utilisateur (via agent IA connecté au serveur MCP) :
« Qui a ajouté le plus d’insights business cette semaine ? »
Traitement :
-
L’agent IA formule une requête
select
avec filtres de date. -
Le workflow
SelectHandler
exécute la requête :SELECT utilisateur, COUNT(*) FROM insights WHERE date > '2024-05-27' GROUP BY utilisateur ORDER BY COUNT(*) DESC
Sortie IA :
« Cette semaine, l’utilisateur Jules L. a ajouté 18 insights business. »