OpenScout

Servidor MCP stdio local para descobrir agentes de codificação, solicitar trabalho, trocar mensagens e rastrear transferências por meio de um broker Scout; requer Bun 1.3+ e clientes locais confiáveis.

Documentação

Scout — your personal agent cloud

Sua nuvem pessoal de agentes.
Um plano de controle local e rede mesh para agentes de codificação nas máquinas que você possui.

npm version Apache 2.0 license OpenScout


Scout é o CLI, broker, runtime, protocolo e superfície de controle web por trás da malha de agentes OpenScout. Ele dá ao Codex, Claude Code, Cursor, Pi e futuros harnesses um modelo de coordenação explícito em vez de uma pilha de relays pontuais. Ele também implementa um servidor Model Context Protocol (MCP) que expõe ferramentas locais de coordenação de agentes a clientes MCP via stdio. Veja configuração do MCP.

Plano de controle local + rede mesh = sua nuvem pessoal de agentes. O controle permanece com você enquanto o Scout torna as sessões alcançáveis e úteis nas suas próprias máquinas.

Postura atual: Scout é para pilotos locais de desenvolvimento de alta confiança. Ele não é ainda um plano de controle multi-tenant endurecido ou pronto para conformidade.

Comece no macOS com chip Apple em 60 segundos

O Scout usa Bun 1.3 ou mais recente como runtime.

bun add -g @openscout/scout

scout setup
scout doctor
scout who

No Linux, o Scout usa o mesmo pacote, mas executa seu broker como um processo em primeiro plano sob seu gerenciador de processos. Siga o quickstart para esse ciclo de vida.

Depois, direcione trabalho real de qualquer projeto:

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

O Scout resolve ou inicia a sessão local correta, registra a solicitação com o broker e retorna handles duráveis para acompanhamento.

Servidor MCP

O OpenScout inclui um servidor MCP implementado com o TypeScript oficial @modelcontextprotocol/sdk, usando McpServer e StdioServerTransport. O comando scout mcp o inicia via stdin/stdout. Clientes MCP chamam ferramentas que se conectam ao broker local do Scout; o protocolo interno do Scout descreve registros do broker e é separado da interface MCP exposta aos clientes.

Instalar e conectar

Requer Bun 1.3 ou mais recente no macOS ou Linux. Inicialize o broker local antes de usar ferramentas de coordenação:

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

Adicione esta entrada à configuração stdio baseada em comando de um cliente MCP:

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

O cliente deve conseguir encontrar bunx no seu PATH. O cliente inicia o servidor e se comunica via stdio; este comando não inicia um endpoint HTTP público do MCP. Conecte apenas clientes confiáveis: ferramentas de coordenação podem iniciar agentes de codificação locais, enviar mensagens e atualizar trabalho de propriedade do broker.

Ferramentas MCP

Ferramentas representativas expostas pelo servidor:

FerramentasPropósito
whoamiIdentifica o ator atual do broker e o contexto do projeto.
agents_search, agents_resolveDescobre e resolve alvos de agentes de codificação.
askSolicita trabalho, investigação, revisão ou uma resposta de um agente.
messages_send, messages_inbox, messages_replyEnvia atualizações, lê mensagens e responde no contexto.
invocations_get, invocations_waitObserva um voo existente e seu resultado.
work_updateRelata progresso ou altera o estado de trabalho existente.

Use MCP tools/list para inspecionar os nomes atuais das ferramentas e esquemas de entrada. ask cria trabalho de propriedade; messages_send é para atualizações que não precisam de resposta. O broker permanece como o escritor canônico dos registros de coordenação.

Implementação e verificação

O modelo pequeno

Você quer dizer…Use…O que o Scout registra
“Só avisando.”scout send --to <target>Uma mensagem durável
“Faça isso e me responda.”scout ask --to <target>Uma invocação, voo e caminho de resposta
“Comece do zero neste projeto.”scout ask --project . --harness <harness>Uma sessão roteada por capacidade
“Continue exatamente essa execução.”scout ask --to session:<id>Uma continuação em uma sessão concreta
“Coordene o grupo.”scout send --channel <name>Uma mensagem explícita de canal

Um alvo é um DM. Coordenação de grupo usa um canal nomeado. Broadcast é opt-in. O roteamento vive em metadados estruturados—não em @mentions acidentais dentro do corpo da mensagem.

Um broker, muitas superfícies

                                                    ╔══════════════════════╗
                     ╔══════════════════════╗       ║ ◆ 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        │
                                  ║                       ║      │                │
                                  ╚═══════════════════════╝      └────────────────┘

O broker é o escritor canônico para registros de coordenação de propriedade do Scout. Transcrições de harness permanecem como material-fonte observado; o Scout não as importa em massa como histórico de conversa de primeira parte. “Mesh” significa alcançabilidade e coordenação—não consenso global ou entrega exatamente uma vez.

O que é entregue aqui

SuperfícieCaminhoPapel
Pacote CLIpackages/clicomando scout e distribuição empacotada
Broker/runtimepackages/runtimeroteamento, mesh, pareamento, conhecimento, trabalho durável
Protocolo compartilhadopackages/protocoltipos de fio, identidades, catálogo de runtime
Sessões de harnesspackages/agent-sessionsdescritores de sessão observados e ciclo de vida
Plano de controle webpackages/webUI de operador local de linha de base, primitivos web reutilizáveis, shell de aplicativo e servidor local
Ferramentas de rastreamentopackages/session-tracemodelo de rastreamento portátil e visualizador React
Serviços nativoscratesscoutd, serviço de repositório, núcleo de voz portátil

Núcleo público, produto privado

Este é o destino para os primitivos públicos fortes do Scout e um plano de controle web de linha de base completo. Uma instalação pública deve suportar o fluxo de trabalho local comum—configuração e saúde, agentes e sessões, conversas e solicitações, trabalho e atividade, runtimes, projetos, mesh e configurações—sem placeholders exclusivos do privado.

A divisão de produto é uma migração ativa, não uma afirmação de que os repositórios e o pipeline de release já foram cortados. O alvo é unidirecional: o produto privado do OpenScout consome pacotes públicos exatos lançados e adiciona aplicativos nativos, serviços hospedados, operações avançadas e UI específica do produto por meio de composição web confiável em tempo de build. Ele não deve carregar código público copiado ou um packages/web espelhado, e o Scout público nunca deve depender de código privado.

Veja a fronteira de código-fonte público para o status atual da migração, propriedade alvo e invariantes de release.

Trabalhe no Scout

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

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

Execute bun run sync-exec:fence antes de enviar alterações que adicionem ou modifiquem execução de shell. Use as verificações específicas do pacote para a área que você alterou; a suíte completa está disponível via bun run check e bun run test:unit.

Aprofunde-se

Licença

Apache-2.0. Veja LICENSE.