Supabase MCP Server

Integrations

  • Integrates with Codeium's Cascade feature (for paying users) to provide database management tools through natural language commands in the Cascade interface.

  • Enables direct management of PostgreSQL databases with tools for tables, columns, records, indexes, constraints, functions, triggers, and executing custom SQL queries.

  • Provides full administrative control over a Supabase PostgreSQL database, including tools for table operations, record management, schema modifications, indexes, constraints, database functions, triggers, security policies, and storage management.

Servidor MCP de Supabase 🚀

Un potente servidor de Protocolo de Contexto de Modelo (MCP) que proporciona control administrativo completo sobre su base de datos Supabase PostgreSQL mediante Cursor Composer y Codeium Cascade. Esta herramienta permite una gestión fluida de bases de datos con funciones completas para operaciones con tablas, gestión de registros, modificación de esquemas y más.

📚 Índice de contenidos

🔧 Requisitos previos

  • Node.js >= 16.x
  • npm >= 8.x
  • Un proyecto de Supabase con:
    • Identificación del proyecto
    • Contraseña de la base de datos
    • Cadena de conexión de PostgreSQL
  • Cursor IDE o Cascade de Codeium (para usuarios de pago)

🚀 Inicio rápido

📥 Instalación

# Clone the repository git clone https://github.com/Quegenx/supabase-mcp-server.git cd supabase-mcp-server # Install dependencies npm install # Build the project npm run build

⚙️ Configuración

  1. Instalar dependencias y compilar el proyecto:
    npm install npm run build
  2. En la configuración de MCP de Cursor, agregue el servidor con este comando:
    /opt/homebrew/bin/node /path/to/dist/index.js postgresql://postgres.[PROJECT-ID]:[PASSWORD]@aws-0-eu-central-1.pooler.supabase.com:5432/postgres
    Reemplazar:
    • /path/to/dist/index.js con su ruta real
    • [PROJECT-ID] con su ID de proyecto de Supabase
    • [PASSWORD] con la contraseña de su base de datos

Nota: Mantenga seguras las credenciales de su base de datos y nunca las envíe al control de versiones.

🎯 Integraciones

Integración de Cursor MCP

El Protocolo de Contexto de Modelo (MCP) permite proporcionar herramientas personalizadas a los LLM de la agencia en Cursor. Este servidor se integra con la función Composer de Cursor, lo que proporciona acceso directo a todas las herramientas de gestión de bases de datos mediante comandos de lenguaje natural.

Configuración en Cursor

  1. Abra Configuración del cursor > Funciones > MCP
  2. Haga clic en el botón "+ Agregar nuevo servidor MCP"
  3. Rellene el formulario modal:
    • Nombre: "Supabase MCP" (o cualquier apodo que prefieras)
    • Tipo: command (transporte stdio)
    • Comando: Su cadena de comando completa con detalles de conexión
  4. Primero construye el proyecto:
    npm install npm run build
  5. Obtenga su ruta Node.js:
    # On Mac/Linux which node # On Windows where node
  6. Agregue el comando del servidor:
    /path/to/node /path/to/dist/index.js postgresql://postgres.[PROJECT-ID]:[PASSWORD]@aws-0-eu-central-1.pooler.supabase.com:5432/postgres
    Reemplazar:
    • /path/to/node con su ruta real de Node.js (del paso 5)
    • /path/to/dist/index.js con su ruta real al archivo JavaScript creado
    • [PROJECT-ID] con su ID de proyecto de Supabase
    • [PASSWORD] con la contraseña de su base de datos
  7. Haga clic en "Agregar servidor" y luego haga clic en el botón actualizar en la esquina superior derecha

Uso de las herramientas en el cursor

El Agente de Composer detectará y utilizará automáticamente las herramientas pertinentes al describir las tareas de su base de datos. Por ejemplo:

  • "Enumerar todas las tablas de mi base de datos"
  • "Crear una nueva tabla de usuarios"
  • "Añadir un índice a la columna de correo electrónico"

Cuando el agente usa una herramienta, verás:

  1. Un mensaje para aprobar o rechazar la llamada a la herramienta.
  2. Los argumentos de llamada de la herramienta (ampliables)
  3. La respuesta después de la aprobación

Nota: Para servidores stdio como este, el comando debe ser un comando de shell válido. Si necesita variables de entorno, considere usar un script contenedor.

Integración de Windsurf/Cascade

Este servidor MCP también es compatible con la integración de Cascade (Windsurf) de Codeium. Tenga en cuenta que esta función solo está disponible actualmente para usuarios individuales de pago (no disponible para usuarios de Teams ni Enterprise).

Configuración con Cascade

  1. Crea o edita ~/.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. Acceso rápido a la configuración:
    • Encuentre la barra de herramientas encima de la entrada Cascade
    • Haga clic en el icono del martillo
    • Haga clic en "Configurar" para abrir mcp_config.json
  3. Reemplazar en la configuración:
    • /path/to/node con su ruta real de Node.js
    • /path/to/dist/index.js con su ruta real
    • [PROJECT-ID] con su ID de proyecto de Supabase
    • [PASSWORD] con la contraseña de su base de datos
  4. En cascada:
    • Haga clic en el icono del martillo en la barra de herramientas.
    • Haga clic en "Configurar" para verificar su configuración
    • Haga clic en "Actualizar" para cargar el servidor MCP
    • Haga clic en el nombre del servidor para ver las herramientas disponibles

Notas importantes para los usuarios de Cascade

  • Solo se admite la funcionalidad de herramientas (sin indicaciones ni recursos)
  • Las llamadas a la herramienta MCP consumirán créditos independientemente del éxito o el fracaso
  • No se admite la salida de imagen
  • Solo se admite el tipo de transporte stdio
  • Las llamadas a herramientas pueden invocar código escrito por implementadores de servidor arbitrarios
  • Cascade no asume responsabilidad por fallas en las llamadas a herramientas MCP

✨ Características

🎯 Herramientas de base de datos disponibles

Gestión de tablas

  • Tablas: list_tables , create_table , drop_table , rename_table
  • Columnas: add_column , drop_column , alter_column
  • Registros: fetch_records , create_record , update_record , delete_record

Índices y restricciones

  • Índices: list_indexes , create_index , delete_index , update_index
  • Restricciones: list_constraints , add_constraint , remove_constraint , update_constraint

Funciones y activadores de bases de datos

  • Funciones: list_functions , create_function , update_function , delete_function
  • Desencadenantes: list_triggers , create_trigger , update_trigger , delete_trigger

Seguridad y control de acceso

  • Políticas: list_policies , create_policy , update_policy , delete_policy
  • Roles: list_roles , create_role , update_role , delete_role

Gestión de almacenamiento

  • Cubos: list_buckets , create_bucket , delete_bucket
  • Archivos: delete_file , bulk_delete_files
  • Carpetas: list_folders

Tipos de datos y publicaciones

  • Tipos enumerados: list_enumerated_types , create_enumerated_type , update_enumerated_type , delete_enumerated_type
  • Publicaciones: list_publications , create_publication , update_publication , delete_publication

Funciones en tiempo real

  • Políticas: list_realtime_policies , create_realtime_policy , update_realtime_policy , delete_realtime_policy
  • Canales: list_realtime_channels , manage_realtime_channels , send_realtime_message , get_realtime_messages
  • Administración: manage_realtime_status , manage_realtime_views

Gestión de usuarios

  • Aut.: list_users , create_user , update_user , delete_user

Acceso directo a SQL

  • Consulta: query - Ejecutar consultas SQL personalizadas

🚀 Beneficios clave

  • Control de lenguaje natural : administre su base de datos Supabase mediante comandos conversacionales simples
  • Cobertura integral : conjunto completo de herramientas que cubren tablas, registros, índices, funciones, seguridad y más
  • Integración perfecta : funciona directamente dentro de Cursor Composer y Cascade de Codeium
  • Fácil de usar para desarrolladores : reduce el cambio de contexto entre IDE y herramientas de administración de bases de datos
  • Acceso seguro : mantiene la seguridad de su base de datos con la autenticación adecuada

📁 Estructura del proyecto

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

💡 Uso

Una vez configurado, el servidor MCP proporciona todas las herramientas de gestión de bases de datos a través del Composer de Cursor. Simplemente describa qué desea hacer con su base de datos y la IA usará los comandos adecuados.

Ejemplos:

  • 📋 "Muéstrame todas las tablas de mi base de datos"
  • ➕ "Crear una nueva tabla de usuarios con columnas de ID, nombre y correo electrónico"
  • 🔍 "Agregar un índice en la columna de correo electrónico de la tabla de usuarios"

🔒 Notas de seguridad

  • 🔐 Mantenga segura la cadena de conexión de su base de datos
  • ⚠️ Nunca envíe credenciales confidenciales al control de versiones
  • 👮 Utilice controles de acceso y permisos adecuados
  • 🛡️ Validar y desinfectar todas las entradas para evitar la inyección de SQL

🛠️ Solución de problemas

Problemas de conexión comunes

  1. Problemas de ruta en Node.js
    • Asegúrese de estar utilizando la ruta Node.js correcta
    • En Mac/Linux: utilice which node para encontrar la ruta correcta
    • En Windows: utilice where node para encontrar la ruta correcta
    • Reemplace /usr/local/bin/node con su ruta real de Node.js
  2. Problemas con la ruta de archivo
    • Utilice rutas absolutas en lugar de rutas relativas
    • En Mac/Linux: use pwd en el directorio del proyecto para obtener la ruta completa
    • En Windows: use cd para obtener la ruta completa
    • Ejemplo: /Users/username/projects/supabase-mcp-server/dist/index.js
  3. MCP no detecta herramientas
    • Haga clic en el botón Actualizar en la configuración de MCP del cursor
    • Asegúrese de que el servidor esté funcionando (sin mensajes de error)
    • Comprueba si tu cadena de conexión es correcta
    • Verifique que sus credenciales de Supabase sean válidas
  4. Problemas de permisos
    • Asegúrese de que el directorio dist exista (ejecute npm run build )
    • Comprobar permisos de archivos ( chmod +x en sistemas Unix)
    • Ejecute npm install con los permisos adecuados

Modo de depuración

Agregue DEBUG=true antes de su comando para ver registros detallados:

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

Notas específicas de la plataforma

Usuarios de Windows

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

Usuarios de Linux

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

Si aún tiene problemas, abra un problema con:

  • Su sistema operativo
  • Versión de Node.js ( node --version )
  • Mensaje de error completo
  • Pasos para reproducir

🤝 Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

📄 Licencia


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

Un potente servidor que proporciona control administrativo sobre las bases de datos Supabase PostgreSQL a través de Cursor's Composer y Codeium's Cascade, lo que permite la gestión de bases de datos con funciones para tablas, registros, modificaciones de esquemas y más.

  1. 📚 Table of Contents
    1. 🔧 Prerequisites
      1. 🚀 Quick Start
        1. 📥 Installation
        2. ⚙️ Configuration
      2. 🎯 Integrations
        1. Cursor MCP Integration
        2. Windsurf/Cascade Integration
      3. ✨ Features
        1. 🎯 Available Database Tools
        2. 🚀 Key Benefits
      4. 📁 Project Structure
        1. 💡 Usage
          1. 🔒 Security Notes
            1. 🛠️ Troubleshooting
              1. Common Connection Issues
              2. Debug Mode
              3. Platform-Specific Notes
            2. 🤝 Contributing
              1. 📄 License
                ID: uoif4qw663