/ 디렉터리 / 플레이그라운드 / 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 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기