Manage Supabase projects end to end across database, auth, storage, realtime, and migrations. Moni…
🗄️ Serveur MCP Supabase Self-Hosted - Gestion complète de votre instance Supabase privée
Ce repository contient uniquement le serveur MCP Supabase pur, sans interface web ni hub central.
Supabase MCP Server (Port 8000)
├── 🗄️ Gestion de base de données
├── 🔐 Authentification et autorisation
├── 📁 Stockage et fichiers
├── 🔄 Temps réel et subscriptions
├── 🛠️ Migrations et schémas
├── 📊 Monitoring et logs
└── 🚀 Déploiement automatique# Cloner le repository
git clone https://github.com/MisterSandFR/Supabase-MCP-SelfHosted.git
cd Supabase-MCP-SelfHosted
# Installer les dépendances
pip install -r requirements.txt
# (Facultatif) Installer la CLI Smithery si besoin
npm i -g @smithery/cli
# Lancer le dev SDK (selon votre environnement)
smithery dev # ou: smithery playgroundpyproject.toml via:
[tool.smithery] server = "supabase_mcp_server.server:create_server"# Cloner le repository
git clone https://github.com/MisterSandFR/Supabase-MCP-SelfHosted.git
cd Supabase-MCP-SelfHosted
# Installer les dépendances Python
pip install -r requirements.txt
# Configurer les variables d'environnement
export SUPABASE_URL="https://your-project.supabase.co"
export SUPABASE_ANON_KEY="your-anon-key"
export SUPABASE_SERVICE_KEY="your-service-key" # Optionnel
# Démarrer le serveur HTTP externe
python src/supabase_server.py# Build et démarrage (utilisez Dockerfile.railway si besoin)
docker build -f Dockerfile.railway -t supabase-mcp-server .
docker run -p 8000:8000 \
-e SUPABASE_URL="https://your-project.supabase.co" \
-e SUPABASE_ANON_KEY="your-anon-key" \
supabase-mcp-server# Supabase Configuration
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=eyJ... (votre clé anonyme)
SUPABASE_SERVICE_KEY=eyJ... (optionnel, pour opérations privilégiées)
# Server Configuration
PORT=8000
PYTHONUNBUFFERED=1execute_sql - Exécution de requêtes SQLlist_tables - Liste des tablesinspect_schema - Inspection du schémaapply_migration - Application de migrationsbackup_database - Sauvegarde de baserestore_database - Restauration de basevacuum_analyze - Optimisation de baseget_database_stats - Statistiques de basecreate_index - Création d'indexdrop_index - Suppression d'indexlist_extensions - Liste des extensionsmanage_extensions - Gestion des extensionsexecute_psql - Commandes psqlcheck_health - Vérification de santéget_database_connections - Connexions de baselist_auth_users - Liste des utilisateurscreate_auth_user - Création d'utilisateurupdate_auth_user - Mise à jour d'utilisateurdelete_auth_user - Suppression d'utilisateurget_auth_user - Récupération d'utilisateurverify_jwt_secret - Vérification JWTmanage_roles - Gestion des rôlesmanage_rls_policies - Gestion des politiques RLSlist_storage_buckets - Liste des bucketslist_storage_objects - Liste des objetsmanage_storage_policies - Gestion des politiquesupload_file - Upload de fichierdownload_file - Téléchargement de fichierdelete_file - Suppression de fichierlist_realtime_publications - Liste des publicationsmanage_realtime - Gestion du temps réelcreate_subscription - Création de subscriptiondelete_subscription - Suppression de subscriptioncreate_migration - Création de migrationlist_migrations - Liste des migrationspush_migrations - Push des migrationsvalidate_migration - Validation de migrationsmart_migration - Migration intelligenteauto_migrate - Migration automatiquesync_schema - Synchronisation de schémaimport_schema - Import de schémaget_logs - Récupération des logsmetrics_dashboard - Tableau de bord métriquesanalyze_performance - Analyse de performanceanalyze_rls_coverage - Analyse couverture RLSaudit_security - Audit de sécuritégenerate_typescript_types - Génération de types TSgenerate_crud_api - Génération d'API CRUDcache_management - Gestion du cacheenvironment_management - Gestion d'environnementmanage_secrets - Gestion des secretsmanage_functions - Gestion des fonctionsmanage_triggers - Gestion des triggersmanage_webhooks - Gestion des webhooksGET /health - Health checkPOST /mcp - Endpoint JSON-RPC principalGET /.well-known/mcp-config - Configuration MCPGET /mcp/tools.json - Découverte des outils (JSON)GET /api/tools - Liste des outils disponiblesPOST /api/execute - Exécution d'outilspyproject.toml contient:
[tool.smithery] server = "supabase_mcp_server.server:create_server"SUPABASE_URL, SUPABASE_ANON_KEY# Déployer sur Railway
railway login
railway init
railway up# Build et déploiement
docker build -t supabase-mcp-server .
docker run -p 8000:8000 supabase-mcp-serverCe serveur est conçu pour être intégré avec le MCP Hub Central :
{
"servers": {
"supabase": {
"name": "Supabase MCP Server",
"host": "supabase.mcp.coupaul.fr",
"port": 8000,
"path": "/",
"categories": ["database", "auth", "storage", "realtime", "security", "migration", "monitoring", "performance"]
}
}
}Lors de la connexion côté Smithery, fournissez les clés suivantes dans le Test Profile:
{
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_ANON_KEY": "eyJ..."
}En cas de cache, re-sauvegardez le profil et relancez le Scan.
Le serveur fournit un monitoring complet :
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Fait avec ❤️ par coupaul