/ ディレクトリ / プレイグラウンド / supabase-mcp-server
● コミュニティ alexander-zuev ⚡ 即起動

supabase-mcp-server

作者 alexander-zuev · alexander-zuev/supabase-mcp-server

A community Supabase MCP with three-tier safety (safe / write / destructive), auto-migrations, and Management + Auth API coverage — now superseded by the official Supabase MCP.

alexander-zuev/supabase-mcp-server predates the official Supabase MCP. It offers rich coverage: SQL (with risk tiers), automatic migration tracking, Management API passthrough, Auth Admin SDK operations, and logs across 9+ Supabase services. The maintainer has announced they will no longer actively maintain it now that Supabase ships an official MCP — consider migration.

なぜ使うのか

主な機能

ライブデモ

実際の動作

supabase-2.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "supabase-2": {
      "command": "uvx",
      "args": [
        "supabase-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "supabase-2": {
      "command": "uvx",
      "args": [
        "supabase-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "supabase-2": {
      "command": "uvx",
      "args": [
        "supabase-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "supabase-2": {
      "command": "uvx",
      "args": [
        "supabase-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "supabase-2",
      "command": "uvx",
      "args": [
        "supabase-mcp-server"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "supabase-2": {
      "command": {
        "path": "uvx",
        "args": [
          "supabase-mcp-server"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add supabase-2 -- uvx supabase-mcp-server

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: supabase-mcp-server

Ask questions about your app data in Supabase

👤 Founders, PMs on Supabase-backed apps ⏱ ~10 min beginner

使うタイミング: You want usage / retention numbers without opening the Supabase SQL editor.

前提条件
  • QUERY_API_KEY (free at thequery.dev) — Sign up, copy key
  • SUPABASE_PROJECT_REF + DB password — Supabase dashboard > Project Settings
フロー
  1. Stay in safe mode
    Set mode to safe. How many users signed up last week?✓ コピーしました
    → Read-only result; no mutation possible
  2. Drill in
    Of those, how many completed onboarding (have any row in profiles)?✓ コピーしました
    → Retention-style number

結果: Quick answers with ironclad read-only guarantee.

注意点
  • Switching to write mode for 'just this query' and forgetting to switch back — Tell Claude explicitly: 'Return to safe mode after this query.'

Make and track a schema change as a real migration

👤 Devs on Supabase ⏱ ~15 min intermediate

使うタイミング: You need to add a column or index and want the change captured as a migration file, not an ad-hoc ALTER.

前提条件
  • SUPABASE_ACCESS_TOKEN for Management API — Dashboard > Account > Access Tokens
フロー
  1. Switch to write mode
    Set mode to write. Add column plan (text, default 'free') to users table.✓ コピーしました
    → ALTER executed; migration file created
  2. Review and commit
    Show the generated migration file. I'll commit it to our repo.✓ コピーしました
    → SQL file path + contents

結果: Schema change + tracked migration in one step.

注意点
  • Migration conflicts with CI when team members also make changes — Coordinate via branch-per-migration; don't do this in main during team hours
組み合わせ: github

Provision test users for dev/staging via Auth Admin SDK

👤 QA engineers, devs ⏱ ~10 min intermediate

使うタイミング: You need 20 test accounts with specific metadata to exercise a feature.

前提条件
  • SUPABASE_SERVICE_ROLE_KEY — Dashboard > API settings (keep secret!)
フロー
  1. Create users in bulk
    Create 20 test users: [email protected] through [email protected], password 'Test12345!', with metadata {role: 'qa', plan: 'free'}.✓ コピーしました
    → 20 user UUIDs returned
  2. Generate magic links
    For each, generate a magic sign-in link and save to /tmp/qa-users.tsv.✓ コピーしました
    → TSV with email + link

結果: QA-ready accounts provisioned in under a minute.

注意点
  • Service role key is god-mode — never put in prompt context in front of a user — Keep in env var; never echo
組み合わせ: filesystem

組み合わせ

他のMCPと組み合わせて10倍の力を

supabase-2 + github

Generate migration file via MCP, commit via git MCP

Add a column via write mode, then commit the generated migration file with message 'feat: add users.plan'.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
execute_sql query: str, mode: 'safe'|'write'|'destructive' Main entry for arbitrary SQL, gated by current mode 1 DB query
set_mode mode: 'safe'|'write'|'destructive' Change safety tier; default is safe free
management_api_request path, method, body? Manage project settings, extensions, buckets via Management API 1 API call
auth_admin_create_user email, password?, user_metadata? Provision users for testing or onboarding 1 Auth call
auth_admin_generate_link user_id, type: 'magiclink'|'recovery' Get a sign-in or recovery URL for a user 1 Auth call
get_logs service: 'api'|'auth'|'db'|..., since, until Debug by service 1 API call

コストと制限

運用コスト

APIクォータ
Bounded by Supabase plan (DB connections, Management API rate limits)
呼び出しあたりのトークン
SQL results: depends on LIMIT; always cap
金額
Free (Apache 2.0). Supabase costs are your existing bill.
ヒント
Stay in safe mode by default. Only escalate when you explicitly intend to mutate.

セキュリティ

権限、シークレット、影響範囲

最小スコープ: SELECT for safe mode; INSERT/UPDATE for write; all for destructive
認証情報の保管: Env vars. Service role key is especially sensitive.
データ送信先: Queries go to your Supabase project; LLM sees the result rows
絶対に付与しない: Service role key to anything that can be reached over untrusted transport

トラブルシューティング

よくあるエラーと対処法

QUERY_API_KEY invalid

Regenerate at thequery.dev. Note: this is a separate service wrapping Supabase and requires its own signup.

Write tool refuses in safe mode

Call set_mode write first. Remember to set back to safe when done.

Transaction pool exhausted

Only transaction pooling is supported here. Reduce concurrency or upgrade Supabase plan.

確認: Supabase dashboard > DB > Connection Pooling

代替案

supabase-mcp-server 他との比較

代替案代わりに使う場面トレードオフ
Official Supabase MCPYou're starting fresh — use the official one firstMaintained by Supabase; this community one has been deprecated by its author
postgres MCPYou only need SQL, not Auth/Management APIsRead-only, universal; no Supabase-specific features
Neon MCPYou're on Neon, not SupabaseAdds DB branching for safe migration testing

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る