MisterSandFR-supabase-mcp-selfhosted
Manage Supabase projects end to end across database, auth, storage, realtime, and migrations. Moni鈥�
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
tavily_search 14 个参数 需填 1 项
Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.
必填参数:query
tavily_extract 6 个参数 需填 1 项
Extract content from URLs. Returns raw page content in markdown or text format.
必填参数:urls
tavily_crawl 11 个参数 需填 1 项
Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.
必填参数:url
tavily_map 8 个参数 需填 1 项
Map a website's structure. Returns a list of URLs found starting from the base URL.
必填参数:url
tavily_research 2 个参数 需填 1 项
Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.
必填参数:input
服务介绍
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