ai.smithery/MisterSandFR-supabase-mcp-selfhosted
Manage Supabase projects end to end across database, auth, storage, realtime, and migrations. Moni…
★ 7No licensedatabases
Install
Config snippet generator goes here (5 client tabs)
README
# 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é) ```bash # 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) ```bash # 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) ```bash # 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 ```bash # 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` - Table