SEO faz o site ser encontrado; o próximo passo é ele ser usado por um agente no navegador. O WebMCP propõe que a página ofereça ferramentas com nome, descrição e parâmetros. É um rascunho de comunidade do W3C, sem navegador estável: vale preparar uma página de teste, não reconstruir o site nem prometer ranking.
1O que o WebMCP é e em que estado está (especificação de 16/10/2026)
2Os campos de uma ferramenta: nome, descrição, schema, execute
3Feature detection, cancelamento e caminho manual
4Onde o seu site ganharia uma ferramenta, e onde não
Objetivo: registrar uma ferramenta somente leitura com document.modelContext.registerTool() numa página de teste, como preparação.
01 · Do encontrado ao usado
Clique em cada bloco.
Clique em cada bloco do diagrama para ver o que ele faz.
Primeiro ser encontrado; depois, com calma, ser usado.
02 · Preparar sem exagero
Clique em cada passo.
1. Escolher uma jornada
Comece por algo que só consulta: horário, disponibilidade, preço de tabela, status de pedido público. Nada que compre, envie ou apague.
Se o site não tem jornada útil para um agente, a decisão certa é não ter ferramenta.
2. Descrever bem
Nome em verbo e específico (consultar_horarios). Descrição dizendo o que faz, o que devolve e o limite ("só leitura; não agenda"). Cada parâmetro com tipo e descrição no inputSchema.
3. Detectar e cair para o manual
Registre só se o navegador expõe a API ('modelContext' in document). Se não expõe, a página continua igual para a pessoa, com o caminho manual visível.
Guarde o AbortController: abortar tira a ferramenta.
4. Nome novo, cursos antigos
A especificação mudou: a API agora fica em document.modelContext. Os cursos WebMCP antigos do INEMA e muitos guias usam o nome anterior, no objeto navigator, e uma forma declarativa em formulários que não aparece no texto da especificação de 16/10/2026 (a confirmar no explainer).
Para aprofundar (segurança, schemas, agentes), siga a Formação WebMCP, com esse ajuste de nome em mente.
03 · Uma ferramenta somente leitura, para copiar
Página de teste servida em HTTPS. Troque os horários pelos seus.
horarios.html · página de teste
<section id="horarios">
<h1>Horário de atendimento</h1>
<p>Segunda a sexta, 8h às 18h. Sábado, 8h às 12h. Domingo, fechado.</p>
</section>
<p id="aviso-agente" hidden>Este navegador não oferece ferramentas a agentes. As informações acima valem do mesmo jeito.</p>
<script>
const horarios = { semana: "08:00-18:00", sabado: "08:00-12:00", domingo: "fechado" };
const controle = new AbortController(); // controle.abort() tira a ferramenta
if ("modelContext" in document) {
document.modelContext.registerTool({
name: "consultar_horarios",
title: "Consultar horário de atendimento",
description: "Devolve o horário de atendimento da loja para o dia pedido. Só leitura: não agenda nada.",
inputSchema: {
type: "object",
properties: {
dia: { type: "string", enum: ["semana", "sabado", "domingo"], description: "Dia a consultar" }
},
required: ["dia"]
},
annotations: { readOnlyHint: true },
async execute({ dia }) {
return { dia, horario: horarios[dia] };
}
}, { signal: controle.signal }).catch((erro) => console.warn("WebMCP:", erro));
} else {
document.getElementById("aviso-agente").hidden = false;
}
</script>
Cabeçalho para páginas SEM WebMCP
Permissions-Policy: tools=()
Conferir
grep -c "registerTool(" horarios.html
# 1
# publicada: o agente-ready detecta a ferramenta no código estático
python3 agente-ready.py https://seusite.com/teste/horarios.html --saida saida/teste
Exemplo do repositório
O agente-ready achou no inema.club 1 chamada registerTool() em document.modelContext e a política Permissions-Policy: tools=(self); o bloco WebMCP fechou em 100. Nos sites news e eventos, sem ferramenta, o bloco ficou em 29.
Isso mede preparação. Nenhuma IA promete citar ou ranquear melhor por causa disso.
registerTool(tool, options) rejeita nome repetido, nome ou descrição vazios e schema inválido.
Permissions-Policy: tools=() desliga a API na página e nos frames.
04 · Prática: a página de teste
Não mexa no site principal: use uma página de teste.
E1 · Ferramenta somente leitura
40 min
Adapte o modelo para uma consulta real do seu negócio, publique numa página de teste em HTTPS e abra no navegador comum.
Pronto quando: a página abre sem erro no console, mostra o aviso do caminho manual quando o navegador não oferece a API, e o grep por registerTool( devolve 1.
E2 · Onde sim, onde não
20 min
Liste 3 jornadas do seu site e decida para cada uma: ferramenta somente leitura, ação com confirmação humana ou nenhuma ferramenta. Escreva o motivo.
Pronto quando: um texto curto com 3 jornadas, a decisão e o motivo de cada uma, e quais páginas recebem Permissions-Policy: tools=().
05 · Teste o que aprendeu
A explicação aparece depois da sua resposta.
Pergunta 1 de 4
Pela especificação de 16/10/2026, onde fica a API do WebMCP?competência
Correto
document.modelContext, só em HTTPS. Os cursos antigos usam o nome anterior, no objeto navigator.
Não é essa
document.modelContext, só em HTTPS. Os cursos antigos usam o nome anterior, no objeto navigator.Rever: Do encontrado ao usado
Pergunta 2 de 4
Como tirar do ar uma ferramenta registrada?
Correto
A especificação não tem função separada de remoção: quem tira é o signal.