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
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.example
a.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:
El 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.json
macOS:
~/.codeium/windsurf/mcp_config.json
Linux:
~/.codeium/windsurf/mcp_config.json
Agregue el servidor Supabase MCP a la sección
mcpServers
:
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:
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:
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):
Ejemplo (múltiples registros):
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:
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:
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.py
Agregue un método de controlador a la clase
SupabaseMCPServer
Registre la herramienta en el método
_register_tools
con 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
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Implementa el Protocolo de Contexto de Modelo para proporcionar a los LLM herramientas para interactuar con las bases de datos de Supabase, respaldando operaciones como lectura, creación, actualización y eliminación de registros con capacidades de filtrado y paginación.
Related MCP Servers
- AsecurityFlicenseAqualityEnables querying Supabase databases and generating TypeScript types through the Model Context Protocol interface, supporting features like schema selection, column filtering, and pagination.Last updated -13
- -securityAlicense-qualityA Model Context Protocol server that enables Claude and other LLMs to perform database operations and invoke Edge Functions within Supabase through natural language.Last updated -1,1963MIT License
- -securityAlicense-qualityA 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.Last updated -MIT License