Supabase MCP Server

by Cappahccino
Verified

hybrid server

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

Integrations

  • Enables CRUD operations on Postgres tables, including querying data with filters, inserting data, updating data, deleting data, and listing tables in a Supabase project.

Servidor MCP de Supabase

Un servidor de Protocolo de contexto de modelo (MCP) que permite a Claude y otros LLM interactuar con Supabase para realizar operaciones CRUD en tablas de Postgres.

Características

  • Operaciones de base de datos:
    • Consultar datos con filtros
    • Insertar datos
    • Actualizar datos
    • Eliminar datos
    • Tablas de listas

Prerrequisitos

  • Node.js (v16 o más reciente)
  • npm o hilo
  • Proyecto Supabase con claves API

Instalación

Opción 1: Instalar desde npm (recomendado)

¡El paquete está publicado en npm! Puedes instalarlo globalmente con:

npm install -g supabase-mcp

O localmente en su proyecto:

npm install supabase-mcp

Opción 2: Clonar el repositorio

git clone https://github.com/Cappahccino/SB-MCP.git cd SB-MCP npm install npm run build

Configuración

Cree un archivo .env con sus credenciales de Supabase:

# Supabase credentials SUPABASE_URL=your_supabase_project_url SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key # MCP server configuration MCP_SERVER_PORT=3000 MCP_SERVER_HOST=localhost MCP_API_KEY=your_secret_api_key

Uso con Claude

Claude requiere un modo de transporte específico para su compatibilidad. Este paquete proporciona un binario dedicado para la integración de Claude:

En la configuración MCP de Claude Desktop

"supabase": { "command": "npx", "args": [ "-y", "supabase-mcp@latest", "supabase-mcp-claude" ], "env": { "SUPABASE_URL": "your_supabase_project_url", "SUPABASE_ANON_KEY": "your_supabase_anon_key", "SUPABASE_SERVICE_ROLE_KEY": "your_service_role_key", "MCP_API_KEY": "your_secret_api_key" } }

Asegúrese de configurar las variables de entorno necesarias. Claude utilizará el transporte stdio para la comunicación.

Pruebas manuales con Claude Binary

Para realizar pruebas fuera de Claude, puedes ejecutar:

npm run start:claude

O si se instala globalmente:

supabase-mcp-claude

Uso como servidor independiente

Después de la instalación global:

supabase-mcp

Esto iniciará el servidor MCP en http://localhost:3000 (o el puerto especificado en su archivo .env).

Uso en su código

También puedes usar supabase-mcp como biblioteca en tus propios proyectos Node.js:

import { createServer, mcpConfig, validateConfig } from 'supabase-mcp'; // Validate configuration validateConfig(); // Create the server const app = createServer(); // Start the server app.listen(mcpConfig.port, mcpConfig.host, () => { console.log(`Supabase MCP server running at http://${mcpConfig.host}:${mcpConfig.port}`); });

Solución de problemas

Problemas comunes y soluciones

1. "El puerto XXXX ya está en uso"

El servidor HTTP intenta encontrar automáticamente un puerto disponible. Puede especificar manualmente un puerto diferente en su archivo .env modificando el valor de MCP_SERVER_PORT .

2. "Faltan variables de entorno requeridas"

Asegúrese de tener un archivo .env adecuado con todos los valores requeridos o de haber configurado las variables de entorno en su sistema.

3. "TypeError: No se puede invocar el constructor de clase Server sin 'new'"

Si ve este error, es posible que esté ejecutando una versión anterior del paquete. Actualice a la última versión:

npm install -g supabase-mcp@latest

4. Errores de análisis de JSON con Claude

Asegúrate de estar utilizando el binario específico de Claude ( supabase-mcp-claude ) en lugar del servidor HTTP normal ( supabase-mcp ).

5. Se agotó el tiempo de solicitud con Claude

Esto suele significar que Claude inició la conexión, pero el servidor no pudo responder a tiempo. Verificar:

  • ¿Son correctas sus credenciales de Supabase?
  • ¿Su servidor está configurado correctamente y funcionando?
  • ¿Hay algo que bloquee la conexión?

Referencia de herramientas

Herramientas de base de datos

  1. consultaBaseDeDatos
    • Parámetros:
      • table (cadena): Nombre de la tabla a consultar
      • select (cadena, opcional): lista de columnas separadas por comas (predeterminado: "*")
      • query (objeto, opcional): Condiciones de filtro
  2. insertar datos
    • Parámetros:
      • table (cadena): Nombre de la tabla
      • data (objeto o matriz de objetos): Datos a insertar
  3. actualizar datos
    • Parámetros:
      • table (cadena): Nombre de la tabla
      • data (objeto): Datos a actualizar como pares clave-valor
      • query (objeto): Condiciones de filtro para la actualización
  4. eliminar datos
    • Parámetros:
      • table (cadena): Nombre de la tabla
      • query (objeto): Condiciones de filtro para eliminación
  5. listas de tablas
    • Parámetros: Ninguno

Historial de versiones

  • 1.0.0: Versión inicial
  • 1.0.1: Se agregó selección automática de puerto
  • 1.0.2: Se solucionaron problemas de compatibilidad de protocolos
  • 1.0.3: Se agregó compatibilidad con JSON-RPC
  • 1.1.0: Reescritura completa utilizando el SDK oficial de MCP
  • 1.2.0: Se agregó transporte Claude separado y se solucionaron problemas de conflicto de puertos.
  • 1.3.0: Actualizado para mejorar la compatibilidad con proyectos TypeScript
  • 1.4.0: Se corrigió la integración del transporte de stdio de Claude según las mejores prácticas de la comunidad de Supabase
  • 1.5.0: Se eliminó la compatibilidad con la función Edge para mejorar la estabilidad y centrarse en las operaciones de la base de datos

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor de protocolo de contexto de modelo que permite a Claude y otros LLM realizar operaciones de base de datos e invocar funciones de borde dentro de Supabase a través del lenguaje natural.

  1. Features
    1. Prerequisites
      1. Installation
        1. Option 1: Install from npm (recommended)
        2. Option 2: Clone the repository
      2. Configuration
        1. Usage with Claude
          1. In Claude Desktop MCP Config
          2. Manual Testing with Claude Binary
        2. Usage as a Standalone Server
          1. Usage in Your Code
            1. Troubleshooting
              1. Common Issues and Solutions
            2. Tools Reference
              1. Database Tools
            3. Version History
              1. License
                ID: gf6hxhptcd