Supabase MCP Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Enables querying Supabase database tables with filtering options and generating TypeScript types from database schemas

  • Generates TypeScript type definitions from Supabase database schemas for use in development

Servidor MCP de Supabase

Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con bases de datos de Supabase. Este servidor proporciona herramientas para consultar tablas y generar tipos de TypeScript mediante la interfaz MCP.

Características

  • Tablas de consulta : ejecute consultas en cualquier tabla con soporte para:
    • Selección de esquema
    • Filtrado de columnas
    • Cláusulas where con múltiples operadores
    • Paginación
    • Manejo de errores
  • Generación de tipos : genere tipos TypeScript para su base de datos:
    • Soporte para cualquier esquema (público, auth, api, etc.)
    • Funciona con proyectos Supabase tanto locales como remotos
    • Salida directa a consola
    • Detección automática de referencias de proyectos

Prerrequisitos

  1. Node.js (v16 o superior)
  2. Un proyecto de Supabase (ya sea local o alojado)
  3. Supabase CLI (para generación de tipos)

Instalación

  1. Clonar el repositorio:
git clone https://github.com/yourusername/supabase-mcp-server.git cd supabase-mcp-server
  1. Instalar dependencias:
npm install
  1. Instale la CLI de Supabase (necesaria para la generación de tipos):
# Using npm npm install -g supabase # Or using Homebrew on macOS brew install supabase/tap/supabase

Configuración

  1. Obtenga sus credenciales de Supabase:
    • Para proyectos alojados:
      1. Vaya al panel de control de su proyecto Supabase
      2. Vaya a Configuración del proyecto > API
      3. Copia la URL del proyecto y la clave service_role (NO la clave anónima)
    • Para proyectos locales:
      1. Inicie su instancia local de Supabase
      2. Utilice la URL local (normalmente http://localhost:54321 )
      3. Utilice su clave de servicio local
  2. Configurar variables de entorno:
# Create a .env file (this will be ignored by git) echo "SUPABASE_URL=your_project_url SUPABASE_KEY=your_service_role_key" > .env
  1. Construir el servidor:
npm run build

Integración con Claude Desktop

  1. Abra la configuración de Claude Desktop:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Ventanas: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. Agregue la configuración del servidor:
{ "mcpServers": { "supabase": { "command": "node", "args": ["/absolute/path/to/supabase-mcp-server/build/index.js"], "env": { "SUPABASE_URL": "your_project_url", "SUPABASE_KEY": "your_service_role_key" } } } }

Integración con la extensión VSCode

  1. Abrir la configuración de VSCode:
    • macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • Windows: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
    • Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  2. Agregue la configuración del servidor (mismo formato que Claude Desktop).

Ejemplos de uso

Consulta de tablas

// Query with schema selection and where clause <use_mcp_tool> <server_name>supabase</server_name> <tool_name>query_table</tool_name> <arguments> { "schema": "public", "table": "users", "select": "id,name,email", "where": [ { "column": "is_active", "operator": "eq", "value": true } ] } </arguments> </use_mcp_tool>

Generando tipos

// Generate types for public schema <use_mcp_tool> <server_name>supabase</server_name> <tool_name>generate_types</tool_name> <arguments> { "schema": "public" } </arguments> </use_mcp_tool>

Herramientas disponibles

tabla de consulta

Consultar una tabla específica con selección de esquema y soporte de cláusula where.

Parámetros:

  • schema (opcional): esquema de base de datos (predeterminado a público)
  • table (obligatorio): Nombre de la tabla a consultar
  • select (opcional): lista de columnas separadas por comas
  • where (opcional): Matriz de condiciones con:
    • column : Nombre de la columna
    • operator : Uno de: eq, neq, gt, gte, lt, lte, like, ilike, is
    • value : Valor con el que comparar

generar_tipos

Genere tipos TypeScript para su esquema de base de datos Supabase.

Parámetros:

  • schema (opcional): esquema de base de datos (predeterminado a público)

Solución de problemas

Problemas de generación de tipos

  1. Asegúrese de que Supabase CLI esté instalado:
supabase --version
  1. Para proyectos locales:
    • Asegúrese de que su instancia local de Supabase se esté ejecutando
    • Verifique que su clave service_role sea correcta
  2. Para proyectos alojados:
    • Confirme que la referencia de su proyecto sea correcta (extraída de la URL)
    • Verifique que esté utilizando la clave service_role, no la clave anon

Problemas de consulta

  1. Comprueba tu esquema y los nombres de las tablas
  2. Verificar los nombres de las columnas en las cláusulas select y where
  3. Asegúrese de que su clave service_role tenga los permisos necesarios

Contribuyendo

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones: git checkout -b feature/my-feature
  3. Confirme sus cambios: git commit -am 'Add my feature'
  4. Empujar a la rama: git push origin feature/my-feature
  5. Enviar una solicitud de extracción

Licencia

Licencia MIT: consulte el archivo de LICENCIA para obtener más detalles

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Permite consultar bases de datos de Supabase y generar tipos TypeScript a través de la interfaz del Protocolo de Contexto de Modelo, admitiendo funciones como selección de esquema, filtrado de columnas y paginación.

  1. Features
    1. Prerequisites
      1. Installation
        1. Configuration
          1. Integration with Claude Desktop
            1. Integration with VSCode Extension
              1. Usage Examples
                1. Querying Tables
                2. Generating Types
              2. Available Tools
                1. query_table
                2. generate_types
              3. Troubleshooting
                1. Type Generation Issues
                2. Query Issues
              4. Contributing
                1. License
                  ID: wjmmfri9rj