
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.toml
via:[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.toml
contient:[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!…