🟢 Cómo habilitar el servidor MCP en Supabase Self-Hosted

Soporte Donweb
Soporte Donweb
  • Actualización

Este tutorial explica cómo configurar el acceso seguro al servidor MCP (Model Context Protocol) en una instalación self-hosted de Supabase.

El servidor MCP en Supabase self-hosted se ejecuta detrás de la API interna. Actualmente:

  • No ofrece autenticación OAuth 2.1.
  • No está diseñado para exponerse a Internet.
  • El endpoint correspondiente debe protegerse restringiendo las conexiones de red.
  • Por defecto, todas las conexiones al servidor MCP están bloqueadas.

Esta guía describe cómo habilitar el acceso de forma segura.

Consideraciones de seguridad

No se deben permitir conexiones al servidor MCP desde Internet. El acceso debe realizarse únicamente mediante:

  • Una conexión VPN al servidor donde corre el contenedor Studio.
  • Un túnel SSH desde tu máquina local.

Acceso mediante túnel SSH

Paso 1: Determinar la IP local utilizada para acceder al servidor MCP

Cuando se establece un túnel SSH hacia el contenedor Studio de Docker, la IP de origen será la del Docker bridge gateway. Es necesario permitir explícitamente conexiones desde esa IP.

Para obtener la IP del gateway del bridge de Docker en el host que ejecuta Supabase, ejecuta:

docker inspect supabase-kong \
 --format '{{range .NetworkSettings.Networks}}{{println .Gateway}}{{end}}'

El comando devolverá una dirección IP, por ejemplo:

172.18.0.1

Paso 2: Permitir conexiones desde la IP del gateway

Edita el archivo de configuración de Kong ubicado en:

./volumes/api/kong.yml

Dentro de la definición del endpoint MCP:

  • Comenta la sección request-termination, que bloquea el acceso por defecto.
  • Descomenta la sección que comienza con - name: cors.
  • Agrega la IP del Docker bridge gateway en la lista allow del plugin ip-restriction.
  • No elimines la sección deny, ya que es necesaria para mantener el control de acceso.

Una vez realizado esto, el endpoint MCP quedará accesible únicamente desde las IPs permitidas.

Paso 3: Reiniciar el API Gateway

Después de modificar la configuración, reinicia el contenedor de Kong para aplicar los cambios:

docker compose restart kong

Paso 4: Crear el túnel SSH

Desde tu máquina local, crea un túnel SSH hacia el host donde está instalado Supabase:

ssh -L localhost:8080:localhost:8000 you@your-supabase-host

Este comando redirige el puerto local 8080 al puerto 8000 del host de Supabase.

Paso 5: Configurar el cliente MCP

En la configuración de tu cliente MCP (por ejemplo Claude Code, Cursor u otro), agregá el servidor MCP de Supabase con la siguiente URL:

http://localhost:8080/mcp

Esto suele configurarse dentro de las secciones mcpServers o servers, según el cliente.

Paso 6: Verificar el acceso al servidor MCP

Desde tu máquina local, puedes verificar que el servidor MCP esté accesible ejecutando una llamada de inicialización al endpoint MCP.

Si la respuesta es válida, el servidor está correctamente habilitado.

A partir de este punto, puedes iniciar tu cliente MCP y utilizar las herramientas del servidor MCP de Supabase.

Troubleshooting

Si no puedes conectarte al servidor MCP, revisa lo siguiente:

  • Asegúrate de estar usando la versión más reciente del archivo de configuración de Kong.
  • Verifica que la IP del Docker bridge gateway esté correctamente agregada en ./volumes/api/kong.yml.
  • Revisa los logs de Kong para detectar errores:
docker compose logs kong
  • Confirma que el túnel SSH esté activo y funcionando.

Relacionada con

¿Fue útil este artículo?

Usuarios a los que les pareció útil: 0 de 0

¿Tiene más preguntas? Enviar una solicitud

Comentarios

0 comentarios

El artículo está cerrado para comentarios.