Supabase
Gestiona tu proyecto Supabase, ejecuta consultas SQL y más.
Documentación
Query | Servidor MCP para Supabase
🌅 Más de 17k instalaciones vía pypi y cerca de 30k descargas en Smithery.ai — en resumen, ¡fue divertido! 🥳 Gracias a todos los que han estado usando este servidor durante los últimos meses, y espero que les haya sido útil. Dado que Supabase ha lanzado su propio servidor MCP oficial, he decidido dejar de mantener activamente este. El servidor MCP oficial es igual de rico en funciones, y se añadirán muchas más en el futuro. ¡Échale un vistazo!
Query MCP es un servidor MCP de código abierto que permite a tu IDE ejecutar SQL de forma segura, gestionar cambios de esquema, llamar a la API de Administración de Supabase y usar el SDK de Auth Admin — todo con controles de seguridad integrados.
Tabla de contenidos
Primeros pasos • Resumen de funciones • Solución de problemas • Registro de cambios
✨ Características clave
- 💻 Compatible con Cursor, Windsurf, Cline y otros clientes MCP que admiten el protocolo
stdio - 🔐 Controla los modos de solo lectura y lectura-escritura de la ejecución de consultas SQL
- 🔍 Validación de consultas SQL en tiempo de ejecución con evaluación del nivel de riesgo
- 🛡️ Sistema de seguridad de tres niveles para operaciones SQL: seguro, escritura y destructivo
- 🔄 Manejo robusto de transacciones para conexiones de base de datos directas y agrupadas
- 📝 Versionado automático de cambios de esquema de base de datos
- 💻 Gestiona tus proyectos de Supabase con la API de Administración de Supabase
- 🧑💻 Gestiona usuarios con los métodos de Auth Admin de Supabase vía SDK de Python
- 🔨 Herramientas preconstruidas para ayudar a Cursor y Windsurf a trabajar con MCP de manera más efectiva
- 📦 Instalación y configuración extremadamente simples vía gestor de paquetes (uv, pipx, etc.)
Primeros pasos
Requisitos previos
La instalación del servidor requiere lo siguiente en tu sistema:
- Python 3.12+
Si planeas instalar vía uv, asegúrate de que esté instalado.
Instalación de PostgreSQL
La instalación de PostgreSQL ya no es necesaria para el propio servidor MCP, ya que ahora usa asyncpg que no depende de las bibliotecas de desarrollo de PostgreSQL.
Sin embargo, aún necesitarás PostgreSQL si estás ejecutando una instancia local de Supabase:
MacOS
brew install postgresql@16
Windows
- Descarga e instala PostgreSQL 16+ desde https://www.postgresql.org/download/windows/
- Asegúrate de que "PostgreSQL Server" y "Command Line Tools" estén seleccionados durante la instalación
Paso 1. Instalación
Desde v0.2.0 introduje soporte para instalación mediante paquetes. Puedes usar tu gestor de paquetes de Python favorito para instalar el servidor vía:
# if pipx is installed (recommended)
pipx install supabase-mcp-server
# if uv is installed
uv pip install supabase-mcp-server
pipx es recomendado porque crea entornos aislados para cada paquete.
También puedes instalar el servidor manualmente clonando el repositorio y ejecutando pipx install -e . desde el directorio raíz.
Instalación desde el código fuente
Si deseas instalar desde el código fuente, por ejemplo para desarrollo local:
uv venv
# On Mac
source .venv/bin/activate
# On Windows
.venv\Scripts\activate
# Install package in editable mode
uv pip install -e .
Instalación vía Smithery.ai
Puedes encontrar las instrucciones completas sobre cómo usar Smithery.ai para conectarte a este servidor MCP aquí.
Paso 2. Configuración
El servidor MCP de Supabase requiere configuración para conectarse a tu base de datos de Supabase, acceder a la API de Administración y usar el SDK de Auth Admin. Esta sección explica todas las opciones de configuración disponibles y cómo configurarlas.
🔑 Importante: Desde v0.4 el servidor MCP requiere una clave API que puedes obtener gratis en thequery.dev para usar este servidor MCP.
Variables de Entorno
El servidor utiliza las siguientes variables de entorno:
| Variable | Requerido | Por defecto | Descripción |
|---|---|---|---|
SUPABASE_PROJECT_REF | Sí | 127.0.0.1:54322 | Tu ID de referencia del proyecto Supabase (o host:puerto local) |
SUPABASE_DB_PASSWORD | Sí | postgres | Tu contraseña de base de datos |
SUPABASE_REGION | Sí* | us-east-1 | Región de AWS donde está alojado tu proyecto Supabase |
SUPABASE_ACCESS_TOKEN | No | None | Token de acceso personal para la API de Administración de Supabase |
SUPABASE_SERVICE_ROLE_KEY | No | None | Clave de rol de servicio para el SDK de Auth Admin |
QUERY_API_KEY | Sí | None | Clave API de thequery.dev (requerida para todas las operaciones) |
Nota: Los valores por defecto están configurados para el desarrollo local de Supabase. Para proyectos remotos de Supabase, debes proporcionar tus propios valores para
SUPABASE_PROJECT_REFySUPABASE_DB_PASSWORD.
🚨 NOTA CRÍTICA DE CONFIGURACIÓN: Para proyectos remotos de Supabase, DEBES especificar la región correcta donde está alojado tu proyecto usando
SUPABASE_REGION. Si encuentras un error de "Inquilino o usuario no encontrado", casi con seguridad es porque tu configuración de región no coincide con la región real de tu proyecto. Puedes encontrar la región de tu proyecto en el panel de Supabase en Configuración del Proyecto.
Tipos de Conexión
Conexión a la Base de Datos
- El servidor se conecta a tu base de datos PostgreSQL de Supabase usando el endpoint del pooler de transacciones
- El desarrollo local usa una conexión directa a
127.0.0.1:54322 - Los proyectos remotos usan el formato:
postgresql://postgres.[project_ref]:[password]@aws-0-[region].pooler.supabase.com:6543/postgres
⚠️ Importante: Las conexiones de agrupación de sesiones no son compatibles. El servidor utiliza exclusivamente la agrupación de transacciones para una mejor compatibilidad con la arquitectura del servidor MCP.
Conexión a la API de Administración
- Requiere que
SUPABASE_ACCESS_TOKENesté configurado - Se conecta a la API de Administración de Supabase en
https://api.supabase.com - Solo funciona con proyectos remotos de Supabase (no con desarrollo local)
Conexión al SDK de Auth Admin
- Requiere que
SUPABASE_SERVICE_ROLE_KEYesté configurado - Para desarrollo local, se conecta a
http://127.0.0.1:54321 - Para proyectos remotos, se conecta a
https://[project_ref].supabase.co
Métodos de Configuración
El servidor busca la configuración en este orden (de mayor a menor prioridad):
- Variables de Entorno: Valores establecidos directamente en tu entorno
- Archivo
.envLocal: Un archivo.enven tu directorio de trabajo actual (solo funciona cuando se ejecuta desde el código fuente) - Archivo de Configuración Global:
- Windows:
%APPDATA%\supabase-mcp\.env - macOS/Linux:
~/.config/supabase-mcp/.env
- Windows:
- Configuración por Defecto: Valores por defecto de desarrollo local (si no se encuentra otra configuración)
⚠️ Importante: Cuando se usa el paquete instalado vía pipx o uv, los archivos
.envlocales en tu directorio de proyecto no se detectan. Debes usar variables de entorno o el archivo de configuración global.
Configuración
Opción 1: Configuración Específica del Cliente (Recomendada)
Establece las variables de entorno directamente en la configuración de tu cliente MCP (consulta las instrucciones de configuración específicas del cliente en el Paso 3). La mayoría de los clientes MCP admiten este enfoque, que mantiene tu configuración junto con la configuración de tu cliente.
Opción 2: Configuración Global
Crea un archivo de configuración global .env que se usará para todas las instancias del servidor MCP:
# Create config directory
# On macOS/Linux
mkdir -p ~/.config/supabase-mcp
# On Windows (PowerShell)
mkdir -Force "$env:APPDATA\supabase-mcp"
# Create and edit .env file
# On macOS/Linux
nano ~/.config/supabase-mcp/.env
# On Windows (PowerShell)
notepad "$env:APPDATA\supabase-mcp\.env"
Añade tus valores de configuración al archivo:
QUERY_API_KEY=your-api-key
SUPABASE_PROJECT_REF=your-project-ref
SUPABASE_DB_PASSWORD=your-db-password
SUPABASE_REGION=us-east-1
SUPABASE_ACCESS_TOKEN=your-access-token
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
Opción 3: Configuración Específica del Proyecto (Solo Instalación desde Código Fuente)
Si estás ejecutando el servidor desde el código fuente (no vía paquete), puedes crear un archivo .env en tu directorio de proyecto con el mismo formato que el anterior.
Encontrar la Información de tu Proyecto Supabase
- Referencia del Proyecto: Se encuentra en la URL de tu proyecto Supabase:
https://supabase.com/dashboard/project/<project-ref> - Contraseña de la Base de Datos: Se establece durante la creación del proyecto o se encuentra en Configuración del Proyecto → Base de Datos
- Token de Acceso: Genéralo en https://supabase.com/dashboard/account/tokens
- Clave de Rol de Servicio: Se encuentra en Configuración del Proyecto → API → Claves API del Proyecto
Regiones Compatibles
El servidor admite todas las regiones de Supabase:
us-west-1- Oeste de EE. UU. (California del Norte)us-east-1- Este de EE. UU. (Virginia del Norte) - predeterminadaus-east-2- Este de EE. UU. (Ohio)ca-central-1- Canadá (Central)eu-west-1- Oeste de la UE (Irlanda)eu-west-2- Europa Occidental (Londres)eu-west-3- Oeste de la UE (París)eu-central-1- Europa Central (Fráncfort)eu-central-2- Europa Central (Zúrich)eu-north-1- Norte de la UE (Estocolmo)ap-south-1- Asia del Sur (Bombay)ap-southeast-1- Sudeste Asiático (Singapur)ap-northeast-1- Noreste de Asia (Tokio)ap-northeast-2- Noreste de Asia (Seúl)ap-southeast-2- Oceanía (Sídney)sa-east-1- Sudamérica (São Paulo)
Limitaciones
- Sin Soporte para Autoalojamiento: El servidor solo admite proyectos alojados oficialmente en Supabase.com y desarrollo local
- Sin Soporte para Cadenas de Conexión: No se admiten cadenas de conexión personalizadas
- Sin Agrupación de Sesiones: Solo se admite la agrupación de transacciones para conexiones de base de datos
- Funciones de API y SDK: Las funciones de la API de Administración y del SDK de Auth Admin solo funcionan con proyectos remotos de Supabase, no con desarrollo local
Paso 3. Uso
En general, cualquier cliente MCP que admita el protocolo stdio debería funcionar con este servidor MCP. Este servidor fue probado explícitamente para funcionar con:
- Cursor
- Windsurf
- Cline
- Claude Desktop
Además, también puedes usar smithery.ai para instalar este servidor en varios clientes, incluidos los anteriores.
Sigue las guías a continuación para instalar este servidor MCP en tu cliente.
Cursor
Ve a Configuración -> Funciones -> Servidores MCP y añade un nuevo servidor con esta configuración:
# can be set to any name
name: supabase
type: command
# if you installed with pipx
command: supabase-mcp-server
# if you installed with uv
command: uv run supabase-mcp-server
# if the above doesn't work, use the full path (recommended)
command: /full/path/to/supabase-mcp-server # Find with 'which supabase-mcp-server' (macOS/Linux) or 'where supabase-mcp-server' (Windows)
Si la configuración es correcta, deberías ver un indicador de punto verde y el número de herramientas expuestas por el servidor.
Windsurf
Ve a Cascade -> Haz clic en el icono de martillo -> Configurar -> Completa la configuración:
{
"mcpServers": {
"supabase": {
"command": "/Users/username/.local/bin/supabase-mcp-server", // update path
"env": {
"QUERY_API_KEY": "your-api-key", // Required - get your API key at thequery.dev
"SUPABASE_PROJECT_REF": "your-project-ref",
"SUPABASE_DB_PASSWORD": "your-db-password",
"SUPABASE_REGION": "us-east-1", // optional, defaults to us-east-1
"SUPABASE_ACCESS_TOKEN": "your-access-token", // optional, for management API
"SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key" // optional, for Auth Admin SDK
}
}
}
}
Si la configuración es correcta, deberías ver un indicador de punto verde y un servidor supabase clicable en la lista de servidores disponibles.
Claude Desktop
Claude Desktop también admite servidores MCP a través de una configuración JSON. Sigue estos pasos para configurar el servidor MCP de Supabase:
-
Encuentra la ruta completa al ejecutable (este paso es crítico):
# On macOS/Linux which supabase-mcp-server # On Windows where supabase-mcp-serverCopia la ruta completa que se devuelve (por ejemplo,
/Users/username/.local/bin/supabase-mcp-server). -
Configura el servidor MCP en Claude Desktop:
- Abre Claude Desktop
- Ve a Configuración → Desarrollador -> Editar Configuración de Servidores MCP
- Añade una nueva configuración con el siguiente JSON:
{ "mcpServers": { "supabase": { "command": "/full/path/to/supabase-mcp-server", // Replace with the actual path from step 1 "env": { "QUERY_API_KEY": "your-api-key", // Required - get your API key at thequery.dev "SUPABASE_PROJECT_REF": "your-project-ref", "SUPABASE_DB_PASSWORD": "your-db-password", "SUPABASE_REGION": "us-east-1", // optional, defaults to us-east-1 "SUPABASE_ACCESS_TOKEN": "your-access-token", // optional, for management API "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key" // optional, for Auth Admin SDK } } } }
⚠️ Importante: A diferencia de Windsurf y Cursor, Claude Desktop requiere la ruta absoluta completa al ejecutable. Usar solo el nombre del comando (
supabase-mcp-server) resultará en un error de "spawn ENOENT".
Si la configuración es correcta, deberías ver el servidor MCP de Supabase listado como disponible en Claude Desktop.
Cline
Cline también admite servidores MCP a través de una configuración JSON similar. Sigue estos pasos para configurar el servidor MCP de Supabase:
-
Encuentra la ruta completa al ejecutable (este paso es crítico):
# On macOS/Linux which supabase-mcp-server # On Windows where supabase-mcp-serverCopia la ruta completa que se devuelve (por ejemplo,
/Users/username/.local/bin/supabase-mcp-server). -
Configura el servidor MCP en Cline:
- Abre Cline en VS Code
- Haz clic en la pestaña "Servidores MCP" en la barra lateral de Cline
- Haz clic en "Configurar Servidores MCP"
- Esto abrirá el archivo
cline_mcp_settings.json - Añade la siguiente configuración:
{ "mcpServers": { "supabase": { "command": "/full/path/to/supabase-mcp-server", // Replace with the actual path from step 1 "env": { "QUERY_API_KEY": "your-api-key", // Required - get your API key at thequery.dev "SUPABASE_PROJECT_REF": "your-project-ref", "SUPABASE_DB_PASSWORD": "your-db-password", "SUPABASE_REGION": "us-east-1", // optional, defaults to us-east-1 "SUPABASE_ACCESS_TOKEN": "your-access-token", // optional, for management API "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key" // optional, for Auth Admin SDK } } } }
Si la configuración es correcta, deberías ver un indicador verde junto al servidor MCP de Supabase en la lista de Servidores MCP de Cline, y un mensaje confirmando "servidor MCP de supabase conectado" en la parte inferior del panel.
Solución de Problemas
Aquí tienes algunos consejos y trucos que podrían ayudarte:
- Depurar la instalación - ejecuta
supabase-mcp-serverdirectamente desde la terminal para ver si funciona. Si no funciona, podría haber un problema con la instalación. - Configuración del servidor MCP - si el paso anterior funciona, significa que el servidor está instalado y configurado correctamente. Siempre que hayas proporcionado el comando correcto, el IDE debería poder conectarse. Asegúrate de proporcionar la ruta correcta al ejecutable del servidor.
- Error "No se encontraron herramientas" - Si ves "Client closed - no tools available" en Cursor a pesar de que el paquete esté instalado:
- Encuentra la ruta completa al ejecutable ejecutando
which supabase-mcp-server(macOS/Linux) owhere supabase-mcp-server(Windows) - Usa la ruta completa en la configuración de tu servidor MCP en lugar de solo
supabase-mcp-server - Por ejemplo:
/Users/username/.local/bin/supabase-mcp-serveroC:\Users\username\.local\bin\supabase-mcp-server.exe
- Encuentra la ruta completa al ejecutable ejecutando
- Variables de entorno - para conectarte a la base de datos correcta, asegúrate de establecer las variables de entorno en
mcp_config.jsono en el archivo.envubicado en un directorio de configuración global (~/.config/supabase-mcp/.enven macOS/Linux o%APPDATA%\supabase-mcp\.enven Windows). - Acceso a los registros - El servidor MCP escribe registros detallados en un archivo:
- Ubicación del archivo de registro:
- macOS/Linux:
~/.local/share/supabase-mcp/mcp_server.log - Windows:
%USERPROFILE%\.local\share\supabase-mcp\mcp_server.log
- macOS/Linux:
- Los registros incluyen estado de conexión, detalles de configuración y resultados de operaciones
- Ve los registros con cualquier editor de texto o comandos de terminal:
# On macOS/Linux cat ~/.local/share/supabase-mcp/mcp_server.log # On Windows (PowerShell) Get-Content "$env:USERPROFILE\.local\share\supabase-mcp\mcp_server.log"
- Ubicación del archivo de registro:
Si estás atascado o alguna de las instrucciones anteriores es incorrecta, por favor abre un issue.
MCP Inspector
Una herramienta súper útil para depurar problemas del servidor MCP es MCP Inspector. Si lo instalaste desde el código fuente, puedes ejecutar supabase-mcp-inspector desde el repositorio del proyecto y ejecutará la instancia del inspector. Junto con los registros, esto te dará una visión completa de lo que está sucediendo en el servidor.
📝 Ejecutar
supabase-mcp-inspector, si se instala desde el paquete, no funciona correctamente - lo validaré y corregiré en la próxima versión.
Resumen de características
Herramientas de consulta de base de datos
Desde v0.3+ el servidor proporciona capacidades integrales de gestión de bases de datos con controles de seguridad integrados:
-
Ejecución de consultas SQL: Ejecuta consultas PostgreSQL con evaluación de riesgos
- Sistema de seguridad de tres niveles:
safe: Operaciones de solo lectura (SELECT) - siempre permitidaswrite: Modificaciones de datos (INSERT, UPDATE, DELETE) - requieren modo insegurodestructive: Cambios de esquema (DROP, CREATE) - requieren modo inseguro + confirmación
- Sistema de seguridad de tres niveles:
-
Análisis y validación SQL:
- Utiliza el analizador de PostgreSQL (pglast) para un análisis preciso y proporciona comentarios claros sobre los requisitos de seguridad
-
Versionado automático de migraciones:
- Las operaciones que alteran la base de datos se versionan automáticamente
- Genera nombres descriptivos basados en el tipo de operación y el objetivo
-
Controles de seguridad:
- El modo SEGURO predeterminado permite solo operaciones de solo lectura
- Todas las declaraciones se ejecutan en modo transacción mediante
asyncpg - Confirmación en 2 pasos para operaciones de alto riesgo
-
Herramientas disponibles:
get_schemas: Lista esquemas con tamaños y recuentos de tablasget_tables: Lista tablas, tablas externas y vistas con metadatosget_table_schema: Obtiene la estructura detallada de la tabla (columnas, claves, relaciones)execute_postgresql: Ejecuta declaraciones SQL contra tu base de datosconfirm_destructive_operation: Ejecuta operaciones de alto riesgo después de la confirmaciónretrieve_migrations: Obtiene migraciones con opciones de filtrado y paginaciónlive_dangerously: Alterna entre modos seguro e inseguro
Herramientas de API de gestión
Desde v0.3.0 el servidor proporciona acceso seguro a la API de gestión de Supabase con controles de seguridad integrados:
-
Herramientas disponibles:
send_management_api_request: Envía solicitudes arbitrarias a la API de gestión de Supabase con inyección automática de la referencia del proyectoget_management_api_spec: Obtiene la especificación de API enriquecida con información de seguridad- Admite múltiples modos de consulta: por dominio, por ruta/método específico, o todas las rutas
- Incluye información de evaluación de riesgos para cada endpoint
- Proporciona requisitos de parámetros detallados y formatos de respuesta
- Ayuda a los LLM a comprender las capacidades completas de la API de gestión de Supabase
get_management_api_safety_rules: Obtiene todas las reglas de seguridad con explicaciones legibles para humanoslive_dangerously: Alterna entre modos de operación seguro e inseguro
-
Controles de seguridad:
- Utiliza el mismo gestor de seguridad que las operaciones de base de datos para una gestión de riesgos consistente
- Operaciones categorizadas por nivel de riesgo:
safe: Operaciones de solo lectura (GET) - siempre permitidasunsafe: Operaciones que cambian el estado (POST, PUT, PATCH, DELETE) - requieren modo inseguroblocked: Operaciones destructivas (eliminar proyecto, etc.) - nunca permitidas
- El modo seguro predeterminado previene cambios de estado accidentales
- Coincidencia de patrones basada en rutas para reglas de seguridad precisas
Nota: Las herramientas de API de gestión solo funcionan con instancias remotas de Supabase y no son compatibles con configuraciones de desarrollo local de Supabase.
Herramientas de administración de Auth
Planeaba agregar soporte para métodos del SDK de Python al servidor MCP. Tras considerarlo, decidí agregar solo soporte para métodos de administración de Auth, ya que a menudo me encontraba creando usuarios de prueba manualmente, lo cual era propenso a errores y consumía tiempo. Ahora puedo simplemente pedirle a Cursor que cree un usuario de prueba y se hará sin problemas. Consulta la documentación completa de los métodos del SDK de Auth Admin para saber qué puede hacer.
Desde v0.3.6 el servidor admite acceso directo a los métodos de Auth Admin de Supabase a través del SDK de Python:
- Incluye las siguientes herramientas:
get_auth_admin_methods_specpara recuperar documentación de todos los métodos disponibles de Auth Admincall_auth_admin_methodpara invocar directamente métodos de Auth Admin con manejo adecuado de parámetros
- Métodos admitidos:
get_user_by_id: Recuperar un usuario por su IDlist_users: Listar todos los usuarios con paginacióncreate_user: Crear un nuevo usuariodelete_user: Eliminar un usuario por su IDinvite_user_by_email: Enviar un enlace de invitación al correo de un usuariogenerate_link: Generar un enlace de correo para varios propósitos de autenticaciónupdate_user_by_id: Actualizar atributos de usuario por IDdelete_factor: Eliminar un factor en un usuario (actualmente no implementado en el SDK)
¿Por qué usar el SDK de Auth Admin en lugar de consultas SQL crudas?
El SDK de Auth Admin proporciona varias ventajas clave sobre la manipulación directa de SQL:
-
Funcionalidad: Habilita operaciones no posibles solo con SQL (invitaciones, enlaces mágicos, MFA)
-
Precisión: Más confiable que crear y ejecutar consultas SQL crudas en esquemas de auth
-
Simplicidad: Ofrece métodos claros con validación y manejo de errores adecuados
- Formato de respuesta:
- Todos los métodos devuelven objetos Python estructurados en lugar de diccionarios crudos
- Los atributos de los objetos se pueden acceder usando notación de punto (por ejemplo,
user.iden lugar deuser["id"])
- Casos límite y limitaciones:
- Validación de UUID: Muchos métodos requieren un formato UUID válido para los IDs de usuario y devolverán errores de validación específicos
- Configuración de correo: Métodos como
invite_user_by_emailygenerate_linkrequieren que el envío de correos esté configurado en tu proyecto de Supabase - Tipos de enlace: Al generar enlaces, diferentes tipos de enlace tienen diferentes requisitos:
- Los enlaces
signupno requieren que el usuario exista - Los enlaces
magiclinkyrecoveryrequieren que el usuario ya exista en el sistema
- Los enlaces
- Manejo de errores: El servidor proporciona mensajes de error detallados de la API de Supabase, que pueden diferir de la interfaz del panel
- Disponibilidad de métodos: Algunos métodos como
delete_factorestán expuestos en la API pero no completamente implementados en el SDK
- Formato de respuesta:
Registros y análisis
El servidor proporciona acceso a los registros y datos de análisis de Supabase, lo que facilita monitorear y solucionar problemas en tus aplicaciones:
-
Herramienta disponible:
retrieve_logs- Accede a registros de cualquier servicio de Supabase -
Colecciones de registros:
postgres: Registros del servidor de base de datosapi_gateway: Solicitudes de la puerta de enlace de APIauth: Eventos de autenticaciónpostgrest: Registros del servicio de API RESTfulpooler: Registros de agrupación de conexionesstorage: Operaciones de almacenamiento de objetosrealtime: Registros de suscripciones WebSocketedge_functions: Ejecuciones de funciones serverlesscron: Registros de trabajos programadospgbouncer: Registros del pooler de conexiones
-
Características: Filtra por tiempo, busca texto, aplica filtros de campo o usa consultas SQL personalizadas
Simplifica la depuración en toda tu pila de Supabase sin cambiar entre interfaces o escribir consultas complejas.
Versionado automático de cambios en la base de datos
"Con gran poder viene una gran responsabilidad." Mientras que la herramienta execute_postgresql junto con la herramienta apropiadamente llamada live_dangerously proporcionan una forma poderosa y simple de gestionar tu base de datos de Supabase, también significa que eliminar una tabla o modificarla está a un mensaje de chat de distancia. Para reducir el riesgo de cambios irreversibles, desde v0.3.8 el servidor admite:
- creación automática de scripts de migración para todas las operaciones SQL de escritura y destructivas ejecutadas en la base de datos
- modo de seguridad mejorado de ejecución de consultas, en el que todas las consultas se categorizan en:
- tipo
safe: siempre permitido. Incluye todas las operaciones de solo lectura. - tipo
write: requiere que el modowriteesté habilitado por el usuario. - tipo
destructive: requiere que el modowriteesté habilitado por el usuario Y una confirmación de 2 pasos de la ejecución de la consulta para clientes que no ejecutan herramientas automáticamente.
- tipo
Modo de seguridad universal
Desde v0.3.8, el Modo de seguridad se ha estandarizado en todos los servicios (base de datos, API, SDK) utilizando un gestor de seguridad universal. Esto proporciona una gestión de riesgos consistente y una interfaz unificada para controlar la configuración de seguridad en todo el servidor MCP.
Todas las operaciones (consultas SQL, solicitudes de API, métodos SDK) se categorizan en niveles de riesgo:
- riesgo
Low: Operaciones de solo lectura que no modifican datos ni estructura (consultas SELECT, solicitudes GET de API) - riesgo
Medium: Operaciones de escritura que modifican datos pero no estructura (INSERT/UPDATE/DELETE, la mayoría de solicitudes POST/PUT de API) - riesgo
High: Operaciones destructivas que modifican la estructura de la base de datos o podrían causar pérdida de datos (DROP/TRUNCATE, endpoints DELETE de API) - riesgo
Extreme: Operaciones con consecuencias graves que están bloqueadas por completo (eliminar proyectos)
Los controles de seguridad se aplican según el nivel de riesgo:
- Las operaciones de bajo riesgo siempre están permitidas
- Las operaciones de riesgo medio requieren que el modo inseguro esté habilitado
- Las operaciones de alto riesgo requieren modo inseguro Y confirmación explícita
- Las operaciones de riesgo extremo nunca están permitidas
Cómo funciona el flujo de confirmación
Cualquier operación de alto riesgo (ya sea una solicitud de postgresql o de API) se bloqueará incluso en modo unsafe.
Tendrás que confirmar y aprobar explícitamente cada operación de alto riesgo para que se ejecute.
Historial de cambios
- 📦 Instalación simplificada mediante gestor de paquetes - ✅ (v0.2.0)
- 🌎 Soporte para diferentes regiones de Supabase - ✅ (v0.2.2)
- 🎮 Acceso programático a la API de gestión de Supabase con controles de seguridad - ✅ (v0.3.0)
- 👷♂️ Consultas SQL de base de datos de lectura y lectura-escritura con controles de seguridad - ✅ (v0.3.0)
- 🔄 Manejo robusto de transacciones para conexiones directas y agrupadas - ✅ (v0.3.2)
- 🐍 Métodos y objetos de soporte disponibles en el SDK nativo de Python - ✅ (v0.3.6)
- 🔍 Validación de consultas SQL más sólida ✅ (v0.3.8)
- 📝 Versionado automático de cambios en la base de datos ✅ (v0.3.8)
- 📖 Conocimiento y herramientas radicalmente mejorados de la especificación de API ✅ (v0.3.8)
- ✍️ Consistencia mejorada de las herramientas relacionadas con migraciones para un VCS de base de datos más organizado ✅ (v0.3.10)
- 🥳 Query MCP está publicado (v0.4.0)
Para una hoja de ruta más detallada, consulta esta discusión en GitHub.
Historial de estrellas
¡Disfruta! ☺️