Nora MCP Server

Opere frotas de agentes OpenClaw e Hermes auto-hospedados no Docker ou Kubernetes através do Nora.

Documentação

Nora

Nora

Execute as frotas OpenClaw e Hermes na sua própria infraestrutura — a partir de um único painel de controle.

OpenClaw + Hermes  ·   Docker + Kubernetes GA  ·   69 conexões de provedores  ·   Apache-2.0

Star Nora on GitHub Quick Start

Latest release CI status @noraai/cli on npm @noraai/mcp-server on npm

📚 Documentação · Auto-hospedagem · Arquitetura · Como a Nora se Compara · Kit de Imprensa · Changelog


Watch the Nora walkthrough

▶ Assista ao passo a passo

O que é a Nora?

A Nora é a plataforma auto-hospedada de operações de agentes de IA para executar frotas de agentes autônomos na infraestrutura que você controla — seja padronizando no OpenClaw, no Hermes, ou mantendo ambos disponíveis na mesma superfície de operação.

A maioria das equipes que executam agentes em produção acaba reconstruindo a mesma camada ao redor do runtime: fluxos de deploy, segredos, monitoramento, logs, terminal, templates e uma superfície administrativa separada. A Nora existe para que essa camada não precise ser reescrita toda vez que a conversa sobre runtime mudar. Os fluxos de trabalho do operador ficam em /app; a administração da plataforma fica em /admin.

→ Por que a Nora · Modelo de runtime · Pegada de implantação

Recursos

  • Implantar e operar runtimes — provisione agentes OpenClaw e Hermes no Docker ou Kubernetes (ambos GA, com Helm chart oficial) com controles completos de ciclo de vida: deploy, iniciar/parar, reiniciar, reimplantar e histórico de versões.
  • Migrar runtimes existentes — recrie agentes a partir de bundles enviados, com Live Pull Docker local privilegiado disponível para administradores da plataforma auto-hospedada.
  • Acesso de operador ao vivo — logs em streaming, terminal interativo nos contêineres em execução, navegador/editor de arquivos e o gateway OpenClaw e o dashboard Hermes incorporados na UI do operador.
  • Monitoramento e alertas — métricas e custo por agente, resumo de atenção da frota (com erro, travado, acima do orçamento, telemetria parada) e regras de alerta definidas pelo usuário entregues nos seus canais.
  • Orçamentos e execuções agendadas — limites rígidos de orçamento de LLM por agente com pausa automática, além de agendamentos cron recorrentes para execuções de agentes com filas de retry e proteções de varredura.
  • Segredos que falham fechados por padrão — chaves de provedores são criptografadas com AES-256-GCM em repouso e sincronizadas com os runtimes em execução; a produção se recusa a iniciar sem uma chave de criptografia válida, a menos que um operador habilite deliberadamente a substituição insegura em texto puro; o pinning de host key SSH protege hosts Docker remotos (BYOC).
  • Isolamento de rede — isolamento de entrada NetworkPolicy do Kubernetes com regras de permissão CIDR gerenciadas pelo administrador e um sandbox endurecido NemoClaw experimental para código não confiável.
  • Agent Hub — templates iniciais instaláveis e versionados para sair do zero a um agente funcional rapidamente.
  • Integrações — catálogo de credenciais/conectividade com 69 entradas (controle de versão, chat, nuvem, observabilidade, bancos de dados vetoriais, automação) além de mais de 17 provedores de LLM. O comportamento executável vem de skills do runtime ou adaptadores MCP; servidores MCP suportados por agente são habilitados explicitamente.
  • Proxmox LXC experimental — implante OpenClaw padrão ou uma imagem Hermes preparada em LXC não privilegiado com TLS de API verificado e SSH fixado. Não é isolamento de nível VM e ainda requer o gate de fumaça em hardware real antes do uso em produção.
  • Automatize tudo — uma API REST pública (OpenAPI 3.1), o @noraai/cli e o @noraai/mcp-server para Claude Code, Gemini CLI, Claude Desktop e Cursor.
  • Workspaces e RBAC — workspaces multi-tenant com papéis hierárquicos, superfície de administração da plataforma, histórico de eventos da conta e backups gerenciados criptografados.

Capturas de tela

Operator dashboard
Dashboard do operador
Fleet monitoring
Monitoramento da frota e triagem de atenção
Nora agent detail and operations view
Detalhes do agente e operações de ciclo de vida
Embedded Hermes WebUI
WebUI do Hermes incorporada na Nora
Agent deploy flow
Fluxo de deploy de agentes

Início rápido

Requisitos: macOS 12+, Linux ou Windows 10+ (WSL2), com Docker Engine + Compose v2. O instalador verifica Docker, Git e OpenSSL e instala qualquer item ausente.

macOS / Linux / WSL2:

curl -fsSL https://raw.githubusercontent.com/solomon2773/nora/master/setup.sh | bash
Prefere inspecionar o instalador primeiro?
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

O Windows requer PowerShell 7+. O PowerShell 5.1 padrão do Windows não é suportado — execute o comando acima em uma sessão do pwsh 7.

Kubernetes (Helm):

helm show chart oci://ghcr.io/solomon2773/nora

O comando resolve o chart publicado mais recente; fixe a versão informada para instalações de produção reproduzíveis. O chart OCI público instala o painel de controle completo da Nora. Consulte as instruções do Helm para os segredos necessários e opções de Ingress.

O instalador verifica pré-requisitos, gera ou preserva segredos, opcionalmente cria um administrador de bootstrap, escolhe portas locais livres quando os padrões estão ocupados e inicia a stack. Quando terminar, abra a URL impressa pela configuração. O modo local usa como padrão http://localhost:8080, mas a configuração pode selecionar outra porta, como 8081, em uma estação de trabalho ocupada. Em seguida, siga o passo a passo dos primeiros 15 minutos.

Ainda não tem chave de API? Em instalações com o destino Docker local habilitado, escolha Iniciar demo Docker local na página de Introdução. A Nora implanta um agente funcional contra seu provedor de demonstração determinístico integrado, para que você possa validar o chat e o fluxo de trabalho do operador sem chaves e sem custo de uso de modelo. Instalações somente Kubernetes começam adicionando um provedor de modelo e implantando em um destino de cluster habilitado.

Para configuração manual, variáveis de ambiente, modo de domínio público, TLS, Docker Remoto, Kubernetes, NemoClaw e configuração experimental do Proxmox LXC, consulte a documentação:

Documentação

A documentação completa está em docs.norafleet.ai. O código-fonte MDX está em docs/.

SeçãoO que contém
Início rápidoInstale e valide seu primeiro agente em 15 minutos
ConceitosArquitetura, agentes, runtimes, workspaces, provedores de LLM, Agent Hub
ConfiguraçãoModos de plataforma, variáveis de ambiente, backends de provisionamento, TLS / domínios públicos
GuiasImplantar agente, provedores, integrações, canais, monitoramento, regras de alerta, backups, Agent Hub, NemoClaw
Referência da APIAutenticação, workspaces, agentes, canais, integrações, provedores, monitoramento, regras de alerta
SuporteFAQ, solução de problemas

Arquitetura

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)

O texto completo sobre arquitetura — mapa do sistema, limites de fila/trabalhador, RBAC, contrato de migração, topologias de implantação — está em docs/concepts/architecture.

Stack de tecnologia

CamadaTecnologia
Proxy reversoNginx
FrontendsNext.js 16, React 19, Tailwind CSS
API de backendExpress.js 5, Node.js 24 LTS
AutenticaçãoJWT, cookies HttpOnly, bcryptjs, ponte OAuth de provedor
Banco de dadosPostgreSQL 15
FilaBullMQ + Redis 7
Famílias de runtimeOpenClaw, Hermes
Destinos de implantaçãoDocker e k3s/Kubernetes (GA); Docker Remoto BYOC e Proxmox LXC não privilegiado (experimental)
Perfis de sandboxPadrão; NemoClaw (experimental, não disponível no Proxmox)
Segredos em repousoAES-256-GCM (chaves de provedores, integrações, backups)

API REST pública, CLI e MCP

Chaves de API com escopo de workspace (somente bearer, prefixadas nora_, com hash HMAC em repouso, baseadas em escopo) acionam um subconjunto estável da superfície REST. Emita chaves em /app/workspaces/<id>/api-keys.

export NORA_TOKEN="nora_..."
curl -H "Authorization: Bearer $NORA_TOKEN" https://your-nora.example.com/api/agents

Um pequeno CLI vive em cli/ (@noraai/cli): execute nora login uma vez para salvar seu host e token de API, depois nora workspaces, nora agents e nora monitoring encapsulam a mesma superfície REST. nora doctor executa uma verificação de saúde do plano de controle somente para administradores, e nora mcp inicia o servidor MCP stdio. Consulte a referência da API para os endpoints e escopos suportados.

Opere o Nora a partir do Claude Code, Gemini CLI, Claude Desktop ou Cursor: o pacote mcp-server/ (@noraai/mcp-server) expõe a mesma API como ferramentas do Model Context Protocol — implante agentes, controle seu ciclo de vida e leia métricas da frota, eventos e custo por agente de qualquer cliente MCP. A exclusão destrutiva permanece desabilitada, a menos que seja explicitamente ativada.

claude mcp add nora \
  --env NORA_API_URL=https://your-nora.example.com \
  --env NORA_API_KEY=nora_... \
  -- npx -y @noraai/mcp-server

Usuários do Gemini CLI podem instalar a extensão do repositório diretamente. O instalador solicita a URL da API do Nora e armazena a chave de API do workspace como uma configuração sensível da extensão:

gemini extensions install https://github.com/solomon2773/nora

Consulte o guia MCP para configuração do Gemini CLI, Claude Desktop e Cursor, a lista de ferramentas e notas de segurança.

Padrões e isolamento

  • MCP — incluído. Um servidor MCP do plano de controle (@noraai/mcp-server, publicado no MCP Registry oficial) além do gerenciamento de servidores MCP por agente — opere a frota a partir do Claude Code, Gemini CLI, Claude Desktop ou Cursor, e conecte ferramentas MCP a agentes individuais.
  • OpenTelemetry GenAI — disponível. Exportação OTLP + Prometheus de telemetria de runtime sob as convenções semânticas gen_ai.* — spans de chat por troca, além de métricas de token/custo/recurso, fluem para a stack Grafana / Datadog / Langfuse que você já executa. (Sub-spans por chamada de ferramenta dependem de fluxos de eventos do runtime e permanecem no roadmap.)
  • A2A — no roadmap. Descoberta Agent Cards / Agent-to-Agent para agentes OpenClaw e Hermes gerenciados.
  • Isolamento, por alvo de implantação. Execuções padrão em Docker usam namespaces de contêineres além de limites de CPU e RAM definidos pelo operador; disk_gb é metadados e os operadores devem monitorar o armazenamento do Docker. Kubernetes adiciona limites de recursos de workload e solicitações de armazenamento provisionado. O perfil experimental NemoClaw endurece código não confiável com usuário não-root, todas as capacidades Linux removidas, no-new-privileges, Landlock + seccomp e egress com negação padrão. A colocação experimental em Proxmox usa LXC não privilegiado, que permanece uma fronteira de kernel compartilhada e não é apresentada como isolamento de nível VM. Consulte o modelo de isolamento.

Roadmap

  • Endurecimento do NemoClaw (alta prioridade) — amadurecer o perfil experimental de sandbox seguro de ponta a ponta: habilitação, controles de política, aprovações, telemetria e validação.
  • Qualificação de hardware Proxmox — executar a matriz de ciclo de vida do OpenClaw protegido e do Hermes preparado no nó, armazenamento, bridge, templates e rede exatos antes de considerar qualquer rótulo beta; até lá, o alvo permanece Experimental.
  • Paridade Hermes/OpenClaw — fechar lacunas de runtime em validação, logs, acesso ao terminal, monitoramento e relatórios de falhas.
  • UX do operador no primeiro uso — um caminho mais direto da instalação ao primeiro agente implantado e validado.
  • Monitoramento por escopo de conta — resumos de saúde em nível de conta entre workspaces, agentes, custo e alertas, com drill-downs.
  • Endurecimento de autenticação e sincronização de chaves — rotação de chaves, trilhas de auditoria e recuperação de falhas parciais de sincronização.
  • Ergonomia do Agent Hub — melhor descoberta de templates, fluxos de instalação/configuração e validação pós-instalação.
  • Suporte a A2A — descoberta Agent Cards / agent-to-agent para runtimes gerenciados.

Desenvolvimento

# Docker (recommended)
docker compose up -d
docker compose logs -f backend-api

# Tests
cd backend-api && npx jest --no-watchman
cd e2e && npm test

Comece com CONTRIBUTING.md para orientação a contribuidores. CLAUDE.md documenta a estrutura do repositório, comandos de desenvolvimento e propriedade de subtrees para humanos e agentes de codificação de IA.

Contribuindo

Novo por aqui? Explore boas primeiras issues para pontos de partida pequenos e autocontidos, depois folheie CONTRIBUTING.md.

Áreas fortes de contribuição: trabalho em adaptadores de runtime · UX de operador e administrador · orquestração de provisionamento e ciclo de vida · integrações e canais · endurecimento de testes e CI · ergonomia de implantação self-hosted.

Fluxo típico: fork → branch (feature/...) → commit → pull request.

Comunidade

Se o Nora for útil para você, uma ⭐ no repositório ajuda outros usuários de self-host a encontrá-lo.

Licença

Este projeto é open source sob a Apache License 2.0.