ai.smithery/MisterSandFR-supabase-mcp-selfhosted

数据与存储

by mistersandfr

可在工作区中直接查询和管理 Supabase database,支持执行 SQL、浏览数据并处理常见数据库操作。

什么是 ai.smithery/MisterSandFR-supabase-mcp-selfhosted?

可在工作区中直接查询和管理 Supabase database,支持执行 SQL、浏览数据并处理常见数据库操作。

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.

code
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 - 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é

  1. Vérifiez que pyproject.toml contient:
    • [tool.smithery] server = "supabase_mcp_server.server:create_server"
  2. Dans Smithery → Deploy, sélectionnez SDK Python
  3. Configurez le Test Profile puis lancez le Scan
    • Requis: SUPABASE_URL, SUPABASE_ANON_KEY

Railway (Self-hosted)

bash
# Déployer sur Railway
railway login
railway init
railway up

Docker

bash
# 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 :

json
{
  "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:

json
{
  "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

  1. Fork le repository
  2. Créer une branche feature (git checkout -b feature/amazing-feature)
  3. Commit vos changements (git commit -m 'Add amazing feature')
  4. Push vers la branche (git push origin feature/amazing-feature)
  5. 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


Fait avec ❤️ par coupaul

常见问题

ai.smithery/MisterSandFR-supabase-mcp-selfhosted 是什么?

可在工作区中直接查询和管理 Supabase database,支持执行 SQL、浏览数据并处理常见数据库操作。

相关 Skills

技术栈评估

by alirezarezvani

Universal
热门

对比框架、数据库和云服务,结合 5 年 TCO、安全风险、生态活力与迁移复杂度做量化评估,适合技术选型、栈升级和替换路线决策。

✎ 帮你系统比较技术栈优劣,不只看功能,还把TCO、安全性和生态健康度一起量化,选型和迁移决策更稳。

数据与存储
未扫描26.0k

资深数据科学家

by alirezarezvani

Universal
热门

覆盖实验设计、特征工程、预测建模、因果推断与模型评估,适合用 Python/R/SQL 做 A/B 测试、时序分析和生产级 ML 落地,支撑数据驱动决策。

✎ 从 A/B 测试、因果分析到预测建模一条龙搞定,既有硬核统计方法也懂业务沟通,特别适合把数据结论真正落地。

数据与存储
未扫描26.0k

资深架构师

by alirezarezvani

Universal
热门

适合系统设计评审、ADR记录和扩展性规划,分析依赖与耦合,权衡单体或微服务、数据库与技术栈选型,并输出Mermaid、PlantUML、ASCII架构图。

✎ 搞系统设计、技术选型和扩展规划时,用它能更快理清架构决策与依赖关系,还能直接产出 Mermaid/PlantUML 图,方案讨论效率很高。

数据与存储
未扫描26.0k

相关 MCP Server

by Anthropic

热门

PostgreSQL 是让 Claude 直接查询和管理你的数据库的 MCP 服务器。

✎ 这个服务器解决了开发者需要手动编写 SQL 查询的痛点,特别适合数据分析师或后端开发者快速探索数据库结构。不过,由于是参考实现,生产环境使用前务必评估安全风险,别指望它能处理复杂事务。

数据与存储
89.7k

SQLite 数据库

编辑精选

by Anthropic

热门

SQLite 是让 AI 直接查询本地数据库进行数据分析的 MCP 服务器。

✎ 这个服务器解决了 AI 无法直接访问 SQLite 数据库的问题,适合需要快速分析本地数据集的开发者。不过,作为参考实现,它可能缺乏生产级的安全特性,建议在受控环境中使用。

数据与存储
89.2k

by Firecrawl

热门

Firecrawl 是让 AI 直接抓取网页并提取结构化数据的 MCP 服务器。

✎ 它解决了手动写爬虫的麻烦,让 Claude 能直接访问动态网页内容。最适合需要实时数据的研究者或开发者,比如监控竞品价格或抓取新闻。但要注意,它依赖第三方 API,可能涉及隐私和成本问题。

数据与存储
7.1k

评论