Supabase MCP : gérer votre base de données Supabase avec l’IA, sans risque
Supabase a conquis beaucoup de développeurs avec sa promesse : une base Postgres, l’authentification, le stockage et des fonctions serverless, le tout prêt en quelques minutes. Son serveur MCP officiel va plus loin : il permet à votre assistant IA de concevoir le schéma de la base, d’écrire les migrations, d’interroger les données et de lire les logs, directement depuis Claude, Cursor ou VS Code.
C’est puissant, et c’est justement pour ça qu’il faut le configurer avec soin. Un agent qui a les droits d’écriture sur une base de production peut faire des dégâts. Ce guide vous montre comment l’installer et l’utiliser en toute sécurité.
Supabase MCP en bref
| Point clé | Détail |
|---|---|
| Éditeur | Supabase (officiel) |
| URL distante | https://mcp.supabase.com/mcp |
| Authentification | Connexion à votre compte Supabase (OAuth) |
| Options clés | project_ref, read_only, features |
| Prix | Gratuit, compte Supabase requis |
| Idéal pour | Prototypage, conception de schéma, débogage |
📇 Retrouvez la fiche Supabase MCP dans notre annuaire des serveurs MCP : commande d’installation, liens officiels et catégorie.
Que peut faire le serveur Supabase MCP ?
Les outils sont organisés en groupes, que vous pouvez activer ou désactiver :
- Database : lister les tables et extensions, exécuter du SQL, appliquer des migrations.
- Debugging : consulter les logs et les recommandations de sécurité et de performance (advisors).
- Development : générer les types TypeScript, récupérer l’URL et les clés publiques du projet.
- Edge Functions : lister et déployer des fonctions.
- Account : lister, créer ou mettre en pause des projets.
- Docs : rechercher dans la documentation Supabase à jour.
- Branching (offres payantes) : créer des branches de développement et les fusionner.
- Storage : gérer les buckets (désactivé par défaut).
Installer Supabase MCP
Le serveur est hébergé par Supabase : aucune installation locale n’est nécessaire. Vous vous connectez simplement avec votre compte.
Avec Claude Code
Ajoutez un fichier .mcp.json à la racine de votre projet :
{
"mcpServers": {
"supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp?project_ref=VOTRE_REF_PROJET&read_only=true"
}
}
}
Lancez Claude Code, tapez /mcp et suivez l’authentification dans le navigateur. La référence du projet se trouve dans les paramètres du projet sur le tableau de bord Supabase.
Avec Cursor, VS Code ou Claude Desktop
Le principe est le même : déclarez un serveur HTTP avec l’URL ci-dessus. Le client ouvre une fenêtre de connexion Supabase au premier usage.
Avec le CLI Supabase en local
Si vous développez avec le CLI Supabase, un serveur MCP est aussi disponible sur votre instance locale, à l’adresse http://localhost:54321/mcp. C’est la solution idéale pour expérimenter sans toucher à un projet hébergé.
Premiers pas : des prompts utiles
- « Liste les tables du schéma public avec leurs colonnes et leurs relations. »
- « Crée une table
commandesliée àclients, avec des politiques RLS pour que chaque utilisateur ne voie que ses commandes. Écris-le sous forme de migration. » - « Génère les types TypeScript de la base et mets-les à jour dans
src/types/supabase.ts. » - « Affiche les derniers logs de l’API et explique pourquoi les requêtes vers
/rest/v1/profilsrenvoient une erreur 401. » - « Lance les advisors de sécurité et dis-moi quelles tables n’ont pas de RLS activé. »
Cas d’usage concrets
Prototyper une application. Vous décrivez votre modèle de données en français, l’assistant crée les tables, les relations et les politiques RLS, puis génère les types pour votre front.
Déboguer un problème d’accès. Entre les logs et la lecture des politiques RLS, l’agent identifie rapidement pourquoi une requête est refusée.
Auditer un projet existant. Les advisors détectent les tables sans RLS, les index manquants ou les fonctions mal sécurisées. L’assistant vous explique chaque point et propose une correction.
Déployer une Edge Function. L’agent écrit la fonction dans votre projet, puis la déploie sans que vous quittiez l’éditeur.
Bonnes pratiques pour utiliser Supabase MCP
1. Ne connectez pas l’IA à la production
C’est la recommandation numéro un de Supabase. Travaillez sur un projet de développement, sur une branche ou en local avec le CLI. Si vous devez vraiment consulter la production, faites-le en lecture seule.
2. Activez le mode lecture seule par défaut
Avec read_only=true, les requêtes s’exécutent avec un utilisateur Postgres en lecture seule. Vous le retirez uniquement quand vous avez besoin que l’agent écrive, puis vous le remettez.
3. Limitez l’accès à un seul projet
Le paramètre project_ref empêche l’assistant de voir ou modifier vos autres projets. Sans lui, il a accès à tout votre compte, y compris la création et la mise en pause de projets.
4. N’activez que les groupes d’outils utiles
Avec features=database,docs,debugging, par exemple, vous réduisez la surface d’attaque et le nombre d’outils que le modèle doit gérer. Moins d’outils, c’est aussi des choix plus pertinents de la part de l’IA.
5. Gardez l’approbation manuelle des outils
Relisez chaque requête SQL et chaque migration avant de l’accepter, surtout les DROP, DELETE et ALTER. Désactiver la validation pour gagner quelques secondes n’en vaut pas la peine.
6. Protégez-vous des injections de prompt
Vos tables peuvent contenir du texte saisi par des utilisateurs, par exemple un message de support. Si ce texte contient des instructions malveillantes, l’IA risque de les suivre. Le mode lecture seule et la validation manuelle limitent fortement ce risque.
7. Passez par des migrations
Demandez à l’agent d’écrire les changements de schéma sous forme de migrations versionnées plutôt que d’exécuter du SQL à la volée. Vous gardez un historique clair et reproductible.
Problèmes fréquents et solutions
Erreur de permission lors d’une écriture. Vous êtes probablement en mode read_only. C’est voulu : retirez temporairement le paramètre si l’écriture est légitime.
L’assistant ne voit pas le bon projet. Vérifiez la valeur de project_ref dans l’URL, puis relancez la connexion.
Les outils de branches sont absents. Le branching est réservé aux offres payantes de Supabase.
Questions fréquentes
Le serveur Supabase MCP est-il gratuit ?
Oui. Il suffit d’un compte Supabase, y compris avec l’offre gratuite. Seules certaines fonctionnalités comme le branching demandent une offre payante.
Peut-on l’utiliser avec un projet Supabase en local ?
Oui, le CLI Supabase expose un serveur MCP sur http://localhost:54321/mcp. C’est le meilleur terrain de jeu pour tester sans risque.
L’IA peut-elle supprimer mes données ?
Si vous lui donnez les droits d’écriture et que vous validez l’action, oui. D’où l’importance du mode lecture seule, du cloisonnement par projet et de l’approbation manuelle.
Quelle différence avec le serveur PostgreSQL MCP ?
Le serveur PostgreSQL générique donne un accès SQL à n’importe quelle base. Supabase MCP ajoute tout l’écosystème Supabase : logs, advisors, Edge Functions, génération de types et gestion des projets.
En résumé
Supabase MCP fait de votre assistant IA un vrai collègue backend : il conçoit le schéma, écrit les migrations et diagnostique les problèmes. Pour en profiter sans mauvaise surprise, gardez trois réflexes : un projet de développement, le mode lecture seule par défaut et la validation manuelle de chaque action.