
MisterSandFR-supabase-mcp-selfhosted
ai.smithery/MisterSandFR-supabase-mcp-selfhosted
Manage Supabase projects end to end across database, auth, storage, realtime, and migrations. Moni…
Documentation
Supabase MCP Server - Self-Hosted Edition
🗄️ Serveur MCP Supabase Self-Hosted - Gestion complète de votre instance Supabase privée
🌟 Fonctionnalités
- 🔐 Gestion complète de votre instance Supabase privée
- 🛠️ 54+ outils MCP pour l'administration Supabase
- 📊 Monitoring et métriques en temps réel
- 🚀 Déploiement automatique sur Railway
- 🔒 Sécurité renforcée avec prévention SQL injection
- ⚡ Performance optimisée pour la production
🏗️ Architecture
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
🚀 Démarrage Rapide
Prérequis
- Python 3.11+
- Instance Supabase (self-hosted ou cloud)
- Variables d'environnement Supabase
Option A — SDK Smithery (recommandé)
# 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 playground
- Le serveur SDK est défini dans
pyproject.tomlvia:[tool.smithery] server = "supabase_mcp_server.server:create_server"
- Lors du déploiement dans l’interface Smithery, configurez le Test Profile puis lancez le Scan.
Option B — HTTP self-hosted (compat)
# 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
Avec Docker (Railway / self-hosted)
# 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
⚙️ Configuration
Variables d'Environnement
# 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=1
🛠️ Outils MCP Disponibles
Base de Données (15 outils)
execute_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 base
Authentification (8 outils)
list_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 RLS
Stockage (6 outils)
list_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 fichier
Temps Réel (4 outils)
list_realtime_publications- Liste des publicationsmanage_realtime- Gestion du temps réelcreate_subscription- Création de subscriptiondelete_subscription- Suppression de subscription
Migrations (8 outils)
create_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éma
Monitoring (5 outils)
get_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é
Utilitaires (8 outils)
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 webhooks
🔧 API Endpoints
Serveur MCP (HTTP self-hosted)
GET /health- Health checkPOST /mcp- Endpoint JSON-RPC principalGET /.well-known/mcp-config- Configuration MCPGET /mcp/tools.json- Découverte des outils (JSON)
Outils Spécialisés
GET /api/tools- Liste des outils disponiblesPOST /api/execute- Exécution d'outils
🚀 Déploiement
Smithery (SDK Python) — Recommandé
- Vérifiez que
pyproject.tomlcontient:[tool.smithery] server = "supabase_mcp_server.server:create_server"
- Dans Smithery → Deploy, sélectionnez SDK Python
- Configurez le Test Profile puis lancez le Scan
- Requis:
SUPABASE_URL,SUPABASE_ANON_KEY
- Requis:
Railway (Self-hosted)
# Déployer sur Railway
railway login
railway init
railway up
Docker
# Build et déploiement
docker build -t supabase-mcp-server .
docker run -p 8000:8000 supabase-mcp-server
Intégration avec Hub Central
Ce 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"]
}
}
}
🧪 Test Profile (Smithery)
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.
🔒 Sécurité
- Validation des entrées pour prévenir les injections SQL
- Rate limiting par IP et utilisateur
- Audit logs de toutes les opérations
- Chiffrement HTTPS obligatoire en production
- Gestion des secrets sécurisée
- Politiques RLS pour la sécurité des données
📊 Monitoring
Le serveur fournit un monitoring complet :
- Métriques de performance en temps réel
- Logs structurés avec niveaux configurables
- Health checks automatiques
- Alertes en cas de problème
- Tableau de bord métriques
- Analyse de performance détaillée
🤝 Contribution
- Fork le repository
- Créer une branche feature (
git checkout -b feature/amazing-feature) - Commit vos changements (
git commit -m 'Add amazing feature') - Push vers la branche (
git push origin feature/amazing-feature) - Ouvrir une Pull Request
📄 Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
🙏 Remerciements
- Supabase pour la plateforme
- Smithery pour l'écosystème MCP
- La communauté Supabase pour les contributions
📞 Support
- 📧 Email : contact@coupaul.fr
- 💬 Discord : Serveur MCP Community
- 🐛 Issues : GitHub Issues
Fait avec ❤️ par coupaul
No installation packages available.
Remote
Related Servers
ai.smithery/afgong-sqlite-mcp-server
Explore your Messages SQLite database to browse tables and inspect schemas with ease. Run flexible…
ai.smithery/bielacki-igdb-mcp-server
Explore and discover video games from the Internet Game Database. Search titles, view detailed inf…
ai.smithery/cpretzinger-ai-assistant-simple
UPDATED 9/1/2025! NEW TOOLS! Use the Redis Stream tools with n8n MCP Client Node for use anywhere!…