Añadiendo soporte para el servidor MCP remoto en nuestra infraestructura

created: lunes, jun. 16, 2025

Down-to-Zero (DTZ) siempre ha tratado de hacer más con menos vatios y menos bytes. Desde la programación de contenedores scale-to-zero hasta runners de compilación alimentados por energía solar, cada servicio que lanzamos se mide contra un criterio implacable: ¿podría esto funcionar felizmente en la CPU de un portátil sin ventilador bajo el sol?

Hoy estamos emocionados de anunciar el siguiente paso en ese recorrido - servidores remotos de Model Context Protocol (MCP) que puedes iniciar como contenedores Docker ligeros dentro de cualquier contexto DTZ.


Why MCP matters

MCP es un estándar abierto que permite a los hosts de modelos de lenguaje acceder a “servidores” específicos para tareas, para obtener datos, herramientas o acciones, usando un stream JSON simple y autenticado. Piénsalo como un puerto USB-C para agentes de IA: un conector, muchos periféricos. Ejecutar un servidor MCP junto a tus datos evita enviar conjuntos de datos completos a través de una llamada de API a un LLM. Esto encaja perfectamente con nuestro mantra de “mover el cálculo hacia el borde, no al núcleo”.


What changed - Server-Sent Events in the balancer

Hasta ahora, el balanceador de carga multiusuario de DTZ solo terminaba HTTP/1 y HTTP/2. MCP, sin embargo, depende de Server-Sent Events (SSE) para su stream de eventos unidireccional y de larga duración. SSE funciona muy bien sobre HTTP/2, pero los navegadores limitan estrictamente las conexiones SSE concurrentes cuando vuelven a HTTP/1 — usualmente seis por origen.

Por ello, hemos extendido el balanceador con soporte nativo para SSE:

Esta mejora desbloquea servidores MCP remotos first: ahora puedes desplegar el componente servidor como una imagen de contenedor y permitir que cualquier cliente LLM se conecte de vuelta mediante SSE seguro sin proxies adicionales.


How to deploy

  1. Construye (o descarga) una imagen del servidor MCP.

  2. Súbela a tu registro privado DTZ:

    docker push {context-id}.cr.dtz.dev/my-mcp-server:latest
    
  3. Crea un nuevo servicio en tu contexto y apunta a la imagen. Nuestro scheduler solo tira la imagen bajo demanda y escala a cero cuando ningún host está conectado.

Como el endpoint del registro se encuentra dentro de la misma malla eficiente en energía, las descargas de imágenes ocurren sobre la red local, manteniendo el egreso cerca de cero y acelerando los arranques en frío.


Tiny containers, huge reach

Los servidores MCP remotos típicamente requieren un único binario basado en Rust o Go más una pequeña capa base Alpine. En nuestras propias pruebas, un servidor de integración completo con GitHub consume 15 MiB de RAM al arrancar y menos de 2 W en reposo en nuestros nodos trabajadores DTZ. Esto deja amplio margen para decenas de servidores por nodo antes de que los paneles solares lo noten siquiera.

Para cargas que generan picos, la aislamiento cgroup de DTZ permite que el kernel recupere memoria en cuanto la tarea termina. Combinado con la hibernación SSE del balanceador, tu contexto vuelve a cero apenas unos segundos después de que se haya enviado el último token a tu modelo.


Outlook

Estamos integrando activamente el DTZ Identity Server vía OAuth 2.1 dentro del ecosistema MCP, asegurando que cada stream sea servido solo a clientes autenticados y que tus servidores remotos permanezcan tanto mínimos como seguros.


Menos energía, menos complicaciones - solo contexto donde lo necesitas.