arcane-mcp
v0.7.0
Published
MCP client for licensed Arcane content (thin stdio).
Readme
arcane-mcp
Cliente fino do MCP da Mentoria Arcane. Serve conteúdo ao vivo (catálogo auroq-core) com licença conferida no servidor.
npx [email protected] login
npx -y [email protected]0.7.0 e candidato local ainda nao publicado (o latest no npm segue 0.6.1 ate a promocao). Não use sem versão pinada; quem fixa o pin na pasta do aluno e o auroq-os (campo arcaneMcpPin). Conteúdo novo não é entregue como zip.
Versao do motor (0.7.0)
Toda chamada ao servidor leva tambem a versao do motor (auroq-os) da pasta do aluno, para o servidor avisar quando o sistema esta desatualizado:
- header
x-auroq-os-versione campo de corpoauroq_os_version; - fonte: a linha
version:de<pasta atual>/.auroq-core/core-config.yaml(carimbada peloauroq-osa cada instalacao/manutencao); sem ela, a envAUROQ_OS_VERSIONque oauroq-osgrava no registro do MCP; sem nenhuma, nada e enviado; - so sai valor no formato semver (
^\d+\.\d+\.\d+(-[0-9A-Za-z.-]+)?$) com ate 64 caracteres (o mesmo teto do servidor); leitura em tempo linear, com cache de ate 5 s e sem nunca derrubar a chamada.
O resto nao muda: x-mcp-version e auroq_version continuam sendo a versao do proprio arcane-mcp (o nome auroq_version e historico).
Diagnostico operacional
Cada chamada envia identificadores de requisicao/sessao, versao real do cliente, versao do motor da pasta (quando conhecida), ferramenta, recurso, programa, sistema operacional e Node. O servidor associa a conta validada. Falhas e conclusoes locais ficam numa fila limitada a 200 eventos/7 dias em ~/.arcane/outbox (diretorio 700, arquivos 600 no Unix) e sao reenviadas nas chamadas seguintes. Filas de contas diferentes nao se misturam. O envio e limitado por tempo e nao interrompe o trabalho.
Nao sao enviados termo de busca, conversa, conteudo de resposta, arquivos, senhas, tokens, URLs assinadas ou stack. ARCANE_TELEMETRY=0 desativa a fila/envio local; os registros normais das chamadas recebidas no servidor continuam. Eventos operacionais detalhados no servidor tem retencao de 90 dias.
Falha antes de o processo iniciar, computador permanentemente offline e scripts externos nao instrumentados nao produzem confirmacao central. Preparacao de arquivos registra apenas a preparacao; nao prova o resultado de uma campanha ou outro trabalho do squad.
Observabilidade — registro da fase 0.6.0 (0.6.1 publicada depois)
O bootstrap registra o inicio antes de carregar SDKs. Falhas de importacao e de runtime
usam codigos fixos; stdout continua reservado ao protocolo MCP. verify, login,
doctor, nova inicializacao e chamadas autorizadas tentam enviar lotes de ate 20
por identidade existente, com timeout de 1,5 s por tentativa. Nao existe daemon.
A outbox em ~/.arcane/outbox usa arquivos privados por evento e lock entre processos,
ate 200 eventos por maquina e sete dias (expurgo tambem ao consultar/enviar). Reenvios
mantem event_id; apenas a confirmacao explicita do lote remove os IDs enviados.
A fila antiga telemetry.json migra por snapshot local, mantendo IDs/contas/horarios.
O lock publica dono e diretorio atomicamente; processos mortos e diretorios vazios
sao recuperaveis sem recovery guard. PID vivo ou desconhecido nunca e tomado. Nao remover
locks sem encerrar os processos e verificar a situacao local. Saturacao, falta de
permissao/disco ou processo morto antes da gravacao podem perder observacoes.
Eventos anteriores a qualquer identidade comprovada continuam locais, inclusive
spool de shell/PowerShell. Nunca sao atribuidos ao proximo login. O doctor mostra
metadados locais sanitizados (etapa, resultado, codigo, horario e correlacao), sem
ler arquivos de negocio ou logs pessoais. ARCANE_TELEMETRY=0 desliga captura/envio.
Depois de publicar os candidatos, o suporte pode orientar, dentro do negocio:
npx -y [email protected] doctor
npx -y [email protected] verify
npx -y [email protected] doctor
npx -y [email protected] manutencaoO aviso aparece no doctor do motor e na recusa dos comandos aposentados; README e
changelog documentam o caminho. Versoes antigas nao recebem esse aviso novo sem
executar uma versao nova. Nao ha update remoto forcado nem garantia de adocao.
O transporte exige a rota autenticada com whitelist lifecycle no servidor; ativar
essa compatibilidade antes da distribuicao evita rejeicao do lote. Os instaladores
sincronizados mantem [email protected], atualmente publicado. A promocao npm esta
bloqueada por autenticacao 401 verificada pelo coordenador; 0.6.0/2.5.2 continuam
candidatos nao publicados. O spool nativo local pode ser servido com esse pin antigo;
o transporte/doctor melhorado depende do novo npm e da adocao. Nao exige migration.
O runtime desabilita a telemetria de disco no Windows e em plataformas sem O_NOFOLLOW:
OUTBOX_UNAVAILABLE explicito, sem leitura/importacao/envio da fila. chmod sozinho
nao garante ACL privada no Windows. O instalador PowerShell estabelece/verifica DACL
nativa e mantem o spool local; seu transporte Windows aguarda suporte nativo seguro.
O importer faz claim atomico, tem prazo global de 250 ms e para no primeiro enqueue
recusado. Ambos os instaladores expurgam TTL e slots interrompidos a cada execucao.
Testes desta fase executam processos Node/MCP/HTTP e Bash em Linux com HOME temporario. Permissoes/ACL, PowerShell 5.1 e instalacao real em Windows/macOS exigem validacao nativa. Nao se observa download do script que falhou antes de chegar, maquina que nunca roda nosso codigo, fila que nunca reconecta ou sucesso final do trabalho de um squad.
