Nora MCP Server
Opera flotas de agentes OpenClaw y Hermes autoalojadas en Docker o Kubernetes a través de Nora.
Documentación
Nora
Ejecuta flotas de OpenClaw y Hermes en tu propia infraestructura — desde un único panel de control.
OpenClaw + Hermes · Docker + Kubernetes GA · 69 conexiones de proveedores · Apache-2.0
📚 Documentación · Autoalojamiento · Arquitectura · Cómo se compara Nora · Kit de prensa · Registro de cambios
¿Qué es Nora?
Nora es la plataforma de operaciones de agentes de IA autoalojada para ejecutar flotas de agentes autónomos en infraestructura que tú controlas — ya sea que estandarices en OpenClaw, Hermes, o mantengas ambos disponibles en la misma superficie de operador.
La mayoría de los equipos que ejecutan agentes en producción terminan reconstruyendo la misma capa alrededor del runtime: flujos de despliegue, secretos, monitoreo, registros, terminal, plantillas y una superficie de administración separada. Nora existe para que esa capa no tenga que reescribirse cada vez que cambie la conversación sobre el runtime. Los flujos de trabajo del operador viven bajo /app; la administración a nivel de plataforma vive bajo /admin.
→ Por qué Nora · Modelo de runtime · Huella de despliegue
Características
- Despliega y opera runtimes — aprovisiona agentes de OpenClaw y Hermes en Docker o Kubernetes (ambos GA, con Helm chart oficial) con controles completos del ciclo de vida: desplegar, iniciar/detener, reiniciar, redesplegar e historial de versiones.
- Migra runtimes existentes — recrea agentes a partir de paquetes subidos, con Live Pull local privilegiado de Docker disponible para administradores de plataforma autoalojada.
- Acceso de operador en vivo — registros en streaming, una terminal interactiva dentro de los contenedores en ejecución, un explorador/editor de archivos, y la puerta de enlace de OpenClaw y el panel de Hermes integrados en la interfaz del operador.
- Monitoreo y alertas — métricas y costos por agente, un resumen de atención necesaria de la flota (con errores, atascados, sobre presupuesto, telemetría detenida) y reglas de alerta definidas por el usuario entregadas a tus canales.
- Presupuestos y ejecuciones programadas — límites máximos de presupuesto de LLM por agente con pausa automática, más programaciones cron recurrentes para ejecuciones de agentes con reintentos en cola y protecciones de barrido.
- Secretos que fallan cerrados por defecto — las claves de proveedores están cifradas en reposo con AES-256-GCM y sincronizadas a los runtimes en ejecución; la producción se niega a arrancar sin una clave de cifrado válida a menos que un operador habilite deliberadamente la anulación de texto plano insegura; el anclaje de claves de host SSH protege los hosts Docker remotos (BYOC).
- Aislamiento de red — aislamiento de ingreso de NetworkPolicy de Kubernetes de referencia con reglas de permitido CIDR administradas por el administrador, y un sandbox reforzado experimental NemoClaw para código no confiable.
- Agent Hub — plantillas de inicio versionadas e instalables para pasar de cero a un agente funcional rápidamente.
- Integraciones — un catálogo de credenciales/conectividad de 69 entradas (control de versiones, chat, nube, observabilidad, bases de datos vectoriales, automatización) más más de 17 proveedores de LLM. El comportamiento ejecutable proviene de habilidades del runtime o adaptadores MCP; los servidores MCP compatibles por agente se habilitan explícitamente.
- Proxmox LXC experimental — despliega OpenClaw estándar o una imagen preparada de Hermes en LXC sin privilegios con TLS de API verificado y SSH anclado. No es aislamiento de nivel VM y aún requiere la prueba de humo de hardware real antes del uso en producción.
- Automatiza todo — una API REST pública (OpenAPI 3.1), el
@noraai/cli, y el@noraai/mcp-serverpara Claude Code, Gemini CLI, Claude Desktop y Cursor. - Espacios de trabajo y RBAC — espacios de trabajo multiinquilino con roles jerárquicos, una superficie de administración de plataforma, historial de eventos de cuenta y copias de seguridad administradas cifradas.
Capturas de pantalla
![]() Panel del operador |
![]() Monitoreo de flota y triaje de atención necesaria |
![]() Detalle del agente y operaciones del ciclo de vida |
![]() WebUI de Hermes integrada en Nora |
![]() Flujo de despliegue de agentes | |
Inicio rápido
Requisitos: macOS 12+, Linux o Windows 10+ (WSL2), con Docker Engine + Compose v2. El instalador verifica Docker, Git y OpenSSL e instala cualquier cosa que falte.
macOS / Linux / WSL2:
curl -fsSL https://raw.githubusercontent.com/solomon2773/nora/master/setup.sh | bash
¿Prefieres inspeccionar el instalador primero?
git clone https://github.com/solomon2773/nora.git
cd nora
less setup.sh
bash setup.sh
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/solomon2773/nora/master/setup.ps1 | iex
Windows requiere PowerShell 7+. El PowerShell 5.1 predeterminado de Windows no es compatible — ejecuta el comando anterior desde una sesión de
pwsh7.
Kubernetes (Helm):
helm show chart oci://ghcr.io/solomon2773/nora
El comando resuelve el chart publicado más reciente; fija la versión informada para instalaciones de producción reproducibles. El chart OCI público instala el plano de control completo de Nora. Consulta las instrucciones de Helm para los secretos requeridos y las opciones de Ingress.
El instalador verifica los requisitos previos, genera o conserva secretos, opcionalmente crea un administrador de arranque, elige puertos locales libres cuando los predeterminados están ocupados e inicia el stack. Una vez que termina, abre la URL impresa por la configuración. El modo local predeterminado es http://localhost:8080, pero la configuración puede seleccionar otro puerto como 8081 en una estación de trabajo ocupada. Luego sigue el tutorial de los primeros 15 minutos.
¿Aún no tienes una clave de API? En instalaciones con el destino Docker local habilitado, elige Iniciar demo local de Docker en la página de Introducción. Nora despliega un agente funcional contra su proveedor de demostración determinista integrado, para que puedas validar el chat y el flujo de trabajo del operador con cero claves y cero costo de uso de modelos. Las instalaciones solo de Kubernetes comienzan agregando un proveedor de modelos y desplegando en un destino de clúster habilitado.
Para configuración manual, variables de entorno, modo de dominio público, TLS, Docker remoto, Kubernetes, NemoClaw y configuración experimental de Proxmox LXC, consulta la documentación:
- Guía de autoalojamiento
- Referencia de variables de entorno
- Backends de aprovisionador (Docker y k3s/Kubernetes son GA; Docker remoto, NemoClaw y Proxmox LXC son experimentales)
- Configuración de Docker remoto BYOC — registro SSH, redes privadas, validación, uso compartido y recuperación
- TLS y dominios públicos
- Proteger un lanzamiento con Cloudflare — caché de borde, limitación de velocidad y absorción de picos para el despliegue de un solo host
Documentación
La documentación completa está en docs.norafleet.ai. El código fuente MDX está en docs/.
| Sección | Qué contiene |
|---|---|
| Inicio rápido | Instala y valida tu primer agente en 15 minutos |
| Conceptos | Arquitectura, agentes, runtimes, espacios de trabajo, proveedores de LLM, Agent Hub |
| Configuración | Modos de plataforma, variables de entorno, backends de aprovisionador, TLS / dominios públicos |
| Guías | Desplegar agente, proveedores, integraciones, canales, monitoreo, reglas de alerta, copias de seguridad, Agent Hub, NemoClaw |
| Referencia de API | Autenticación, espacios de trabajo, agentes, canales, integraciones, proveedores, monitoreo, reglas de alerta |
| Soporte | Preguntas frecuentes, solución de problemas |
Arquitectura
Nginx
├── / → frontend-marketing (Next.js)
├── /app/* → frontend-dashboard (Next.js)
├── /admin/* → admin-dashboard (Next.js)
└── /api/* → backend-api (Express.js)
├── PostgreSQL
├── Redis + BullMQ (deployments, clawhub-jobs, backups, alert-deliveries)
├── worker-provisioner
├── worker-backup
├── deploy-target adapters (Docker + k3s/k8s GA · Remote Docker + Proxmox experimental)
└── sandbox profiles (standard · NemoClaw experimental)
El artículo completo de arquitectura — mapa del sistema, límites de cola/trabajador, RBAC, contrato de migración, topologías de despliegue — está en docs/concepts/architecture.
Stack tecnológico
| Capa | Tecnología |
|---|---|
| Proxy inverso | Nginx |
| Frontends | Next.js 16, React 19, Tailwind CSS |
| API de backend | Express.js 5, Node.js 24 LTS |
| Autenticación | JWT, cookies HttpOnly, bcryptjs, puente OAuth de proveedores |
| Base de datos | PostgreSQL 15 |
| Cola | BullMQ + Redis 7 |
| Familias de runtime | OpenClaw, Hermes |
| Destinos de despliegue | Docker y k3s/Kubernetes (GA); Docker remoto BYOC y Proxmox LXC sin privilegios (experimental) |
| Perfiles de sandbox | Estándar; NemoClaw (experimental, no disponible en Proxmox) |
| Secretos en reposo | AES-256-GCM (claves de proveedores, integraciones, copias de seguridad) |
API REST pública, CLI y MCP
Las claves de API con ámbito de espacio de trabajo (solo bearer, prefijo nora_, hash HMAC en reposo, basadas en ámbito) impulsan un subconjunto estable de la superficie REST. Emite claves en /app/workspaces/<id>/api-keys.
export NORA_TOKEN="nora_..."
curl -H "Authorization: Bearer $NORA_TOKEN" https://your-nora.example.com/api/agents
Una pequeña CLI vive en cli/ (@noraai/cli): ejecuta nora login una vez para guardar tu host y token de API, luego nora workspaces, nora agents y nora monitoring envuelven la misma superficie REST. nora doctor ejecuta una verificación de salud del plano de control solo para administradores, y nora mcp lanza el servidor MCP stdio. Consulta la referencia de API para los endpoints y ámbitos admitidos.
Opera Nora desde Claude Code, Gemini CLI, Claude Desktop o Cursor: el paquete mcp-server/ (@noraai/mcp-server) expone la misma API que las herramientas de Model Context Protocol — despliega agentes, controla su ciclo de vida y lee métricas de flota, eventos y costo por agente desde cualquier cliente MCP. La eliminación destructiva permanece deshabilitada a menos que se active explícitamente.
claude mcp add nora \
--env NORA_API_URL=https://your-nora.example.com \
--env NORA_API_KEY=nora_... \
-- npx -y @noraai/mcp-server
Los usuarios de Gemini CLI pueden instalar la extensión del repositorio directamente. El instalador solicita la URL de la API de Nora y almacena la clave de API del workspace como una configuración sensible de la extensión:
gemini extensions install https://github.com/solomon2773/nora
Consulta la guía de MCP para la configuración de Gemini CLI, Claude Desktop y Cursor, la lista de herramientas y las notas de seguridad.
Estándares y aislamiento
- MCP — incluido. Un servidor MCP del plano de control (
@noraai/mcp-server, publicado en el Registro MCP oficial) más gestión de servidores MCP por agente — opera la flota desde Claude Code, Gemini CLI, Claude Desktop o Cursor, y conecta herramientas MCP a agentes individuales. - OpenTelemetry GenAI — disponible. Exportación OTLP + Prometheus de telemetría de ejecución bajo las convenciones semánticas
gen_ai.*— los spans de chat por intercambio más las métricas de token/costo/recurso fluyen hacia la pila Grafana / Datadog / Langfuse que ya ejecutas. (Los sub-spans por llamada de herramienta dependen de los flujos de eventos del runtime y permanecen en la hoja de ruta). - A2A — en la hoja de ruta. Tarjetas de agente / descubrimiento agente-a-agente para agentes OpenClaw y Hermes gestionados.
- Aislamiento, por objetivo de despliegue. Las ejecuciones estándar de Docker usan namespaces de contenedores más límites de CPU y RAM establecidos por el operador;
disk_gbes metadatos y los operadores deben monitorear el almacenamiento de Docker. Kubernetes añade límites de recursos de workloads y solicitudes de almacenamiento aprovisionado. El perfil experimental NemoClaw endurece código no confiable con un usuario no root, todas las capacidades de Linux eliminadas,no-new-privileges, Landlock + seccomp y egreso con denegación predeterminada. La colocación experimental en Proxmox usa LXC sin privilegios, que sigue siendo un límite de kernel compartido y no se presenta como aislamiento de nivel VM. Consulta el modelo de aislamiento.
Hoja de ruta
- Endurecimiento de NemoClaw (alta prioridad) — madurar el perfil experimental de sandbox seguro de extremo a extremo: habilitación, controles de políticas, aprobaciones, telemetría y validación.
- Calificación de hardware Proxmox — ejecutar la matriz de ciclo de vida de OpenClaw protegido y Hermes preparado en el nodo, almacenamiento, bridge, plantillas y red exactos antes de considerar cualquier etiqueta beta; hasta entonces el objetivo permanece Experimental.
- Paridad Hermes/OpenClaw — cerrar brechas de runtime en validación, registros, acceso a terminal, monitoreo y reporte de fallos.
- UX del operador en el primer uso — un camino más directo desde la instalación hasta el primer agente desplegado y validado.
- Monitoreo por cuenta — resúmenes de salud a nivel de cuenta en workspaces, agentes, costo y alertas, con desgloses.
- Endurecimiento de autenticación y sincronización de claves — rotación de claves, pistas de auditoría y recuperación de fallos parciales de sincronización.
- Ergonomía del Agent Hub — mejor descubrimiento de plantillas, flujos de instalación/configuración y validación posterior a la instalación.
- Soporte A2A — tarjetas de agente / descubrimiento agente-a-agente para runtimes gestionados.
Desarrollo
# Docker (recommended)
docker compose up -d
docker compose logs -f backend-api
# Tests
cd backend-api && npx jest --no-watchman
cd e2e && npm test
Comienza con CONTRIBUTING.md para orientación de contribuyentes. CLAUDE.md documenta la estructura del repositorio, comandos de desarrollo y propiedad de subárboles tanto para humanos como para agentes de codificación de IA.
Contribuciones
¿Nuevo aquí? Explora buenos primeros issues para puntos de partida pequeños y autónomos, luego revisa CONTRIBUTING.md.
Áreas de contribución sólidas: trabajo en adaptadores de runtime · UX de operador y administración · aprovisionamiento y orquestación de ciclo de vida · integraciones y canales · endurecimiento de pruebas y CI · ergonomía de despliegue autoalojado.
Flujo de trabajo típico: fork → rama (feature/...) → commit → pull request.
Comunidad
Si Nora te resulta útil, una ⭐ en el repositorio ayuda a otros autoalojadores a encontrarla.
Licencia
Este proyecto es de código abierto bajo la Licencia Apache 2.0.




