Supabase
Supabase API를 통해 프로젝트 관리, 데이터베이스 운영, Edge Functions 배포 등의 백엔드 서비스를 관리할 수 있습니다.
주요 기능
- 프로젝트 관리 및 비용 추정
- 데이터베이스 테이블 및 확장 기능 관리
- SQL 쿼리 실행 및 마이그레이션 적용
- Edge Functions 배포 및 관리
- 데이터베이스 브랜치 관리 (실험적 기능)
- TypeScript 타입 생성
- 문서 검색 및 로그 디버깅
기본 정보
인증 방식
Personal Access Token을 사용하여 인증합니다.
입력 파라미터
- Access Token (필수): Supabase에서 발급받은 개인 액세스 토큰
지원하는 MCP 도구
프로젝트 관리 도구
list_projects
사용자의 모든 Supabase 프로젝트를 나열합니다.
get_cost
새 프로젝트나 브랜치 생성 비용을 추정합니다.
입력 파라미터:
type(필수): 비용 계산 유형 (“project” 또는 “branch”)organization_id(필수): 조직 ID
confirm_cost
비용 확인 후 생성을 진행합니다. 고유한 확인 ID를 반환하여 create_project 또는 create_branch에 전달해야 합니다.
입력 파라미터:
type(필수): 비용 계산 유형 (“project” 또는 “branch”)recurrence(필수): 과금 주기 (“hourly” 또는 “monthly”)amount(필수): 비용 금액
데이터베이스 운영 도구
list_tables
하나 이상의 스키마에 있는 모든 테이블을 나열합니다.
입력 파라미터:
project_id(선택): 프로젝트 IDschemas(선택): 포함할 스키마 목록 (기본값: [“public”])
list_extensions
데이터베이스의 모든 확장 기능을 나열합니다.
입력 파라미터:
project_id(선택): 프로젝트 ID
execute_sql
데이터베이스에서 원시 SQL을 실행합니다. DDL 작업의 경우 apply_migration을 대신 사용하세요.
입력 파라미터:
project_id(선택): 프로젝트 IDquery(필수): 실행할 SQL 쿼리
list_migrations
모든 데이터베이스 마이그레이션을 나열합니다.
입력 파라미터:
project_id(선택): 프로젝트 ID
apply_migration
새로운 데이터베이스 마이그레이션을 적용합니다. DDL 작업 시 이 도구를 사용하세요.
입력 파라미터:
project_id(선택): 프로젝트 IDname(필수): 마이그레이션 이름 (snake_case 형식)query(필수): 적용할 SQL 쿼리
Edge Functions 도구
list_edge_functions
프로젝트의 모든 Edge Functions를 나열합니다.
입력 파라미터:
project_id(선택): 프로젝트 ID
deploy_edge_function
Supabase 프로젝트에 Edge Function을 배포합니다.
입력 파라미터:
project_id(선택): 프로젝트 IDname(필수): 함수 이름entrypoint_path(선택): 함수 진입점 (기본값: “index.ts”)import_map_path(선택): 함수의 import mapfiles(필수): 업로드할 파일 배열 (진입점과 종속성 포함)- 각 파일:
name(파일명),content(파일 내용)
- 각 파일:
디버깅 및 모니터링 도구
get_logs
디버깅을 위한 애플리케이션 로그를 조회합니다. 지난 1분 내의 로그만 반환됩니다.
입력 파라미터:
project_id(선택): 프로젝트 IDservice(필수): 로그를 가져올 서비스 (“api”, “branch-action”, “postgres”, “edge-function”, “auth”, “storage”, “realtime” 중 하나)endTimestamp(선택): 종료 타임스탬프
get_advisors
보안 및 성능 권장사항을 조회합니다. DDL 변경 후 정기적으로 실행하는 것이 좋습니다.
입력 파라미터:
project_id(선택): 프로젝트 IDtype(필수): 권장사항 유형 (“security” 또는 “performance”)
프로젝트 설정 도구
get_project_url
프로젝트의 API URL을 조회합니다.
입력 파라미터:
project_id(선택): 프로젝트 ID
get_anon_key
프로젝트의 익명 API 키를 조회합니다.
입력 파라미터:
project_id(선택): 프로젝트 ID
브랜치 관리 도구 (실험적)
create_branch
개발용 새 데이터베이스 브랜치를 생성합니다. 메인 프로젝트의 모든 마이그레이션을 새 브랜치 데이터베이스에 적용합니다.
입력 파라미터:
project_id(선택): 프로젝트 IDname(선택): 생성할 브랜치 이름 (기본값: “develop”)confirm_cost_id(필수): 비용 확인 ID (confirm_cost를 먼저 호출해야 함)
list_branches
모든 데이터베이스 브랜치를 나열합니다. 브랜치 상태를 확인하여 병합/리베이스/리셋 작업 완료를 추적할 수 있습니다.
입력 파라미터:
project_id(선택): 프로젝트 ID
delete_branch
데이터베이스 브랜치를 삭제합니다.
입력 파라미터:
branch_id(필수): 브랜치 ID
merge_branch
개발 브랜치의 마이그레이션과 Edge Functions를 프로덕션으로 병합합니다.
입력 파라미터:
branch_id(필수): 브랜치 ID
reset_branch
개발 브랜치의 마이그레이션을 리셋합니다. 추적되지 않은 데이터나 스키마 변경사항은 손실됩니다.
입력 파라미터:
branch_id(필수): 브랜치 IDmigration_version(선택): 특정 마이그레이션 버전으로 리셋
rebase_branch
프로덕션을 기반으로 개발 브랜치를 리베이스합니다. 프로덕션의 새로운 마이그레이션을 브랜치에 적용하여 마이그레이션 드리프트를 처리하는 데 도움이 됩니다.
입력 파라미터:
branch_id(필수): 브랜치 ID
개발 도구
search_docs
Supabase 문서에서 관련 정보를 검색합니다. GraphQL을 사용하여 검색합니다.
입력 파라미터:
graphql_query(필수): GraphQL 쿼리 문자열
generate_typescript_types
데이터베이스 스키마에서 TypeScript 타입을 생성합니다.
입력 파라미터:
project_id(선택): 프로젝트 ID
사용 예시
예를 들어,
- Prompt로 “내 Supabase 프로젝트 목록을 보여줘” 라고 입력하면,
- LLM은 MCP를 통해
list_projects도구를 호출하여 사용자의 모든 프로젝트를 조회합니다. - 그리고, 프로젝트 목록을 채팅에서 제공합니다.
데이터베이스 관리:
- “users 테이블의 구조를 확인해줘” 라고 입력하면,
- LLM은
list_tables도구를 호출하여 테이블 정보를 조회합니다.
API Key 설정 방법
- Supabase Dashboard 에 로그인합니다.
- Account Tokens 페이지로 이동합니다.
- “Generate new token” 버튼을 클릭합니다.
- 토큰 이름을 입력하고 생성합니다.
- 생성된 토큰을 복사해서 잘 보관합니다.
- QueryPie AI에서 Supabase 통합을 선택합니다.
- 발급받은 Personal Access Token을 입력하여 연결을 완료합니다.
주의사항
- 생성한 Personal Access Token은 안전하게 보관하세요.
- 토큰 생성 후 복사해서 안전한 곳에 보관하세요.
- 브랜치 기능은 실험적 기능이므로 신중하게 사용하세요.