Skip to main content
Glama

Supabase MCP 서버 🚀

타입스크립트 수파베이스 포스트그레스큐엘 노드.js 엠씨피 윈드서핑

🔥 Cursor의 Composer와 Codeium의 Cascade를 통해 Supabase PostgreSQL 데이터베이스에 대한 완벽한 관리 제어 기능을 제공하는 강력한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 도구는 테이블 작업, 레코드 관리, 스키마 수정 등 다양한 기능을 제공하여 원활한 데이터베이스 관리를 지원합니다.

📚 목차

Related MCP server: Supabase MCP Server

🔧 필수 조건

  • 노드.js >= 16.x

  • npm >= 8.x

  • Supabase 프로젝트:

    • 프로젝트 ID

    • 데이터베이스 비밀번호

    • PostgreSQL 연결 문자열

  • 커서 IDE 또는 Codeium의 Cascade(유료 사용자용)

🚀 빠른 시작

📥 설치

지엑스피1

⚙️ 구성

  1. 종속성을 설치하고 프로젝트를 빌드합니다.

    npm install npm run build
  2. 커서의 MCP 설정에서 다음 명령을 사용하여 서버를 추가합니다.

    /opt/homebrew/bin/node /path/to/dist/index.js postgresql://postgres.[PROJECT-ID]:[PASSWORD]@aws-0-eu-central-1.pooler.supabase.com:5432/postgres

    바꾸다:

    • /path/to/dist/index.js 실제 경로로 변경합니다.

    • [PROJECT-ID] 에 Supabase 프로젝트 ID를 입력하세요.

    • [PASSWORD] 에 데이터베이스 비밀번호를 입력하세요.

참고: 데이터베이스 자격 증명을 안전하게 보관하고 버전 제어에 커밋하지 마세요.

🎯 통합

커서 MCP 통합

모델 컨텍스트 프로토콜(MCP)을 사용하면 Cursor에서 에이전트 LLM에 사용자 지정 도구를 제공할 수 있습니다. 이 서버는 Cursor의 Composer 기능과 통합되어 자연어 명령을 통해 모든 데이터베이스 관리 도구에 직접 액세스할 수 있습니다.

커서 설정

  1. 커서 설정 > 기능 > MCP 열기

  2. "+ 새 MCP 서버 추가" 버튼을 클릭하세요

  3. 모달 양식을 작성하세요:

    • 이름: "Supabase MCP"(또는 원하는 별명)

    • 유형: command (stdio 전송)

    • 명령: 연결 세부 정보가 포함된 전체 명령 문자열

  4. 먼저 프로젝트를 빌드하세요.

    npm install npm run build
  5. Node.js 경로를 가져옵니다.

    # On Mac/Linux which node # On Windows where node
  6. 서버 명령을 추가합니다.

    /path/to/node /path/to/dist/index.js postgresql://postgres.[PROJECT-ID]:[PASSWORD]@aws-0-eu-central-1.pooler.supabase.com:5432/postgres

    바꾸다:

    • /path/to/node 실제 Node.js 경로(5단계에서)로 변경합니다.

    • /path/to/dist/index.js 빌드된 JavaScript 파일에 대한 실제 경로로 지정합니다.

    • [PROJECT-ID] 에 Supabase 프로젝트 ID를 입력하세요.

    • [PASSWORD] 에 데이터베이스 비밀번호를 입력하세요.

  7. "서버 추가"를 클릭한 다음 오른쪽 상단 모서리에 있는 새로 고침 버튼을 클릭하세요.

커서의 도구 사용

Composer Agent는 데이터베이스 작업을 설명할 때 관련 도구를 자동으로 감지하고 사용합니다. 예:

  • "내 데이터베이스의 모든 테이블 나열"

  • "새로운 사용자 테이블 만들기"

  • "이메일 열에 인덱스 추가"

에이전트가 도구를 사용하면 다음이 표시됩니다.

  1. 도구 호출을 승인/거부하라는 메시지

  2. 도구 호출 인수(확장 가능)

  3. 승인 후 응답

참고: 이와 같은 stdio 서버의 경우, 명령은 유효한 셸 명령이어야 합니다. 환경 변수가 필요한 경우 래퍼 스크립트를 사용하는 것이 좋습니다.

Windsurf/Cascade 통합

이 MCP 서버는 Codeium의 Cascade(Windsurf) 통합도 지원합니다. 이 기능은 현재 유료 개인 사용자에게만 제공되며, Teams 또는 Enterprise 사용자는 사용할 수 없습니다.

Cascade 설정

  1. ~/.codeium/windsurf/mcp_config.json 생성하거나 편집합니다.

    { "mcpServers": { "supabase-mcp": { "command": "/path/to/node", "args": [ "/path/to/dist/index.js", "postgresql://postgres.[PROJECT-ID]:[PASSWORD]@aws-0-eu-central-1.pooler.supabase.com:5432/postgres" ] } } }
  2. 구성에 대한 빠른 액세스:

    • Cascade 입력 위에 있는 툴바를 찾으세요

    • 망치 아이콘을 클릭하세요

    • "구성"을 클릭하여 mcp_config.json을 엽니다.

  3. 구성에서 다음을 교체합니다.

    • /path/to/node 실제 Node.js 경로로 변경합니다.

    • /path/to/dist/index.js 실제 경로로 변경합니다.

    • [PROJECT-ID] 에 Supabase 프로젝트 ID를 입력하세요.

    • [PASSWORD] 에 데이터베이스 비밀번호를 입력하세요.

  4. 캐스케이드에서:

    • 도구 모음에서 망치 아이콘을 클릭하세요

    • "구성"을 클릭하여 설정을 확인하세요.

    • MCP 서버를 로드하려면 "새로 고침"을 클릭하세요.

    • 사용 가능한 도구를 보려면 서버 이름을 클릭하세요.

Cascade 사용자를 위한 중요 참고 사항

  • 도구 기능만 지원됩니다(프롬프트나 리소스는 지원되지 않음)

  • MCP 도구 호출은 성공 여부와 관계없이 크레딧을 소모합니다.

  • 이미지 출력이 지원되지 않습니다.

  • stdio 전송 유형만 지원됩니다.

  • 도구 호출은 임의의 서버 구현자가 작성한 코드를 호출할 수 있습니다.

  • Cascade는 MCP 도구 호출 실패에 대한 책임을 지지 않습니다.

✨ 특징

🎯 사용 가능한 데이터베이스 도구

테이블 관리

  • 테이블: list_tables , create_table , drop_table , rename_table

  • 열: add_column , drop_column , alter_column

  • 레코드: fetch_records , create_record , update_record , delete_record

인덱스 및 제약 조건

  • 인덱스: list_indexes , create_index , delete_index , update_index

  • 제약 조건: list_constraints , add_constraint , remove_constraint , update_constraint

데이터베이스 함수 및 트리거

  • 함수: list_functions , create_function , update_function , delete_function

  • 트리거: list_triggers , create_trigger , update_trigger , delete_trigger

보안 및 접근 제어

  • 정책: list_policies , create_policy , update_policy , delete_policy

  • 역할: list_roles , create_role , update_role , delete_role

스토리지 관리

  • 버킷: list_buckets , create_bucket , delete_bucket

  • 파일: delete_file , bulk_delete_files

  • 폴더: list_folders

데이터 유형 및 출판물

  • 열거형: list_enumerated_types , create_enumerated_type , update_enumerated_type , delete_enumerated_type

  • 게시물: list_publications , create_publication , update_publication , delete_publication

실시간 기능

  • 정책: list_realtime_policies , create_realtime_policy , update_realtime_policy , delete_realtime_policy

  • 채널: list_realtime_channels , manage_realtime_channels , send_realtime_message , get_realtime_messages

  • 관리: manage_realtime_status , manage_realtime_views

사용자 관리

  • 권한: list_users , create_user , update_user , delete_user

직접 SQL 액세스

  • 쿼리: query - 사용자 정의 SQL 쿼리 실행

🚀 주요 이점

  • 자연어 제어 : 간단한 대화형 명령을 통해 Supabase 데이터베이스를 관리하세요

  • 포괄적인 범위 : 테이블, 레코드, 인덱스, 함수, 보안 등을 포괄하는 전체 도구 모음

  • 원활한 통합 : Cursor의 Composer와 Codeium의 Cascade 내에서 직접 작동합니다.

  • 개발자 친화적 : IDE와 데이터베이스 관리 도구 간의 컨텍스트 전환을 줄입니다.

  • 보안 액세스 : 적절한 인증을 통해 데이터베이스 보안을 유지합니다.

📁 프로젝트 구조

supabase-mcp-server/ ├── dist/ # Compiled JavaScript files │ ├── index.d.ts # TypeScript declarations │ └── index.js # Main JavaScript file ├── src/ # Source code │ └── index.ts # Main TypeScript file ├── package.json # Project configuration ├── package-lock.json # Dependency lock file └── tsconfig.json # TypeScript configuration

💡 사용법

MCP 서버는 구성이 완료되면 Cursor's Composer를 통해 모든 데이터베이스 관리 도구를 제공합니다. 데이터베이스에서 무엇을 할지 간단히 설명하면 AI가 적절한 명령을 실행합니다.

예:

  • 📋 "내 데이터베이스의 모든 테이블을 보여주세요"

  • ➕ "ID, 이름, 이메일 열이 있는 새 사용자 테이블을 만듭니다."

  • 🔍 "users 테이블의 email 열에 인덱스를 추가하세요"

🔒 보안 참고 사항

  • 🔐 데이터베이스 연결 문자열을 안전하게 유지하세요

  • ⚠️ 민감한 자격 증명을 버전 제어에 커밋하지 마십시오.

  • 👮 적절한 액세스 제어 및 권한을 사용하세요

  • 🛡️ SQL 주입을 방지하기 위해 모든 입력을 검증하고 정리합니다.

🛠️ 문제 해결

일반적인 연결 문제

  1. Node.js 경로 문제

    • 올바른 Node.js 경로를 사용하고 있는지 확인하세요.

    • Mac/Linux에서: 올바른 경로를 찾는 데 which node 사용하세요

    • Windows에서: where node 사용하여 올바른 경로를 찾으세요.

    • /usr/local/bin/node 실제 Node.js 경로로 바꾸세요.

  2. 파일 경로 문제

    • 상대 경로 대신 절대 경로를 사용하세요

    • Mac/Linux의 경우: 프로젝트 디렉토리에서 pwd 사용하여 전체 경로를 가져옵니다.

    • Windows의 경우: cd 사용하여 전체 경로를 가져옵니다.

    • 예: /Users/username/projects/supabase-mcp-server/dist/index.js

  3. MCP가 도구를 감지하지 못함

    • 커서의 MCP 설정에서 새로 고침 버튼을 클릭하세요.

    • 서버가 실행 중인지 확인하세요(오류 메시지 없음)

    • 연결 문자열이 올바른지 확인하세요

    • Supabase 자격 증명이 유효한지 확인하세요

  4. 권한 문제

    • dist 디렉토리가 있는지 확인하세요( npm run build )

    • 파일 권한 확인(Unix 시스템에서는 chmod +x )

    • 적절한 권한으로 npm install 실행하세요.

디버그 모드

자세한 로그를 보려면 명령 앞에 DEBUG=true 추가하세요.

DEBUG=true /usr/local/bin/node /path/to/dist/index.js [connection-string]

플랫폼별 참고 사항

윈도우 사용자

# Use this format for the command "C:\\Program Files\\nodejs\\node.exe" "C:\\path\\to\\dist\\index.js" "postgresql://..."

리눅스 사용자

# Find Node.js path which node # Make script executable chmod +x /path/to/dist/index.js

여전히 문제가 발생하는 경우 다음 주소로 문제를 제기해 주세요.

  • 귀하의 운영 체제

  • Node.js 버전( node --version )

  • 전체 오류 메시지

  • 재현 단계

🤝 기여하기

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

📄 라이센스


-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Quegenx/supabase-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server