LightNow MCP Proxy
Conecta tus clientes de IA a tus servidores MCP—gestionados de forma segura en un solo lugar.
Documentación
LightNow MCP Proxy
Conecta tus clientes de IA a tus servidores MCP, gestionados de forma segura en un solo lugar.
El LightNow MCP Proxy es el runtime local detrás de los perfiles de LightNow. Conecta Codex, Claude Desktop, Cursor, VS Code o Antigravity una sola vez, y luego gestiona los servidores MCP disponibles para ese cliente en LightNow en lugar de copiar la configuración del servidor y los secretos en cada herramienta.
- Mantén el acceso MCP organizado en perfiles personales y de organización.
- Conecta
stdiolocales y servidores remotos Streamable HTTP a través de una sola entrada. - Resuelve credenciales en la máquina del usuario en lugar de incrustarlas en la configuración del cliente MCP.
- Aplica cambios de perfil y políticas sin reconstruir cada configuración de cliente.
- Observa la salud de clientes, perfiles, servidores y el uso de herramientas. Los argumentos de herramientas se capturan por defecto con campos similares a credenciales redactados y se pueden deshabilitar; los resultados de herramientas y los secretos resueltos nunca se recopilan.
El comando instalado permanece como lightnow-proxy. Se ejecuta localmente, utiliza la
sesión CLI de LightNow vinculada a la identidad, resuelve el perfil seleccionado y enruta
las solicitudes de herramientas y recursos a los servidores MCP del perfil.
Las capacidades provienen de tu perfil de LightNow
El proxy deliberadamente no incluye herramientas de demostración. Sus capacidades MCP son
las herramientas y recursos reales expuestos por los servidores seleccionados en el perfil
activo de LightNow, por lo que la lista difiere entre equipos y clientes. Nombres como
github__create_issue identifican tanto el servidor upstream como su herramienta y evitan
colisiones cuando varios servidores usan el mismo nombre de herramienta.
El proxy soporta la revisión oficial de MCP 2026-07-28 con metadatos de protocolo
sin estado y por solicitud, y server/discover. Mantiene compatibilidad automática con
servidores y clientes de la era del handshake a través de 2025-11-25.
Instalación
Requisitos:
- Python 3.11 o superior
pipx- una cuenta de LightNow
- la CLI de LightNow
pipx install lightnow-cli
lightnow login
Instala el proxy con Homebrew:
brew tap lightnow-ai/tap
brew install lightnow-proxy
O instálalo con pipx:
pipx install lightnow-proxy
O instálalo con uv:
uv tool install lightnow-proxy
El paquete de Python instala el comando lightnow-proxy utilizado por los clientes MCP.
Para desarrollo local en el repositorio:
uv tool install --from . lightnow-proxy
Actualiza las instalaciones compatibles de CLI y Proxy a través de la CLI de LightNow:
lightnow update --check
lightnow update
Homebrew, pipx y uv están gestionados. El proxy solo reporta su versión observada y el estado de actualización en heartbeats de solo metadatos; nunca invoca un gestor de paquetes ni retrasa el inicio de MCP para verificar versiones.
Configurar un Cliente
Usa la CLI de LightNow. Esta escribe la entrada MCP del cliente y la configuración del Proxy Local por cliente.
lightnow sync --client codex --local-proxy
lightnow sync --client claude-desktop --local-proxy
lightnow sync --client cursor --local-proxy
lightnow sync --client vscode --local-proxy
lightnow sync --client antigravity --local-proxy
Reinicia el cliente MCP después de sincronizar.
Múltiples cuentas y organizaciones
Usa un alias distinto de --connection para cada cuenta, organización o perfil
que deba aparecer en el mismo cliente MCP:
lightnow login
lightnow sync --client codex --local-proxy \
--connection lightnow-personal --profile default
# Sign in with the organization account before creating this connection.
lightnow login
lightnow sync --client codex --local-proxy \
--connection lightnow-acme --tenant <tenant-id> --profile engineering
Cada configuración de proxy generada tiene un ID de conexión estable y apunta a una
sesión CLI nombrada bajo ~/.lightnow/sessions/. También registra el emisor y el sujeto
esperados. El proxy rechaza solicitudes de Registry cuando esos valores no coinciden,
por lo que un inicio de sesión CLI posterior no puede cambiar silenciosamente una conexión
existente. No se escribe ningún token de acceso o actualización en el YAML del proxy.
Verifica la configuración local:
lightnow config-status --client codex
Verifica si el proxy puede resolver el perfil seleccionado y alcanzar sus servidores MCP upstream:
lightnow-proxy --health
lightnow-proxy --health --json
Por defecto, esto lee ~/.lightnow/lightnow-proxy/default.yaml, que se escribe
cuando el perfil predeterminado se sincroniza en modo Proxy Local. Para una configuración
específica de cliente, pasa la ruta generada explícitamente:
lightnow-proxy --config ~/.lightnow/lightnow-proxy/codex.yaml --health
lightnow-proxy --config ~/.lightnow/lightnow-proxy/codex.yaml --health --json
Las conexiones nombradas usan archivos separados como
~/.lightnow/lightnow-proxy/codex-lightnow-acme.yaml. El informe de salud JSON
muestra su alias de conexión no secreto, ID, etiqueta de cuenta, alcance, perfil y estado
de vinculación de identidad. Las configuraciones heredadas que usan cli_config_path siguen
siendo legibles, pero están restringidas al emisor de autenticación configurado.
Cuando la telemetría está habilitada, las verificaciones de salud activas y los eventos de
runtime se envían al LightNow Control Plane. Los argumentos de llamadas de herramientas se
capturan por defecto y se pueden deshabilitar de forma independiente en la configuración del
Proxy Local. Los campos similares a credenciales se redactan antes de la transmisión. El proxy
también envía presencia del dispositivo inmediatamente al inicio y cada dos minutos. El Control
Plane puede entonces mostrar qué dispositivos, clientes y perfiles están activos, saludables,
degradados o fallando, junto con las versiones de CLI/Proxy y el estado de actualización. Los
resultados de herramientas, los secretos resueltos de LightNow, los valores de autorización no
redactados, las direcciones de red, los identificadores de hardware y las rutas locales no se
almacenan. Los campos de argumentos similares a credenciales, incluidos los encabezados de
autorización, se reemplazan con [REDACTED] antes de la transmisión.
Los proveedores de vault configurados para resolución en runtime se resuelven en este host,
después de que la API de Registry haya devuelto una referencia de proveedor sin credenciales o
un valor secreto. La auto-autenticación de HashiCorp Vault Proxy en 127.0.0.1:8200 es el
valor predeterminado. Los listeners de loopback específicos del proveedor se pueden mapear bajo
runtime_secrets.providers en el YAML generado; la CLI de LightNow preserva estos mapeos no secretos en
sincronizaciones posteriores. La ruta opcional del keyring del sistema operativo está disponible
con lightnow-proxy[keyring]. Los fallos de resolución cierran de forma segura y los valores en texto
plano nunca se agregan a la caché del esquema de herramientas.
Archivos de runtime gestionados
Los servidores STDIO pueden adjuntar runtime_files acotados y no secretos a su
configuración de cliente de Runtime Profile. LightNow Proxy escribe cada conjunto de archivos
bajo ~/.lightnow/runtime-files en un directorio inmutable direccionado por contenido antes de que
se inicie el proceso upstream. Los archivos usan el modo 0600; los directorios
gestionados usan el modo 0700.
Referencia el directorio resuelto con ${LIGHTNOW_RUNTIME_DIR} en argumentos,
valores de entorno o el directorio de trabajo:
{
"transport": "stdio",
"command": "npx",
"args": [
"@bytebase/dbhub@latest",
"--config",
"${LIGHTNOW_RUNTIME_DIR}/dbhub.toml"
],
"env": {
"DBHUB_DSN": "${DBHUB_DSN}"
},
"runtime_files": [
{
"path": "dbhub.toml",
"content": "[[sources]]\nid = \"analytics\"\ndsn = \"${DBHUB_DSN}\"\n"
}
]
}
Los archivos de runtime son texto UTF-8 y están limitados a 16 archivos, 64 KiB por archivo y 256 KiB por configuración de servidor. Las rutas deben ser relativas y no pueden contener segmentos de traversal ni barras invertidas. Los valores secretos deben permanecer en los buckets de secretos de runtime de LightNow; los archivos pueden referirse a los nombres de entorno correspondientes pero no deben incrustar credenciales en texto plano. Las materializaciones inválidas o modificadas cierran de forma segura antes de que el upstream se inicie.
Más Documentación
Guías detalladas de configuración, ejemplos, diagramas, rutas de clientes compatibles, comportamiento de telemetría y solución de problemas viven en la documentación de LightNow:
Desarrollo Local
Para contribuyentes que trabajan en este repositorio:
uv venv
uv pip install -e .[dev]
make test
Ejecuta el proxy con la configuración de ejemplo:
uv run lightnow-proxy --config config.example.yaml
Ejecuta el proxy como servidor MCP stdio:
uv run lightnow-proxy --config config.example.yaml --transport stdio
Ejecuta una verificación de salud local contra la configuración de ejemplo:
uv run lightnow-proxy --config config.example.yaml --health