Supabase MCP
oficialServidor oficial de Supabase MCP para gestionar proyectos, bases de datos, autenticación, almacenamiento, funciones edge y flujos de trabajo SQL de Supabase desde agentes de IA.
¿Qué puedes hacer con Supabase MCP?
- Gestionar tablas de base de datos — Pídele a la IA que liste, cree, actualice o elimine tablas en tu proyecto de Supabase usando herramientas como
list_tablesycreate_table. - Obtener configuración del proyecto — Recupera la configuración del proyecto, las variables de entorno y las credenciales de la API con
get_project_urly herramientas de configuración relacionadas. - Consultar e inspeccionar datos — Haz que la IA ejecute consultas SQL de solo lectura o explore el esquema de tu base de datos directamente a través del servidor MCP.
- Integrar con AI SDK — Usa
createToolSchemas()para obtener esquemas de entrada/salida tipados para el cliente MCP de Vercel AI SDK.
Documentación
Servidor MCP de Supabase
Conecta tus proyectos de Supabase a Cursor, Claude, Windsurf y otros asistentes de IA.
El Protocolo de Contexto de Modelo (MCP) estandariza la forma en que los Modelos de Lenguaje de Gran Escala (LLMs) se comunican con servicios externos como Supabase. Conecta asistentes de IA directamente con tu proyecto de Supabase y les permite realizar tareas como gestionar tablas, obtener configuración y consultar datos. Consulta la lista completa de herramientas.
Configuración
1. Sigue nuestras mejores prácticas de seguridad
Antes de configurar el servidor MCP, te recomendamos leer nuestras mejores prácticas de seguridad para entender los riesgos de conectar un LLM a tus proyectos de Supabase y cómo mitigarlos.
2. Configura tu cliente MCP
Para configurar el servidor MCP de Supabase en tu cliente, visita nuestra documentación de configuración. También puedes generar una URL MCP personalizada para tu proyecto visitando la pestaña de conexión MCP en el panel de Supabase.
Tu cliente MCP te pedirá automáticamente que inicies sesión en Supabase durante la configuración. Asegúrate de elegir la organización que contiene el proyecto con el que deseas trabajar.
La mayoría de los clientes MCP requieren la siguiente información:
{
"mcpServers": {
"supabase": {
"type": "http",
"url": "https://mcp.supabase.com/mcp"
}
}
}
Si no ves tu cliente MCP en nuestra documentación, consulta la documentación MCP de tu cliente y copia la información MCP anterior en el formato esperado (json, yaml, etc.).
CLI
Si estás ejecutando Supabase localmente con Supabase CLI, puedes acceder al servidor MCP en http://localhost:54321/mcp. Actualmente, el servidor MCP en entornos CLI ofrece un subconjunto limitado de herramientas y no incluye OAuth 2.1.
Autoalojado
Para Supabase autoalojado, consulta la página Habilitar servidor MCP. Actualmente, el servidor MCP en entornos autoalojados ofrece un subconjunto limitado de herramientas y no incluye OAuth 2.1.
Opciones de configuración y herramientas
Consulta la documentación del Servidor MCP de Supabase para ver la lista completa de herramientas disponibles y opciones de configuración.
La documentación también incluye un constructor de URL interactivo para completar las opciones de configuración por ti.
Riesgos de seguridad
[!TIP] Antes de usar el servidor MCP, revisa los riesgos de seguridad y las mitigaciones recomendadas en la Documentación de Supabase.
Uso con el cliente MCP de AI SDK
El paquete @supabase/mcp-server-supabase exporta createToolSchemas() para completar los esquemas de entrada y salida para el cliente MCP de Vercel AI SDK. Esto permite que las herramientas MCP de Supabase se traten como herramientas estáticas con validación del lado del cliente y tipos TypeScript inferidos para sus entradas y salidas.
import { createToolSchemas } from '@supabase/mcp-server-supabase';
import { createMCPClient } from '@ai-sdk/mcp';
import { streamText } from 'ai';
const mcpClient = await createMCPClient({
transport: {
type: 'http',
url: 'https://mcp.supabase.com/mcp',
},
});
const tools = await mcpClient.tools({
schemas: createToolSchemas(),
});
const result = streamText({ model, tools, prompt: '...' });
for (const step of await result.steps) {
for (const toolResult of step.staticToolResults) {
if (toolResult.toolName === 'get_project_url') {
toolResult.input; // { project_id: string }
toolResult.output; // { url: string }
}
}
}
createToolSchemas() acepta opciones de filtrado similares a los parámetros de URL del servidor MCP:
features: Restringir a grupos de funciones específicos (ej.['database', 'docs']). Por defecto, todos los grupos de funciones predeterminados.projectScoped: Cuando estrue, omiteproject_idde los esquemas de entrada de herramientas y excluye las herramientas a nivel de cuenta — usar al conectarse a un servidor configurado conproject_ref. Por defectofalse.readOnly: Cuando estrue, excluye las herramientas de mutación — usar al conectarse a un servidor configurado conread_only=true. Por defectofalse.
const mcpClient = await createMCPClient({
transport: {
type: 'http',
url: 'https://mcp.supabase.com/mcp?project_ref=<project-ref>&read_only=true&features=database,docs',
},
});
const tools = await mcpClient.tools({
schemas: createToolSchemas({
features: ['database', 'docs'],
projectScoped: true,
readOnly: true,
}),
});
[!NOTE] Este servidor no envía
structuredContenten los resultados de las herramientas MCP. AI SDK recurre a analizar JSON desde el textocontent.
Para más información, consulta Definición de Esquema y Salidas de Herramientas Tipadas en la documentación de AI SDK.
Otros servidores MCP
@supabase/mcp-server-postgrest
El servidor MCP de PostgREST te permite conectar a tus propios usuarios a tu aplicación a través de una API REST. Consulta más detalles en su README del proyecto.
Recursos
- Protocolo de Contexto de Modelo: Aprende más sobre MCP y sus capacidades.
- Del desarrollo a la producción: Aprende cómo promover cambios de forma segura a entornos de producción.
Para desarrolladores
Consulta CONTRIBUTING para obtener detalles sobre cómo contribuir a este proyecto.
Licencia
Este proyecto está licenciado bajo Apache 2.0. Consulta el archivo LICENSE para más detalles.