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