mcpField
M
MisterSandFR-supabase-mcp-selfhosted

MisterSandFR-supabase-mcp-selfhosted

リモート
github.com/MisterSandFRデータベース758 週間前に更新
リポジトリ

MisterSandFR-supabase-mcp-selfhosted について

プライベートなSupabaseインスタンスを管理する、セルフホスト可能なMCPサーバーです。データベースに加え、認証、ストレージ、リアルタイム機能、マイグレーション、監視を扱い、Docker、Railway、Smitheryでのデプロイに対応します。

主な機能

  1. 01データベース、スキーマ、マイグレーションの管理
  2. 02ユーザー、ロール、RLSポリシーの管理
  3. 03ストレージバケットとファイルの操作
  4. 04リアルタイムの公開設定とサブスクリプション管理
  5. 05ログやメトリクスの確認とセキュリティ監査
  6. 06Docker、Railway、Smitheryでのデプロイ

活用シーン

  1. 01MCPツール経由でのSupabaseデータベース保守
  2. 02認証ユーザーとデータアクセス方針の管理
  3. 03パフォーマンス問題の調査とログ確認
  4. 04セルフホスト環境へのSupabase MCPサーバーのデプロイ

MCP 対応

MCPクライアントに、Supabaseのデータベース、認証、ストレージ、リアルタイム、マイグレーション、監視、管理ツールを公開します。Smithery SDKまたはセルフホスト型HTTPサーバーとして実行できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcp認証が必要

ツール

詳細

Supabase MCP サーバー - セルフホスト版

🗄️ Supabase セルフホスト版 MCP サーバー - プライベートな Supabase インスタンスを包括的に管理

🌟 機能

  • 🔐 プライベートな Supabase インスタンスを包括的に管理
  • 🛠️ Supabase 管理用の54 以上の MCP ツール
  • 📊 リアルタイムのモニタリングとメトリクス
  • 🚀 Railway への自動デプロイ
  • 🔒 SQL インジェクション防止による強化されたセキュリティ
  • ⚡ 本番環境向けに最適化されたパフォーマンス

🏗️ アーキテクチャ

このリポジトリには、ウェブインターフェースや中央ハブを含まない、純粋な Supabase MCP サーバーのみが含まれています。

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

🚀 クイックスタート

前提条件
  • Python 3.11+
  • Supabase インスタンス(セルフホストまたはクラウド)
  • Supabase の環境変数
オプション A — Smithery SDK(推奨)
# 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
  • SDK サーバーは pyproject.toml で次のように定義されています。
    • [tool.smithery] server = "supabase_mcp_server.server:create_server"
  • Smithery のインターフェースでデプロイする際は、Test Profile を設定してから Scan を実行してください。
オプション B — HTTP セルフホスト(互換)
# 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
Docker を使用する場合(Railway/セルフホスト)
# 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

⚙️ 設定

環境変数
# 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

🛠️ 利用可能な MCP ツール

データベース(15 ツール)
  • execute_sql - SQL クエリの実行
  • list_tables - テーブル一覧
  • inspect_schema - スキーマの検査
  • apply_migration - マイグレーションの適用
  • backup_database - データベースのバックアップ
  • restore_database - データベースの復元
  • vacuum_analyze - データベースの最適化
  • get_database_stats - データベース統計情報
  • create_index - インデックスの作成
  • drop_index - インデックスの削除
  • list_extensions - 拡張機能の一覧
  • manage_extensions - 拡張機能の管理
  • execute_psql - psql コマンド
  • check_health - ヘルスチェック
  • get_database_connections - データベース接続
認証(8 ツール)
  • list_auth_users - ユーザー一覧
  • create_auth_user - ユーザーの作成
  • update_auth_user - ユーザーの更新
  • delete_auth_user - ユーザーの削除
  • get_auth_user - ユーザーの取得
  • verify_jwt_secret - JWT の検証
  • manage_roles - ロールの管理
  • manage_rls_policies - RLS ポリシーの管理
ストレージ(6 ツール)
  • list_storage_buckets - バケット一覧
  • list_storage_objects - オブジェクト一覧
  • manage_storage_policies - ポリシーの管理
  • upload_file - ファイルのアップロード
  • download_file - ファイルのダウンロード
  • delete_file - ファイルの削除
リアルタイム(4 ツール)
  • list_realtime_publications - パブリケーション一覧
  • manage_realtime - リアルタイム機能の管理
  • create_subscription - サブスクリプションの作成
  • delete_subscription - サブスクリプションの削除
マイグレーション(8 ツール)
  • create_migration - マイグレーションの作成
  • list_migrations - マイグレーション一覧
  • push_migrations - マイグレーションのプッシュ
  • validate_migration - マイグレーションの検証
  • smart_migration - スマートマイグレーション
  • auto_migrate - マイグレーションの自動実行
  • sync_schema - スキーマの同期
  • import_schema - スキーマのインポート
モニタリング(5 ツール)
  • get_logs - ログの取得
  • metrics_dashboard - メトリクスダッシュボード
  • analyze_performance - パフォーマンス分析
  • analyze_rls_coverage - RLS カバレッジ分析
  • audit_security - セキュリティ監査
ユーティリティ(8 ツール)
  • generate_typescript_types - TypeScript 型の生成
  • generate_crud_api - CRUD API の生成
  • cache_management - キャッシュの管理
  • environment_management - 環境の管理
  • manage_secrets - シークレットの管理
  • manage_functions - 関数の管理
  • manage_triggers - トリガーの管理
  • manage_webhooks - Webhook の管理

🔧 API エンドポイント

MCP サーバー(HTTP セルフホスト)
  • GET /health - ヘルスチェック
  • POST /mcp - メインの JSON-RPC エンドポイント
  • GET /.well-known/mcp-config - MCP 設定
  • GET /mcp/tools.json - ツールの検出(JSON)
専門ツール
  • GET /api/tools - 利用可能なツールの一覧
  • POST /api/execute - ツールの実行

🚀 デプロイ

Smithery(Python SDK)— 推奨
  1. pyproject.toml に以下が含まれていることを確認します。
    • [tool.smithery] server = "supabase_mcp_server.server:create_server"
  2. Smithery → Deploy で Python SDK を選択します
  3. Test Profile を設定し、Scan を実行します
    • 必須:SUPABASE_URL、SUPABASE_ANON_KEY
Railway(セルフホスト)
# 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
Hub Central との統合

このサーバーは 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)

Smithery 側で接続する際は、Test Profile に以下のキーを入力してください。

{
  "SUPABASE_URL": "https://your-project.supabase.co",
  "SUPABASE_ANON_KEY": "eyJ..."
}

キャッシュがある場合は、プロファイルを再保存して Scan を再実行してください。

🔒 セキュリティ

  • 入力の検証による SQL インジェクションの防止
  • IP とユーザーごとのレート制限
  • すべての操作の監査ログ
  • 本番環境でのHTTPS 暗号化の必須化
  • シークレットの安全な管理
  • データセキュリティのためのRLS ポリシー

📊 モニタリング

サーバーでは包括的なモニタリングを提供します。

  • リアルタイムのパフォーマンスメトリクス
  • 設定可能なレベルを備えた構造化ログ
  • 自動のヘルスチェック
  • 問題発生時のアラート
  • メトリクスのダッシュボード
  • 詳細なパフォーマンス分析

🤝 貢献

  1. リポジトリをフォークします
  2. feature ブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. Pull Request を作成します

📄 ライセンス

このプロジェクトは MIT ライセンスのもとで公開されています。詳細は LICENSE ファイルをご覧ください。

🙏 謝辞

  • プラットフォームを提供する Supabase
  • MCP エコシステムを提供する Smithery
  • 貢献してくださった Supabase コミュニティ

📞 サポート


coupaul が ❤️ を込めて作成

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。