OpenScout

Servidor MCP stdio local para descubrir agentes de codificación, solicitar trabajo, intercambiar mensajes y rastrear traspasos a través de un broker Scout; requiere Bun 1.3+ y clientes locales de confianza.

Documentación

Scout — your personal agent cloud

Tu nube de agentes personal.
Un plano de control local y red de malla para agentes de codificación en las máquinas que posees.

npm version Apache 2.0 license OpenScout


Scout es el CLI, broker, runtime, protocolo y superficie de control web detrás de la malla de agentes OpenScout. Proporciona a Codex, Claude Code, Cursor, Pi y futuros harnesses un modelo de coordinación explícito en lugar de un montón de relays improvisados. También implementa un servidor Model Context Protocol (MCP) que expone herramientas locales de coordinación de agentes a clientes MCP a través de stdio. Consulta Configuración de MCP.

Plano de control local + red de malla = tu nube de agentes personal. El control permanece contigo mientras Scout hace que las sesiones sean accesibles y útiles en tus propias máquinas.

Postura actual: Scout es para pilotos locales de desarrollo de alta confianza. No es aún un plano de control multiusuario endurecido o listo para cumplimiento normativo.

Comienza en macOS con chip Apple en 60 segundos

Scout usa Bun 1.3 o superior como runtime.

bun add -g @openscout/scout

scout setup
scout doctor
scout who

En Linux, Scout usa el mismo paquete pero ejecuta su broker como un proceso en primer plano bajo tu gestor de procesos. Sigue la guía de inicio rápido para ese ciclo de vida.

Luego dirige trabajo real desde cualquier proyecto:

scout ask --project . --harness codex \
  "Review this repository and return the three highest-leverage improvements."

Scout resuelve o inicia la sesión local correcta, registra la solicitud con el broker y devuelve identificadores duraderos para seguimiento.

Servidor MCP

OpenScout incluye un servidor MCP implementado con el TypeScript oficial @modelcontextprotocol/sdk, usando McpServer y StdioServerTransport. El comando scout mcp lo inicia a través de stdin/stdout. Los clientes MCP llaman a herramientas que se conectan al broker local de Scout; el protocolo interno de Scout describe registros del broker y es separado de la interfaz MCP expuesta a los clientes.

Instalar y conectar

Requiere Bun 1.3 o superior en macOS o Linux. Inicializa el broker local antes de usar herramientas de coordinación:

bun add -g @openscout/scout
scout setup
scout doctor

Añade esta entrada a la configuración stdio basada en comandos de un cliente MCP:

{
  "mcpServers": {
    "openscout": {
      "command": "bunx",
      "args": ["@openscout/scout", "mcp"]
    }
  }
}

El cliente debe poder encontrar bunx en su PATH. El cliente lanza el servidor y se comunica a través de stdio; este comando no inicia un endpoint HTTP público de MCP. Solo conecta clientes de confianza: las herramientas de coordinación pueden lanzar agentes de codificación locales, enviar mensajes y actualizar trabajo propiedad del broker.

Herramientas MCP

Herramientas representativas expuestas por el servidor:

HerramientasPropósito
whoamiIdentifica el actor actual del broker y el contexto del proyecto.
agents_search, agents_resolveDescubre y resuelve objetivos de agentes de codificación.
askSolicita trabajo, investigación, revisión o una respuesta de un agente.
messages_send, messages_inbox, messages_replyEnvía actualizaciones, lee mensajes y responde en contexto.
invocations_get, invocations_waitObserva un vuelo existente y su resultado.
work_updateReporta progreso o cambia el estado del trabajo existente.

Usa MCP tools/list para inspeccionar los nombres de herramientas actuales y los esquemas de entrada. ask crea trabajo propio; messages_send es para actualizaciones que no necesitan respuesta. El broker sigue siendo el escritor canónico de registros de coordinación.

Implementación y verificación

El modelo pequeño

Quieres decir…Usa…Lo que Scout registra
"Aviso."scout send --to <target>Un mensaje duradero
"Haz esto y vuelve a mí."scout ask --to <target>Una invocación, vuelo y ruta de respuesta
"Empieza de nuevo en este proyecto."scout ask --project . --harness <harness>Una sesión enrutada por capacidades
"Continúa esa ejecución exacta."scout ask --to session:<id>Una continuación en una sesión concreta
"Coordina al grupo."scout send --channel <name>Un mensaje de canal explícito

Un objetivo es un DM. La coordinación de grupo usa un canal con nombre. La transmisión es opt-in. El enrutamiento vive en metadatos estructurados—no en @mentions accidental dentro del cuerpo del mensaje.

Un broker, muchas superficies

                                                    ╔══════════════════════╗
                     ╔══════════════════════╗       ║ ◆ Local broker       ║
                     ║ ◆ Scout surfaces     ║       ║ canonical writer     ║
┌────────────────┐   ║ CLI + local web      ║   ┌──▶║ route + run          ║
│ ◆ Operator     │ ┌▶║ one control plane    ║───┘   ║                      ║
│ or agent       │─┘ ║                      ║       ╚══════════════════════╝
└────────────────┘   ╚══════════════════════╝                   │
                                                                │
                                                                │
                                              ┌─────────────────┴─────────┐
                                              │                           │
                                              ▼                           │
                                  ╔═══════════════════════╗               ▼
                                  ║ ◆ Harnesses + mesh    ║      ┌────────────────┐
                                  ║ Codex · Claude · ACP  ║      │ ◆ Records      │
                                  ║ reachable peers       ║      │ durable        │
                                  ║                       ║      │                │
                                  ╚═══════════════════════╝      └────────────────┘

El broker es el escritor canónico de registros de coordinación propiedad de Scout. Las transcripciones de harness siguen siendo material fuente observado; Scout no las importa en masa como historial de conversación de primera parte. "Malla" significa accesibilidad y coordinación—no consenso global ni entrega exactamente una vez.

Lo que se incluye aquí

SuperficieRutaRol
Paquete CLIpackages/cliComando scout y distribución empaquetada
Broker/runtimepackages/runtimeenrutamiento, malla, emparejamiento, conocimiento, trabajo duradero
Protocolo compartidopackages/protocoltipos de cable, identidades, catálogo de runtime
Sesiones de harnesspackages/agent-sessionsdescriptores de sesión observados y ciclo de vida
Plano de control webpackages/webUI de operador local base, primitivas web reutilizables, shell de aplicación y servidor local
Herramientas de trazapackages/session-tracemodelo de traza portátil y visor React
Servicios nativoscratesscoutd, servicio de repositorio, núcleo de voz portátil

Núcleo público, producto privado

Este es el destino de las primitivas públicas sólidas de Scout y un plano de control web base completo. Una instalación pública debería soportar el flujo de trabajo local ordinario—configuración y salud, agentes y sesiones, conversaciones y solicitudes, trabajo y actividad, runtimes, proyectos, malla y configuración—sin marcadores de posición solo privados.

La división de producto es una migración activa, no una afirmación de que los repositorios y el pipeline de lanzamiento ya se hayan migrado. El objetivo es unidireccional: el producto privado OpenScout consume paquetes públicos lanzados exactos y añade aplicaciones nativas, servicios alojados, operaciones avanzadas y UI específica del producto a través de composición web de tiempo de compilación confiable. No debe llevar código público copiado ni un packages/web reflejado, y Scout público nunca debe depender de código privado.

Consulta el límite de fuente pública para el estado actual de migración, propiedad objetivo e invariantes de lanzamiento.

Trabaja en Scout

git clone https://github.com/oscout/scout.git
cd scout
bun install

bun run --cwd packages/cli build
./packages/cli/bin/scout --version

Ejecuta bun run sync-exec:fence antes de enviar cambios que añadan o modifiquen ejecución de shell. Usa las comprobaciones específicas del paquete para el área que cambiaste; la suite completa está disponible a través de bun run check y bun run test:unit.

Profundiza

Licencia

Apache-2.0. Consulta LICENSE.