
henkdz/selfhosted-supabase-mcp
Database management이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
henkdz/selfhosted-supabase-mcp는 https://github.com/henkdz/selfhosted-supabase-mcp.에서 가져온 MCP 서버 후보입니다.
개요
henkdz/selfhosted-supabase-mcp는 https://github.com/henkdz/selfhosted-supabase-mcp.에서 가져온 MCP 서버 후보입니다.
개요(AI 번역)
개요
이 프로젝트는 셀프 호스팅 Supabase 인스턴스와 상호작용하기 위해 특별히 설계된 모델 컨텍스트 프로토콜(MCP) 서버를 제공합니다. 이 서버는 MCP 클라이언트(예: IDE 확장)와 로컬 또는 비공개 호스팅 Supabase 프로젝트 간의 간극을 메워 데이터베이스 내부, 관리 및 개발 환경에서 직접 상호작용할 수 있게 합니다.
이 서버는 공식 Supabase 클라우드 MCP 서버를 개조한 교훈을 바탕으로 처음부터 구축되었으며, 자체 호스팅 사용 사례에 맞춘 최소한의 집중된 구현을 제공했습니다.
목적
이 서버의 주요 목표는 자체 호스팅 Supabase 설치를 사용하는 개발자들이 MCP 기반 도구를 다음과 같은 작업에 활용할 수 있도록 하는 것입니다:
- 데이터베이스 스키마와 데이터 쿼리.
- 데이터베이스 마이그레이션 관리.
- 데이터베이스 통계 및 연결 상태 검사.
- 인증 사용자 관리.
- Supabase 저장소와의 상호작용.
- 타입 정의 생성.
공식 클라우드 서버의 다중 프로젝트 관리 및 클라우드 전용 API와 관련된 복잡성을 피하여, 단일 프로젝트 셀프 호스팅 환경에 최적화된 경험을 제공합니다.
기능 (구현된 도구)
이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.
README
원문 README의 일부입니다. 원문 보기.
Self-Hosted Supabase MCP Server
Overview
This project provides a Model Context Protocol (MCP) server designed specifically for interacting with self-hosted Supabase instances. It bridges the gap between MCP clients (like IDE extensions) and your local or privately hosted Supabase projects, enabling database introspection, management, and interaction directly from your development environment.
This server was built from scratch, drawing lessons from adapting the official Supabase cloud MCP server, to provide a minimal, focused implementation tailored for the self-hosted use case.
Purpose
The primary goal of this server is to enable developers using self-hosted Supabase installations to leverage MCP-based tools for tasks such as:
- Querying database schemas and data.
- Managing database migrations.
- Inspecting database statistics and connections.
- Managing authentication users.
- Interacting with Supabase Storage.
- Generating type definitions.
It avoids the complexities of the official cloud server related to multi-project management and cloud-specific APIs, offering a streamlined experience for single-project, self-hosted environments.
Features (Implemented Tools)
Tools are categorized by privilege level:
- Regular tools are accessible by any authenticated Supabase JWT (
authenticatedorservice_rolerole). - Privileged tools require a
service_roleJWT (HTTP mode) or direct database/service-key access (stdio mode).
Schema & Migrations
| Tool | Description | Privilege |
|---|---|---|
list_tables |
Lists tables in the database schemas | Regular |
list_extensions |
Lists installed PostgreSQL extensions | Regular |
list_available_extensions |
Lists all available (installable) extensions | Regular |
list_migrations |
Lists applied migrations from supabase_migrations.schema_migrations |
Regular |
apply_migration |
Applies a SQL migration and records it in supabase_migrations.schema_migrations |
Privileged |
list_table_columns |
Lists columns for a specific table | Regular |
list_indexes |
Lists indexes for a specific table | Regular |
list_constraints |
Lists constraints for a specific table | Regular |
list_foreign_keys |
Lists foreign keys for a specific table | Regular |
list_triggers |
Lists triggers for a specific table | Regular |
list_database_functions |
Lists user-defined database functions | Regular |
get_function_definition |
Gets the source definition of a function | Regular |
get_trigger_definition |
Gets the source definition of a trigger | Regular |
설치
npx -y @smithery/cli install @HenkDz/selfhosted-supabase-mcp --client claude설정
{
"mcpServers": {
"selfhosted-supabase": {
"command": "bun",
"args": [
"run",
"<path-to-dist/index.js>", // e.g., "/home/user/selfhosted-supabase-mcp/dist/index.js"
"--url",
"<your-supabase-url>", // e.g., "http://localhost:8000"
"--anon-key",
"<your-anon-key>",
// Optional - Add these if needed by the tools you use
"--service-key",
"<your-service-key>",
"--db-url",
"<your-db-url>", // e.g., "postgresql://postgres:password@host:port/postgres"
"--jwt-secret",
"<your-jwt-secret>",
// Optional - Whitelist specific tools
"--tools-config",
"<path-to-your-mcp-tools.json>" // e.g., "./mcp-tools.json"
]
}
}
}