streamable-httpupdated 11mo ago
🗄️ Serveur MCP Supabase Self-Hosted - Gestion complète de votre instance Supabase privée
This repository was archived by its owner. It still works, but it is not receiving updates.
What can you do with MisterSandFR supabase mcp selfhosted?
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
Install
Add MisterSandFR supabase mcp selfhosted to your client. Pick the one you use.
claude mcp add --transport http mistersandfr-supabase-mcp-selfhosted https://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcpcodex mcp add mistersandfr-supabase-mcp-selfhosted --url https://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcp{
"mcpServers": {
"mistersandfr-supabase-mcp-selfhosted": {
"url": "https://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"mistersandfr-supabase-mcp-selfhosted": {
"type": "http",
"url": "https://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"mistersandfr-supabase-mcp-selfhosted": {
"url": "https://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mistersandfr-supabase-mcp-selfhosted": {
"serverUrl": "https://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance4/25
- Trust6/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 347 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.14.1Latest | Sep 18, 2025 |
| 1.14.0 | Sep 16, 2025 |