# Catálogo MCP: descoberta, revisão e atualização

Confira as ferramentas autorizadas no servidor e se o adaptador realmente as entregou ao modelo, sem executar ações na máquina.

Página canônica: https://ram-aws-qa.carneiro.ai/docs/catalog

## Leia o catálogo da credencial atual

Conecte um produto explícito: https://ram-aws-qa.carneiro.ai/microvm/mcp, /vm/mcp, /android/mcp ou /agent/mcp. Faça a descoberta MCP compatível com seu cliente, consulte todas as páginas de tools/list e então chame ram_status. São leituras; não crie um computador, inicie uma sessão ou adquira controle para atualizar ferramentas.

ram_status.catalog descreve somente o catálogo registrado para a conta e credencial autenticadas naquela requisição. format é ram-tool-catalog-v1; revision é SHA-256; tool_count e tool_names permitem comparar conjuntos. observed_at é a hora da leitura, não uma garantia de saúde, capacidade ou permissão para executar qualquer ferramenta. Não deduza ferramentas dinâmicas pela quantidade de slots fixos.

- O hash cobre nome, título opcional, descrição opcional, inputSchema e annotations opcionais. Objetos são ordenados por chave e ferramentas por nome; a ordem de arrays é preservada. O hash usa JSON compacto de {format,tools} normalizado. Saída, ícones e envelopes de protocolo estão fora da revisão v1.
- computer_policy_revision identifica a classificação de operações do computador. Não é o digest de autorização de uma ação.
- dynamic_operations lista apenas as operações dinâmicas efetivamente registradas. Quando habilitadas, são microvm_list, microvm_get, microvm_create, microvm_delete e microvm_operation_status. Sua presença não prova disponibilidade de vagas.

## Diferencie servidor, adaptador e modelo

Compare três evidências separadas: tools/list remoto completo; catálogo expandido ou em cache pelo adaptador do harness; ferramentas efetivamente enviadas na chamada ao modelo. A resposta do modelo dizendo quais ferramentas conhece não substitui instrumentação dessa chamada.

Se o servidor anuncia 25 e o adaptador mantém 20, o conjunto do adaptador está divergente. Se o adaptador já tem 25 e a chamada ao modelo recebeu 20, a divergência está na expansão ou seleção posterior. Sem o registro do adaptador ou do modelo, informe não instrumentado: isso não prova causa exclusiva no cliente nem falha do servidor. Comparar somente nomes não comprova igualdade de schemas.

## Atualize sem repetir trabalho

O RAM reconstrói o servidor MCP por requisição autenticada e anuncia tools.listChanged=false. Não há promessa de uma notificação persistente de mudança de catálogo. Consulte novamente tools/list quando a configuração mudar; percorra nextCursor até sua ausência, recusando cursores repetidos.

Reconecte o transporte do harness, descarte o cache de descoberta e refaça tools/list completo. Reconstrua a expansão de ferramentas do adaptador a partir dessa lista e capture novamente a lista enviada ao modelo. Compare as revisões e conjuntos antes e depois. Essa atualização é local ao catálogo; não reenvie create/start/acquire, tarefas ou ações de resultado desconhecido.

A comparação usa a mesma credencial e produto. Catálogos podem mudar entre duas leituras por revogação ou mudança de configuração; uma divergência entre ram_status e tools/list pede nova leitura, sem inferir uma autoridade estável. Não copie tokens, cookies ou capacidades de visualização para um relatório.

## Protocolos suportados pelo diagnóstico

No protocolo 2025-11-25, use initialize com protocolVersion, capabilities e clientInfo e depois tools/list. No protocolo 2026-07-28, use server/discover e o envelope _meta por requisição com io.modelcontextprotocol/protocolVersion e io.modelcontextprotocol/clientCapabilities; clientInfo usa io.modelcontextprotocol/clientInfo.

No transporte HTTP moderno, envie MCP-Protocol-Version e Mcp-Method coerentes com o corpo. tools/call exige também Mcp-Name igual a params.name. Um cliente compatível gera esses metadados; não force downgrade nem reutilize um handshake antigo como substituto do envelope moderno. Leitura de ferramentas pode usar paginação em ambos os protocolos.

## Perguntas frequentes

### Reconectar corrige necessariamente meu harness?

Reconectar permite renovar a descoberta no servidor. O adaptador ainda precisa reconstruir suas ferramentas e enviá-las ao modelo. Sem essas duas evidências, a causa permanece não comprovada.

### O diagnóstico executa alguma tarefa ou inicia uma MicroVM?

Não. A rotina usa descoberta MCP, tools/list e ram_status. A ferramenta presente no catálogo continua exigindo sua autorização normal quando for executada.

## Guias relacionados

- [Catálogo MCP: descoberta, revisão e atualização](https://ram-aws-qa.carneiro.ai/docs/catalog.md)
- [RAM Android: um dispositivo para seu agente](https://ram-aws-qa.carneiro.ai/docs/android.md)
- [Documentação do RAM](https://ram-aws-qa.carneiro.ai/docs.md)
- [Conectar um harness por MCP](https://ram-aws-qa.carneiro.ai/docs/mcp.md)
- [Usar a API HTTP](https://ram-aws-qa.carneiro.ai/docs/http.md)
- [Integrar com JavaScript](https://ram-aws-qa.carneiro.ai/docs/sdk.md)
- [Quando a tarefa precisa de você](https://ram-aws-qa.carneiro.ai/docs/interventions.md)
- [Streaming nativo e tela web limpa](https://ram-aws-qa.carneiro.ai/docs/streaming.md)
- [Permissões, intervenção e resultados incertos](https://ram-aws-qa.carneiro.ai/docs/safety.md)
