Supabase MCP Server

by alexander-zuev
Verified
Apache 2.0
607
  • Apple
  • Linux

hybrid server

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

Integrations

  • Provides tools for executing PostgreSQL queries against Supabase databases with risk assessment, parsing, and validation. Includes automatic migration versioning for database-altering operations.

  • Enables safely interacting with Supabase databases, executing SQL queries, managing database schemas, accessing the Supabase Management API, and using the Supabase Auth Admin SDK for user management. Includes safety controls for different risk levels of operations.

Consulta | Servidor MCP para Supabase

Tabla de contenido

✨ Características principales

  • 💻 Compatible con Cursor, Windsurf, Cline y otros clientes MCP que admiten el protocolo stdio
  • 🔐 Controlar 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, de escritura y destructivo
  • 🔄 Manejo robusto de transacciones tanto para conexiones de bases de datos directas como agrupadas
  • 📝 Versionado automático de cambios en el esquema de la base de datos
  • 💻 Administra tus proyectos de Supabase con la API de administración de Supabase
  • 🧑‍💻 Administrar usuarios con métodos de administración de Supabase Auth a través del SDK de Python
  • 🔨 Herramientas prediseñadas para ayudar a Cursor y Windsurf a trabajar con MCP de manera más efectiva
  • 📦 Instalación y configuración extremadamente sencilla a través del administrador de paquetes (uv, pipx, etc.)

Empezando

Prerrequisitos

Para instalar el servidor se requiere lo siguiente en su sistema:

  • Python 3.12+

Si planea instalarlo mediante uv , asegúrese de que esté instalado .

Instalación de PostgreSQL

La instalación de PostgreSQL ya no es necesaria para el servidor MCP, ya que ahora utiliza 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:

Sistema operativo Mac

brew install postgresql@16

Ventanas

Paso 1. Instalación

Desde la versión v0.2.0, introduje la compatibilidad con la instalación de paquetes. Puedes usar tu gestor de paquetes de Python preferido para instalar el servidor mediante:

# if pipx is installed (recommended) pipx install supabase-mcp-server # if uv is installed uv pip install supabase-mcp-server

Se recomienda pipx porque crea entornos aislados para cada paquete.

También puede instalar el servidor manualmente clonando el repositorio y ejecutando pipx install -e . desde el directorio raíz.

Instalación desde la fuente

Si desea instalar desde la 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 mediante Smithery.ai

Puede encontrar las instrucciones completas sobre cómo usar Smithery.ai para conectarse a este servidor MCP aquí .

Paso 2. Configuración

El servidor MCP de Supabase requiere configuración para conectarse a su base de datos de Supabase, acceder a la API de administración y usar el SDK de autenticación de administrador. Esta sección explica todas las opciones de configuración disponibles y cómo configurarlas.

🔑 Importante : desde la versión v0.4, el servidor MCP requiere una clave API que puede obtener de forma gratuita en thequery.dev para usar este servidor MCP.

Variables de entorno

El servidor utiliza las siguientes variables de entorno:

VariableRequeridoPor defectoDescripción
SUPABASE_PROJECT_REF127.0.0.1:54322Su ID de referencia del proyecto Supabase (o host: puerto local)
SUPABASE_DB_PASSWORDpostgresSu contraseña de base de datos
SUPABASE_REGION*us-east-1Región de AWS donde está alojado su proyecto Supabase
SUPABASE_ACCESS_TOKENNoNingunoToken de acceso personal para la API de administración de Supabase
SUPABASE_SERVICE_ROLE_KEYNoNingunoClave de rol de servicio para el SDK de Auth Admin
QUERY_API_KEYNingunoClave API de thequery.dev (necesaria para todas las operaciones)

Nota : Los valores predeterminados están configurados para el desarrollo local de Supabase. Para proyectos remotos de Supabase, debe proporcionar sus propios valores para SUPABASE_PROJECT_REF y SUPABASE_DB_PASSWORD .

NOTA IMPORTANTE DE CONFIGURACIÓN : Para proyectos remotos de Supabase, DEBE especificar la región correcta donde se aloja su proyecto mediante SUPABASE_REGION . Si aparece el error "No se encontró el inquilino o usuario", es casi seguro que la configuración de su región no coincide con la región real de su proyecto. Puede encontrar la región de su proyecto en el panel de control de Supabase, en la sección "Configuración del proyecto".

Tipos de conexión

Conexión a la base de datos
  • El servidor se conecta a su base de datos Supabase PostgreSQL mediante el punto final del agrupador de transacciones
  • El desarrollo local utiliza una conexión directa a 127.0.0.1:54322
  • Los proyectos remotos utilizan el formato: postgresql://postgres.[project_ref]:[password]@aws-0-[region].pooler.supabase.com:6543/postgres

⚠️ Importante : No se admiten conexiones con agrupación de sesiones. El servidor utiliza exclusivamente agrupación de transacciones para una mejor compatibilidad con la arquitectura del servidor MCP.

Conexión API de gestión
  • Requiere que SUPABASE_ACCESS_TOKEN esté configurado
  • Se conecta a la API de administración de Supabase en https://api.supabase.com
  • Solo funciona con proyectos remotos de Supabase (no desarrollo local)
Conexión del SDK de administración de autenticación
  • Requiere que SUPABASE_SERVICE_ROLE_KEY esté configurado
  • Para el desarrollo local, se conecta a http://127.0.0.1:54321
  • Para proyectos remotos, conéctese 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):

  1. Variables de entorno : Valores establecidos directamente en su entorno
  2. Archivo .env local : un archivo .env en su directorio de trabajo actual (solo funciona cuando se ejecuta desde la fuente)
  3. Archivo de configuración global :
    • Ventanas: %APPDATA%\supabase-mcp\.env
    • macOS/Linux: ~/.config/supabase-mcp/.env
  4. Configuración predeterminada : valores predeterminados de desarrollo local (si no se encuentra otra configuración)

⚠️ Importante : Al usar el paquete instalado mediante pipx o uv, no se detectan los archivos .env locales del directorio del proyecto. Debe usar variables de entorno o el archivo de configuración global.

Configuración de la configuración

Opción 1: Configuración específica del cliente (recomendada)

Establezca las variables de entorno directamente en la configuración de su cliente MCP (consulte las instrucciones de configuración específicas del cliente en el paso 3). La mayoría de los clientes MCP admiten este método, que conserva la configuración del cliente.

Opción 2: Configuración global

Cree un archivo de configuración .env global que se utilizará 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 de origen)

Si está ejecutando el servidor desde la fuente (no a través del paquete), puede crear un archivo .env en el directorio de su proyecto con el mismo formato que el anterior.

Cómo encontrar la información de su proyecto Supabase

  • Referencia del proyecto : se encuentra en la URL de su 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 : generar en https://subabase.com/dashboard/account/tokens
  • Clave de rol de servicio : se encuentra en Configuración del proyecto → API → Claves de API del proyecto

Regiones compatibles

El servidor admite todas las regiones de Supabase:

  • us-west-1 - Oeste de EE. UU. (Norte de California)
  • us-east-1 - Este de EE. UU. (Virginia del Norte) - predeterminado
  • us-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 - UE central (Frankfurt)
  • eu-central-2 - Europa Central (Zúrich)
  • eu-north-1 - Norte de la UE (Estocolmo)
  • ap-south-1 - Sur de Asia (Bombay)
  • ap-southeast-1 - Sudeste Asiático (Singapur)
  • ap-northeast-1 - Noreste Asiático (Tokio)
  • ap-northeast-2 - Noreste Asiático (Seúl)
  • ap-southeast-2 - Oceanía (Sídney)
  • sa-east-1 - América del Sur (São Paulo)

Limitaciones

  • Sin soporte autohospedado : el servidor solo admite proyectos alojados oficialmente en Supabase.com y desarrollo local.
  • Sin soporte de cadena 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 las conexiones de bases de datos
  • Características de API y SDK : Las funciones de API de administración y SDK de autenticación solo funcionan con proyectos remotos de Supabase, no con desarrollo local.

Paso 3. Uso

En general, cualquier cliente MCP compatible con el protocolo stdio debería funcionar con este servidor MCP. Este servidor se probó explícitamente para funcionar con:

  • Cursor
  • Windsurf
  • Cline
  • Escritorio de Claude

Además, también puedes usar smithery.ai para instalar en este servidor una serie de clientes, incluidos los mencionados anteriormente.

Siga las guías a continuación para instalar este servidor MCP en su cliente.

Cursor

Vaya a Configuración -> Características -> Servidores MCP y agregue 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ía ver un indicador de punto verde y la cantidad de herramientas expuestas por el servidor.

Windsurf

Vaya a Cascade -> Haga clic en el icono del martillo -> Configurar -> Complete 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ía ver un indicador de punto verde y un servidor supabase en el que se pueda hacer clic en la lista de servidores disponibles.

Escritorio de Claude

Claude Desktop también admite servidores MCP mediante una configuración JSON. Siga estos pasos para configurar el servidor MCP de Supabase:

  1. Encuentre la ruta completa al ejecutable (este paso es fundamental):
    # On macOS/Linux which supabase-mcp-server # On Windows where supabase-mcp-server
    Copie la ruta completa que se devuelve (por ejemplo, /Users/username/.local/bin/supabase-mcp-server ).
  2. Configurar el servidor MCP en Claude Desktop:
    • Abra Claude Desktop
    • Vaya a Configuración → Desarrollador -> Editar configuración de servidores MCP
    • Agregue 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 del ejecutable. Usar solo el nombre del comando ( supabase-mcp-server ) generará un error "spawn ENOENT".

Si la configuración es correcta, debería ver el servidor Supabase MCP listado como disponible en Claude Desktop.

Cline

Cline también admite servidores MCP mediante una configuración JSON similar. Siga estos pasos para configurar el servidor MCP de Supabase:

  1. Encuentre la ruta completa al ejecutable (este paso es fundamental):
    # On macOS/Linux which supabase-mcp-server # On Windows where supabase-mcp-server
    Copie la ruta completa que se devuelve (por ejemplo, /Users/username/.local/bin/supabase-mcp-server ).
  2. Configurar el servidor MCP en Cline:
    • Abrir Cline en VS Code
    • Haga clic en la pestaña "Servidores MCP" en la barra lateral de Cline
    • Haga clic en "Configurar servidores MCP"
    • Esto abrirá el archivo cline_mcp_settings.json
    • Agregue 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ía ver un indicador verde junto al servidor Supabase MCP en la lista de servidores Cline MCP y un mensaje que confirma "servidor Supabase MCP conectado" en la parte inferior del panel.

Solución de problemas

Aquí hay algunos consejos y trucos que podrían ayudarle:

  • Instalación de depuración : ejecute supabase-mcp-server directamente desde la terminal para comprobar si funciona. Si no funciona, podría haber un problema con la instalación.
  • Configuración del servidor MCP : si el paso anterior funciona correctamente, significa que el servidor está instalado y configurado correctamente. Siempre que haya proporcionado el comando correcto, el IDE debería poder conectarse. Asegúrese de proporcionar la ruta correcta al ejecutable del servidor.
  • Error "No se encontraron herramientas" : si ve "Cliente cerrado - no hay herramientas disponibles" en el Cursor a pesar de que el paquete está instalado:
    • Encuentre la ruta completa al ejecutable ejecutando which supabase-mcp-server (macOS/Linux) o where supabase-mcp-server (Windows)
    • Utilice la ruta completa en la configuración de su servidor MCP en lugar de solo supabase-mcp-server
    • Por ejemplo: /Users/username/.local/bin/supabase-mcp-server o C:\Users\username\.local\bin\supabase-mcp-server.exe
  • Variables de entorno : para conectarse a la base de datos correcta, asegúrese de configurar las variables de entorno en mcp_config.json o en el archivo .env ubicado en un directorio de configuración global ( ~/.config/supabase-mcp/.env en macOS/Linux o %APPDATA%\supabase-mcp\.env en Windows).
  • Acceso a 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
    • Los registros incluyen el estado de la conexión, los detalles de configuración y los resultados de la operación.
    • Ver registros usando 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"

Si está atascado o alguna de las instrucciones anteriores es incorrecta, plantee un problema.

Inspector de MCP

Una herramienta muy ú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, lo que ejecutará la instancia del inspector. Junto con los registros, esto te dará una visión general completa de lo que sucede en el servidor.

📝 Ejecutar supabase-mcp-inspector , si está instalado desde el paquete, no funciona correctamente. Lo validaré y lo solucionaré en la próxima versión.

Descripción general de las funciones

Herramientas de consulta de bases de datos

Desde la versión v0.3+, el servidor ofrece capacidades integrales de administración de bases de datos con controles de seguridad integrados:

  • Ejecución de consultas SQL : Ejecute consultas PostgreSQL con evaluación de riesgos
    • Sistema de seguridad de tres niveles :
      • safe : Operaciones de solo lectura (SELECT): siempre permitidas
      • write : Modificaciones de datos (INSERTAR, ACTUALIZAR, ELIMINAR) - requieren modo inseguro
      • destructive : cambios de esquema (DROP, CREATE): requieren modo inseguro + confirmación
  • Análisis y validación de SQL :
    • Utiliza el analizador de PostgreSQL (pglast) para un análisis preciso y proporciona comentarios claros sobre los requisitos de seguridad.
  • Control de versiones de migración automática :
    • Las operaciones que alteran la base de datos se versionan automáticamente
    • Genera nombres descriptivos según el tipo de operación y el objetivo.
  • Controles de seguridad :
    • El modo SEGURO predeterminado solo permite operaciones de solo lectura
    • Todas las declaraciones se ejecutan en modo de transacción a través de asyncpg
    • Confirmación de dos pasos para operaciones de alto riesgo
  • Herramientas disponibles :
    • get_schemas : enumera esquemas con tamaños y recuentos de tablas
    • get_tables : enumera tablas, tablas externas y vistas con metadatos
    • get_table_schema : obtiene la estructura detallada de la tabla (columnas, claves, relaciones)
    • execute_postgresql : ejecuta sentencias SQL en su base de datos
    • confirm_destructive_operation : ejecuta operaciones de alto riesgo después de la confirmación
    • retrieve_migrations : Obtiene migraciones con opciones de filtrado y paginación
    • live_dangerously : alterna entre los modos seguro e inseguro

Herramientas de API de gestión

Desde la versión v0.3.0, el servidor proporciona acceso seguro a la API de administración de Supabase con controles de seguridad integrados:

  • Herramientas disponibles :
    • send_management_api_request : envía solicitudes arbitrarias a la API de administración de Supabase con inyección automática de referencia de proyecto
    • get_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 punto final
      • Proporciona requisitos de parámetros detallados y formatos de respuesta.
      • Ayuda a los LLM a comprender todas las capacidades de la API de administración de Supabase
    • get_management_api_safety_rules : obtiene todas las reglas de seguridad con explicaciones legibles para humanos
    • live_dangerously : alterna entre los modos de operación seguros e inseguros
  • Controles de seguridad :
    • Utiliza el mismo administrador 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 permitidas
      • unsafe : operaciones de cambio de estado (POST, PUT, PATCH, DELETE): requieren modo inseguro
      • blocked : Operaciones destructivas (eliminar proyecto, etc.) - nunca permitidas
    • El modo seguro predeterminado evita cambios de estado accidentales
    • Coincidencia de patrones basada en rutas para reglas de seguridad precisas

Nota : Las herramientas de API de administración solo funcionan con instancias remotas de Supabase y no son compatibles con configuraciones de desarrollo de Supabase locales.

Herramientas de administración de autenticación

Planeaba añadir compatibilidad con los métodos del SDK de Python al servidor MCP. Tras considerarlo, decidí añadir solo compatibilidad con los métodos de administración de autenticación, ya que a menudo me encontraba creando manualmente usuarios de prueba, lo cual era propenso a errores y consumía mucho tiempo. Ahora puedo simplemente pedirle a Cursor que cree un usuario de prueba y lo hará sin problemas. Consulta la documentación completa de los métodos del SDK de administración de autenticación para saber qué puede hacer.

Desde la versión v0.3.6, el servidor admite el acceso directo a los métodos de administración de autenticación de Supabase a través del SDK de Python:

  • Incluye las siguientes herramientas:
    • get_auth_admin_methods_spec para recuperar la documentación de todos los métodos de autenticación de administrador disponibles
    • call_auth_admin_method para invocar directamente los métodos de Auth Admin con un manejo adecuado de los parámetros
  • Métodos admitidos:
    • get_user_by_id : recupera un usuario por su ID
    • list_users : Lista todos los usuarios con paginación
    • create_user : Crea un nuevo usuario
    • delete_user : Eliminar un usuario por su ID
    • invite_user_by_email : Envía un enlace de invitación al correo electrónico de un usuario
    • generate_link : Genera un enlace de correo electrónico para diversos fines de autenticación
    • update_user_by_id : Actualizar los atributos del usuario por ID
    • delete_factor : elimina un factor en un usuario (actualmente no implementado en el SDK)

¿Por qué utilizar Auth Admin SDK en lugar de consultas SQL sin procesar?

El SDK de administración de autenticación ofrece varias ventajas clave sobre la manipulación directa de SQL:

  • Funcionalidad : Permite operaciones que no son posibles solo con SQL (invitaciones, enlaces mágicos, MFA)
  • Precisión : Más confiable que crear y ejecutar consultas SQL sin procesar en esquemas de autenticación
  • Simplicidad : ofrece métodos claros con validación adecuada y manejo de errores.
    • Formato de respuesta:
      • Todos los métodos devuelven objetos estructurados de Python en lugar de diccionarios sin formato
      • Se puede acceder a los atributos de objeto mediante la notación de puntos (por ejemplo, user.id en lugar de user["id"] )
    • Casos extremos y limitaciones:
      • Validación de UUID: muchos métodos requieren un formato UUID válido para los ID de usuario y devolverán errores de validación específicos
      • Configuración de correo electrónico: métodos como invite_user_by_email y generate_link requieren que el envío de correo electrónico esté configurado en su proyecto Supabase
      • Tipos de enlaces: al generar enlaces, los diferentes tipos de enlaces tienen diferentes requisitos:
        • Los enlaces signup no requieren que el usuario exista
        • Los enlaces magiclink y recovery requieren que el usuario ya exista en el sistema
      • Manejo de errores: El servidor proporciona mensajes de error detallados de la API de Supabase, que pueden diferir de la interfaz del panel de control
      • Disponibilidad del método: algunos métodos como delete_factor están expuestos en la API pero no están completamente implementados en el SDK

Registros y análisis

El servidor proporciona acceso a los registros y datos analíticos de Supabase, lo que facilita la supervisión y la resolución de problemas de sus aplicaciones:

  • Herramienta disponible : retrieve_logs : acceda a los registros desde cualquier servicio de Supabase
  • Colecciones de registros :
    • postgres : registros del servidor de base de datos
    • api_gateway : solicitudes de puerta de enlace API
    • auth : Eventos de autenticación
    • postgrest : registros del servicio API RESTful
    • pooler : registros de agrupación de conexiones
    • storage : Operaciones de almacenamiento de objetos
    • realtime : registros de suscripción de WebSocket
    • edge_functions : Ejecuciones de funciones sin servidor
    • cron : registros de trabajos programados
    • pgbouncer : registros del agrupador de conexiones
  • Características : Filtrar por tiempo, buscar texto, aplicar filtros de campo o utilizar consultas SQL personalizadas

Simplifica la depuración en toda la pila Supabase sin cambiar entre interfaces ni escribir consultas complejas.

Control automático de versiones de los cambios en la base de datos

Un gran poder conlleva una gran responsabilidad. Si bien la herramienta execute_postgresql , junto con la herramienta live_dangerously , proporciona una forma potente y sencilla de administrar su base de datos Supabase, también significa que eliminar una tabla o modificarla está a solo un mensaje de chat. Para reducir el riesgo de cambios irreversibles, desde la versión v0.3.8 el servidor admite:

  • Creación automática de scripts de migración para todas las operaciones de escritura y destrucción de SQL ejecutadas en la base de datos.
  • Modo de seguridad mejorado de ejecución de consultas, en el que todas las consultas se clasifican en:
    • Tipo safe : siempre permitido. Incluye todas las operaciones de solo lectura.
    • Tipo write : requiere que el usuario habilite el modo write .
    • tipo destructive : requiere que el usuario habilite el modo write Y una confirmación de 2 pasos de la ejecución de la consulta para los clientes que no ejecutan herramientas automáticamente.

Modo de seguridad universal

Desde la versión v0.3.8, el Modo de Seguridad se ha estandarizado en todos los servicios (base de datos, API, SDK) mediante 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 clasifican en niveles de riesgo:

  • Riesgo Low : Operaciones de solo lectura que no modifican datos ni estructura (consultas SELECT, solicitudes API GET)
  • Riesgo Medium : operaciones de escritura que modifican datos pero no la estructura (INSERTAR/ACTUALIZAR/ELIMINAR, la mayoría de las solicitudes API POST/PUT)
  • High riesgo: Operaciones destructivas que modifican la estructura de la base de datos o podrían causar pérdida de datos (puntos finales de API DROP/TRUNCATE, DELETE)
  • Riesgo Extreme : Operaciones con consecuencias graves que se bloquean por completo (eliminación de proyectos)

Los controles de seguridad se aplican en función del 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 un modo inseguro Y una confirmación explícita
  • Nunca se permiten operaciones de riesgo extremo

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 . Necesitarás confirmar y aprobar explícitamente cada operación de alto riesgo para que se ejecute.

Registro de cambios

  • 📦 Instalación simplificada a través del administrador 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 bases de datos de lectura y escritura con controles de seguridad - ✅ (v0.3.0)
  • 🔄 Manejo robusto de transacciones tanto para conexiones directas como 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)
  • 📖 Conocimientos y herramientas de especificación de API radicalmente mejorados ✅ (v0.3.8)
  • ✍️ Se mejoró la consistencia de las herramientas relacionadas con la migración para un vcs de base de datos más organizado ✅ (v0.3.10)
  • 🥳 Se lanzó Query MCP (v0.4.0)

Para obtener una hoja de ruta más detallada, consulte esta discusión en GitHub.

Historia de las estrellas


¡Que lo disfrutes! ☺️

ID: cyeeqagb81