🔐 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"
No FAQ yet. Enrichment fills this from the README on the next crawl.
No tool list yet. Remote servers get one after the first health check.
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 SQL
list_tables - Liste des tables
inspect_schema - Inspection du schéma
apply_migration - Application de migrations
backup_database - Sauvegarde de base
restore_database - Restauration de base
vacuum_analyze - Optimisation de base
get_database_stats - Statistiques de base
create_index - Création d'index
drop_index - Suppression d'index
list_extensions - Liste des extensions
manage_extensions - Gestion des extensions
execute_psql - Commandes psql
check_health - Vérification de santé
get_database_connections - Connexions de base
Authentification (8 outils)
list_auth_users - Liste des utilisateurs
create_auth_user - Création d'utilisateur
update_auth_user - Mise à jour d'utilisateur
delete_auth_user - Suppression d'utilisateur
get_auth_user - Récupération d'utilisateur
verify_jwt_secret - Vérification JWT
manage_roles - Gestion des rôles
manage_rls_policies - Gestion des politiques RLS
Stockage (6 outils)
list_storage_buckets - Liste des buckets
list_storage_objects - Liste des objets
manage_storage_policies - Gestion des politiques
upload_file - Upload de fichier
download_file - Téléchargement de fichier
delete_file - Suppression de fichier
Temps Réel (4 outils)
list_realtime_publications - Liste des publications
manage_realtime - Gestion du temps réel
create_subscription - Création de subscription
delete_subscription - Suppression de subscription
Migrations (8 outils)
create_migration - Création de migration
list_migrations - Liste des migrations
push_migrations - Push des migrations
validate_migration - Validation de migration
smart_migration - Migration intelligente
auto_migrate - Migration automatique
sync_schema - Synchronisation de schéma
import_schema - Import de schéma
Monitoring (5 outils)
get_logs - Récupération des logs
metrics_dashboard - Tableau de bord métriques
analyze_performance - Analyse de performance
analyze_rls_coverage - Analyse couverture RLS
audit_security - Audit de sécurité
Utilitaires (8 outils)
generate_typescript_types - Génération de types TS
generate_crud_api - Génération d'API CRUD
cache_management - Gestion du cache
environment_management - Gestion d'environnement
manage_secrets - Gestion des secrets
manage_functions - Gestion des fonctions
manage_triggers - Gestion des triggers
manage_webhooks - Gestion des webhooks
🔧 API Endpoints
Serveur MCP (HTTP self-hosted)
GET /health - Health check
POST /mcp - Endpoint JSON-RPC principal
GET /.well-known/mcp-config - Configuration MCP
GET /mcp/tools.json - Découverte des outils (JSON)
Outils Spécialisés
GET /api/tools - Liste des outils disponibles
POST /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
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 :