Supabase MCP Server
Servidor MCP de Supabase
Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con bases de datos de Supabase. Este servidor implementa el Protocolo de Contexto de Modelo mediante el SDK de Python FastMCP para proporcionar herramientas de operación de bases de datos para modelos de lenguaje grandes (LLM).
Características
Leer registros de tablas de Supabase con filtrado, paginación y ordenación
Crear nuevos registros (individuales o por lotes) en las tablas de Supabase
Actualizar los registros existentes según las condiciones del filtro
Eliminar registros de tablas según las condiciones del filtro
Se comunica mediante el transporte Stdio de MCP
Related MCP server: Supabase MCP Server
Prerrequisitos
Python 3.8 o superior
Un proyecto de Supabase con tablas ya configuradas
Clave de rol del servicio Supabase para autenticación
Instalación
Clonar este repositorio:
git clone https://github.com/gevans3000/supabase-mcp.git cd supabase-mcpConfigurar un entorno virtual (recomendado):
# Create a virtual environment python -m venv venv # Activate the virtual environment # On Windows: venv\Scripts\activate # On macOS/Linux: source venv/bin/activateInstalar las dependencias:
pip install -r requirements.txtConfigurar variables de entorno:
Copie el archivo
.env.examplea.env:cp .env.example .env # On Windows, use: # copy .env.example .envComplete la URL de Supabase y la clave de rol de servicio en el archivo
.env:SUPABASE_URL=your_supabase_project_url SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
Uso
Iniciando el servidor
Asegúrese de que su entorno virtual esté activado, luego ejecute el servidor:
python server.pyEl servidor utiliza el transporte Stdio, por lo que escuchará las solicitudes MCP en la entrada estándar y responderá en la salida estándar.
Integración con clientes MCP
Este servidor implementa el Protocolo de Contexto de Modelo y se integra con cualquier cliente compatible con MCP. Por ejemplo, puede usarlo con frameworks LLM compatibles con herramientas MCP.
Agregar a la configuración de Windsurf/Cursor MCP
Para agregar este servidor MCP a su configuración de Windsurf o Cursor:
Localice su archivo
mcp_config.json:Windows:
C:\Users\<username>\.codeium\windsurf\mcp_config.jsonmacOS:
~/.codeium/windsurf/mcp_config.jsonLinux:
~/.codeium/windsurf/mcp_config.json
Agregue el servidor Supabase MCP a la sección
mcpServers:
{
"mcpServers": {
// ... other servers
"supabase": {
"command": "python",
"args": [
"/path/to/your/supabase-mcp/server.py"
],
"env": {
"SUPABASE_URL": "your_supabase_url",
"SUPABASE_SERVICE_ROLE_KEY": "your_supabase_key"
}
}
}
}Reemplace /path/to/your/supabase-mcp/server.py con la ruta absoluta a su archivo server.py.
Nota : Para un mejor aislamiento, puede utilizar el ejecutable de Python desde su entorno virtual:
{
"mcpServers": {
"supabase": {
"command": "/path/to/your/venv/bin/python", // or "venv\\Scripts\\python.exe" on Windows
"args": [
"/path/to/your/supabase-mcp/server.py"
]
}
}
}Reinicie su aplicación Windsurf/Cursor para aplicar los cambios.
Las herramientas Supabase MCP ahora estarán disponibles para su asistente de IA.
Descripciones de herramientas
El servidor proporciona las siguientes herramientas:
1. leer_registros
Lee registros de una tabla de base de datos Supabase con opciones de consulta flexibles.
Parámetros:
table(cadena, obligatoria): nombre de la tabla desde la que se leerácolumns(cadena, opcional, valor predeterminado: "*"): columnas para seleccionar (separadas por comas o * para todas)filters(objeto, opcional): condiciones de filtrado como pares clave-valorlimit(entero, opcional): número máximo de registros a devolveroffset(entero, opcional): Número de registros a omitir para la paginaciónorder_by(objeto, opcional): Opciones de ordenamiento como pares columna:dirección
Ejemplo:
{
"table": "users",
"columns": "id,name,email",
"filters": {"is_active": true},
"limit": 10,
"offset": 0,
"order_by": {"created_at": "desc"}
}2. crear_registros
Crea uno o más registros en una tabla de base de datos de Supabase.
Parámetros:
table(cadena, obligatoria): nombre de la tabla en la que se crearán los registrosrecords(objeto o matriz, obligatorio): un único objeto de registro o una matriz de objetos de registro para crear
Ejemplo (registro único):
{
"table": "users",
"records": {
"name": "John Doe",
"email": "john@example.com",
"role": "user"
}
}Ejemplo (múltiples registros):
{
"table": "users",
"records": [
{
"name": "John Doe",
"email": "john@example.com",
"role": "user"
},
{
"name": "Jane Smith",
"email": "jane@example.com",
"role": "admin"
}
]
}3. actualizar_registros
Actualiza registros existentes en una tabla de base de datos de Supabase según las condiciones del filtro.
Parámetros:
table(cadena, obligatoria): nombre de la tabla en la que se actualizarán los registrosupdates(objeto, obligatorio): Campos para actualizar como pares clave-valorfilters(objeto, obligatorio): Condiciones de filtrado para identificar registros a actualizar
Ejemplo:
{
"table": "users",
"updates": {
"is_verified": true,
"last_login_at": "2025-04-04T15:30:00Z"
},
"filters": {
"id": 123
}
}4. eliminar_registros
Elimina registros de una tabla de base de datos de Supabase según las condiciones del filtro.
Parámetros:
table(cadena, obligatoria): nombre de la tabla de la que se eliminarán registrosfilters(objeto, obligatorio): Condiciones de filtrado para identificar registros a eliminar
Ejemplo:
{
"table": "expired_sessions",
"filters": {
"expires_at": {"lt": "2025-01-01T00:00:00Z"}
}
}Desarrollo
Estructura del proyecto
server.py: Implementación del servidor MCP principalsupabase_client.py: contenedor de cliente de Supabaserequirements.txt: Dependencias de Python.env.example: archivo de variables de entorno de ejemplo
Agregar nuevas herramientas
Para agregar una nueva herramienta al servidor:
Defina un modelo Pydantic para los parámetros de solicitud de la herramienta en
server.pyAgregue un método de controlador a la clase
SupabaseMCPServerRegistre la herramienta en el método
_register_toolscon un nombre descriptivo y documentación
Licencia
Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBqualityFmaintenanceEnables querying Supabase databases and generating TypeScript types through the Model Context Protocol interface, supporting features like schema selection, column filtering, and pagination.214
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI tools to interact with Supabase databases, providing tools for reading, creating, updating, and deleting records in Supabase tables.MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with Supabase databases through standardized CRUD operations including querying, inserting, updating, and deleting records with support for filtering, pagination, and column selection.
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to Supabase projects to manage databases, execute SQL queries, and handle project configurations. It enables tasks like table management, edge function deployment, and log retrieval through the Model Context Protocol.Apache 2.0
Related MCP Connectors
Manage Supabase projects end to end across database, auth, storage, realtime, and migrations. Moni…
MCP server for interacting with the Supabase platform
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gevans3000/supabase-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server