nexo-agent-server
by soyerno
README.md
# Nexo Agent Server
Plano de control MCP durable para conectar redes de agentes orquestadores bajo
un mismo objetivo. Un corte de red no borra trabajo: los mensajes viven en un
ledger, cada nodo conserva un cursor y confirma el procesamiento con ACK.
## Capacidades
- MCP Streamable HTTP para Claude Code, Codex y clientes compatibles.
- Identidad criptográfica individual por orquestador.
- Objetivo central versionado y criterios de aceptación.
- Topología padre/hijo, heartbeat, capacidades, tarea y progreso.
- Mensajes ordenados, reintentos idempotentes y cambio de canal con drenaje.
- Tokens rotables; sólo se persiste su SHA-256.
## Instalación rápida en Windows
Descarga el ZIP de la [última release](https://github.com/soyerno/nexo-agent-server/releases/latest),
extráelo y ejecuta:
```powershell
Set-ExecutionPolicy -Scope Process Bypass
.\scripts\install-windows.ps1 -PublicUrl "https://nexo.tu-red.local"
.\scripts\new-network.ps1 -Project "mi-red" -Coordinator "coordinador" -Objective "Construir el producto acordado sin perder mensajes"
```
Guarda el token del coordinador. Para crear la identidad de la otra PC:
```powershell
.\scripts\new-agent.ps1 -Project "mi-red" -Coordinator "coordinador" -Agent "claude-pc-2" -Parent "coordinador" -Capability code,test
```
Entrega ese token junto con la URL a la PC remota y usa
[Nexo Agent Client](https://github.com/soyerno/nexo-agent-client).
### Prueba inmediata en una LAN aislada
En la PC servidor, reemplaza la IP por la propia:
```powershell
.\scripts\install-windows.ps1 -PublicUrl "http://192.168.1.15:8765" -AllowInsecure
powershell -File "$env:LOCALAPPDATA\NexoAgentServer\start-nexo-server.ps1"
```
Permite el puerto TCP 8765 en Windows Firewall sólo para el perfil privado. En
la PC de Claude usa el cliente con la misma URL terminada en `/mcp` y su token
individual. Este modo envía el bearer sin cifrar; úsalo únicamente para validar
la LAN y luego cambia a HTTPS.
## Servidor seguro
```powershell
nexo-server --db C:\Nexo\nexo.sqlite3 serve --host 127.0.0.1 --port 8765 --public-url https://nexo.tu-red.local --allowed-host nexo.tu-red.local
```
Publica `127.0.0.1:8765` detrás de Caddy/NGINX con TLS. El endpoint MCP es
`/mcp` y el chequeo público es `/healthz`. Para una prueba temporal:
```powershell
nexo-server --db .\nexo.sqlite3 serve --host 0.0.0.0 --port 8765 --public-url http://192.168.1.15:8765 --allowed-host 192.168.1.15:8765 --insecure-http
```
## Flujo de un agente
1. `nexo_report` obtiene el objetivo vigente y renueva presencia.
2. `nexo_read_messages` recupera trabajo desde el cursor.
3. El agente procesa y responde con `nexo_send_message`.
4. Sólo entonces llama `nexo_ack`.
5. Tras una reconexión repite desde el cursor; la idempotencia evita duplicados.
## Estado
Versión inicial `0.1.1`. La API y la base pueden evolucionar antes de `1.0`.
Consulta [SECURITY.md](SECURITY.md) antes de exponer el servicio.
Copyright © 2026 Hernán De Souza. Sin una licencia adicional, se reservan todos
los derechos.
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues