Voltar aos materiais
TUTORIALWEBMCPCLOUDFLAREWEB-AGENTICA

WebMCP: como preparar seu site para agentes de IA com exemplos práticos

Entenda o que é WebMCP, como ferramentas funcionam dentro do navegador e como aplicar schemas, segurança e confirmação em exemplos reais de SaaS e e-commerce.

Por Mauro Mequelussi

18_MIN
WebMCP: como preparar seu site para agentes de IA com exemplos práticos
Em resumo

Entenda o que é WebMCP, como ferramentas funcionam dentro do navegador e como aplicar schemas, segurança e confirmação em exemplos reais de SaaS e e-commerce.

Hoje, quando um agente de IA precisa usar um site, ele costuma enxergar a interface quase como uma pessoa: interpreta textos, procura botões, preenche campos e tenta entender se a ação deu certo. Isso funciona, mas é frágil. Uma mudança de layout, um modal inesperado ou um botão com nome ambíguo pode quebrar toda a tarefa.

O WebMCP propõe outra forma de interação. Em vez de obrigar o agente a adivinhar o que cada elemento faz, o próprio site declara ferramentas estruturadas, como buscar_produtos, filtrar_imoveis, abrir_chamado ou adicionar_ao_carrinho.

Essas ferramentas rodam dentro da página, compartilham o estado atual da interface e podem reutilizar a autenticação e a lógica que o produto já possui. O usuário continua vendo o site e acompanhando o que acontece.

Essa diferença parece pequena, mas pode mudar a forma como produtos digitais são construídos para uma web em que pessoas e agentes trabalham juntos.

Neste guia, você vai entender o conceito, o funcionamento, as duas formas de implementação, os limites de segurança e os cenários em que o WebMCP realmente faz sentido.

O que é WebMCP?

WebMCP é uma proposta de padrão para permitir que aplicações web exponham funcionalidades como ferramentas compreensíveis por agentes de IA.

Uma ferramenta WebMCP tem, no mínimo:

  • um nome que identifica a ação;
  • uma descrição que explica quando ela deve ser usada;
  • um schema que define os dados de entrada;
  • uma função ou formulário responsável por executar a ação.

O agente não precisa deduzir que um ícone de lupa inicia uma busca ou que três campos fazem parte do mesmo endereço. Ele descobre uma ferramenta com uma assinatura explícita, por exemplo:

buscar_produtos({ termo, preco_maximo, entrega_ate })

O resultado continua acontecendo no contexto do site. A busca pode atualizar a lista de produtos, abrir uma etapa da interface ou chamar a API que o frontend já usa.

WebMCP não transforma o site em um chatbot e não substitui sua interface. Ele adiciona uma camada de ações estruturadas para que um agente consiga colaborar com a pessoa dentro daquela experiência.

O problema que o WebMCP tenta resolver

Um site tradicional foi projetado para olhos, mouse e toque. O significado de uma ação está espalhado entre texto, posição, ícones, estado visual e código JavaScript.

Para usar essa interface, um agente costuma seguir um fluxo parecido com este:

  1. captura a tela ou lê o DOM;
  2. interpreta os elementos disponíveis;
  3. escolhe onde clicar;
  4. espera a página reagir;
  5. interpreta o novo estado;
  6. repete até concluir a tarefa.

Cada passo abre espaço para erro. Imagine um agente tentando emitir uma segunda via de boleto em um portal. Ele pode clicar em “Financeiro”, depois em “Faturas”, escolher o contrato errado e só então perceber que o botão correto estava em outro menu.

Com WebMCP, a página pode expor algo como:

consultar_faturas_em_aberto({ contrato_id })

O schema restringe o formato da entrada, a descrição esclarece a finalidade e a execução usa o estado real da aplicação. O agente deixa de operar somente por tentativa visual e passa a utilizar uma capacidade declarada pelo produto.

Isso não elimina a automação visual. Se uma tarefa não estiver disponível como ferramenta, o agente ainda pode recorrer à navegação convencional. A ideia é oferecer um caminho mais confiável para as ações importantes.

Como o WebMCP funciona por dentro

O funcionamento pode ser entendido em seis etapas.

1. A pessoa abre a aplicação

O navegador carrega o site normalmente. A interface continua sendo a experiência principal, com seus componentes, rotas, autenticação e chamadas de API.

2. A página registra ferramentas

O JavaScript da aplicação usa document.modelContext.registerTool() ou um formulário HTML recebe atributos WebMCP. Cada ferramenta informa seu nome, sua descrição e os parâmetros aceitos.

3. O agente descobre o que está disponível

Um agente integrado ao navegador consulta as ferramentas registradas para aquele contexto. Ele não recebe apenas uma lista de botões. Recebe ações com significado e schemas estruturados.

4. O modelo escolhe a ferramenta

Com base no pedido do usuário, o agente compara a intenção com as descrições disponíveis. Se a pessoa disser “mostre apartamentos em Curitiba com aluguel de até R$ 3 mil”, a ferramenta filtrar_imoveis pode ser escolhida com argumentos válidos.

5. A ferramenta executa na página

A execução acontece no contexto do documento. Ela pode atualizar um componente, reutilizar uma store, navegar para outra rota ou chamar uma API do próprio produto.

6. A página devolve um resultado estruturado

O retorno informa ao agente o que aconteceu. Em ações sensíveis, a interface pode parar antes da confirmação final para que a pessoa revise dados, preço ou consequências.

O ponto central é o contexto compartilhado. Página, usuário e agente trabalham sobre o mesmo estado, em vez de manter duas experiências desconectadas.

WebMCP e MCP tradicional não são a mesma coisa

Os nomes são parecidos porque ambos organizam capacidades como ferramentas para modelos de IA. A arquitetura, porém, é diferente.

AspectoWebMCPMCP tradicional
Onde a ferramenta viveNa página e no contexto do navegadorEm um servidor ou processo MCP
Estado principalInterface, rota, formulário e sessão atualRecursos e serviços expostos pelo servidor
Precisa do site abertoSim, o contexto de navegação faz parte do fluxoNem sempre
Relação com a interfaceAtualiza e reutiliza a experiência visualPode operar sem passar pela interface
Melhor usoColaboração entre pessoa, página e agenteIntegrações de backend e automações externas

Pense em um sistema de gestão financeira brasileiro.

Um servidor MCP pode permitir que um agente consulte lançamentos diretamente pela API, mesmo sem abrir o painel. Uma ferramenta WebMCP pode preencher os filtros do relatório que já está na tela, exibir os resultados e preparar uma conciliação para revisão do usuário.

Os dois modelos podem trabalhar juntos. WebMCP não foi desenhado para substituir MCP, APIs ou integrações de backend. Ele cobre o espaço em que a interface, o estado do navegador e a supervisão humana são parte relevante da tarefa.

[ CONTEÚDO_INTEGRAL_DISPONÍVEL ]

Continuar lendo

CLIQUE PARA DESBLOQUEAR A LEITURA

Construindo aplicações robustas com arquitetura de alto nível e infraestrutura otimizada na edge do Cloudflare Workers com SurrealDB.

Segurança de dados e conformidade com privacidade desde o primeiro dia de código com tratamento de estados e sessões resilientes.

Métricas de performance para monitorar a experiência do usuário e otimizar custos operacionais em produção com dashboards estruturados.

Continuação liberada

As duas formas de implementar WebMCP

A proposta trabalha com duas APIs: imperativa e declarativa.

API imperativa: ferramentas com JavaScript

A API imperativa é adequada para ações que dependem de estado, componentes, regras ou chamadas assíncronas.

Este exemplo representa a busca de produtos em um e-commerce brasileiro:

const controller = new AbortController()

await document.modelContext.registerTool({
  name: 'buscar_produtos',
  description: 'Busca produtos disponíveis e atualiza a vitrine atual. Use quando a pessoa quiser encontrar itens por nome, categoria ou faixa de preço.',
  inputSchema: {
    type: 'object',
    properties: {
      termo: {
        type: 'string',
        description: 'Produto ou categoria procurada.',
      },
      preco_maximo: {
        type: 'number',
        minimum: 0,
        description: 'Valor máximo em reais.',
      },
      entrega_ate: {
        type: 'string',
        format: 'date',
        description: 'Data limite de entrega no formato AAAA-MM-DD.',
      },
    },
    required: ['termo'],
    additionalProperties: false,
  },
  annotations: {
    readOnlyHint: true,
  },
  async execute({ termo, preco_maximo, entrega_ate }) {
    const produtos = await catalogo.buscar({
      termo,
      precoMaximo: preco_maximo,
      entregaAte: entrega_ate,
    })

    vitrine.exibir(produtos)

    return {
      total: produtos.length,
      produtos: produtos.slice(0, 10).map(produto => ({
        id: produto.id,
        nome: produto.nome,
        preco: produto.preco,
        prazo: produto.prazo,
      })),
    }
  },
}, { signal: controller.signal })

// Ao sair da rota ou desmontar o componente:
controller.abort()

Há decisões importantes nesse exemplo:

  • o nome descreve uma ação específica;
  • a descrição explica o que acontece e quando usar;
  • o schema limita formato, faixa e campos extras;
  • a função reaproveita a mesma regra usada pela vitrine;
  • o retorno é pequeno e estruturado;
  • o AbortController remove a ferramenta quando ela deixa de fazer sentido.

Em uma SPA feita com Vue, Nuxt ou React, registrar uma ferramenta e nunca removê-la pode deixar ações antigas disponíveis depois de uma mudança de rota. O ciclo de vida da ferramenta deve acompanhar o ciclo de vida da tela.

Também vale observar o namespace. Exemplos antigos podem usar navigator.modelContext, mas a documentação atual orienta document.modelContext. Como a proposta ainda está evoluindo, confirme a versão antes de colocar um experimento em produção.

API declarativa: formulários que viram ferramentas

Quando a ação já é um formulário HTML, a opção declarativa pode exigir menos código. A página adiciona atributos que descrevem o formulário e seus campos.

<form
  toolname="abrir_chamado"
  tooldescription="Prepara uma solicitação de suporte para a conta autenticada."
  action="/suporte/chamados"
>
  <label for="assunto">Assunto</label>
  <input
    id="assunto"
    name="assunto"
    required
    toolparamdescription="Resumo objetivo do problema."
  >

  <label for="categoria">Categoria</label>
  <select
    id="categoria"
    name="categoria"
    required
    toolparamdescription="Área responsável pelo atendimento."
  >
    <option value="financeiro">Financeiro</option>
    <option value="acesso">Acesso à conta</option>
    <option value="produto">Uso do produto</option>
  </select>

  <label for="detalhes">Detalhes</label>
  <textarea id="detalhes" name="detalhes" required></textarea>

  <button type="submit">Revisar e enviar</button>
</form>

Quando o agente invoca essa ferramenta, o navegador pode focar o formulário e preencher os campos. Sem toolautosubmit, a pessoa ainda precisa clicar para enviar. Isso é uma boa escolha para chamados, inscrições e operações em que vale revisar o conteúdo.

Com toolautosubmit, o envio pode acontecer automaticamente. Essa opção deve ser reservada a ações de baixo risco, como aplicar um filtro ou executar uma busca. Comprar, cancelar, excluir ou contratar são verbos que pedem uma etapa humana explícita.

Um cenário completo: atendimento de um SaaS brasileiro

Considere um sistema usado por pequenas empresas para emitir cobranças e acompanhar pagamentos.

Um cliente abre o painel e pede ao agente do navegador:

“Veja por que a cobrança da Loja Centro ainda aparece como pendente e, se for necessário, prepare um chamado para o financeiro.”

A aplicação poderia registrar ferramentas em etapas:

  1. buscar_cliente_por_nome, disponível na lista de clientes;
  2. consultar_cobrancas, registrada depois que um cliente é selecionado;
  3. executar_diagnostico_de_cobranca, disponível na tela da cobrança;
  4. preparar_chamado_financeiro, liberada quando o diagnóstico não resolve o caso.

O agente navega por capacidades que aparecem conforme o estado da interface. Ele não recebe todos os recursos do sistema de uma vez.

Esse desenho reduz ambiguidade e exposição. A ferramenta de diagnóstico usa o cliente selecionado e a sessão autenticada. Ela não deveria aceitar um empresa_id arbitrário enviado pelo modelo, porque isso abriria espaço para consultar dados de outra conta.

Na etapa final, o chamado pode ser preparado, mas a pessoa revisa o resumo e confirma o envio. O ganho não vem de esconder o produto. Vem de encurtar um fluxo complexo sem retirar controle do usuário.

Benefícios que podem justificar a implementação

Menos dependência de cliques simulados

Uma ferramenta com schema é mais previsível do que uma sequência baseada em coordenadas, textos e aparência. Mudanças visuais deixam de quebrar ações que usam a lógica do produto.

Reutilização do estado e da autenticação

O WebMCP opera na página atual. Isso permite aproveitar usuário autenticado, item selecionado, filtros, permissões e stores já carregadas, sem criar uma segunda experiência do zero.

Usuário continua dentro do produto

A interface permanece visível. A empresa preserva contexto, marca, mensagens de orientação e pontos de confirmação. Isso é diferente de uma integração de backend que executa tudo longe do site.

Menos etapas e menos interpretação

Uma ação estruturada pode substituir vários ciclos de captura, clique e verificação. A economia exata depende do fluxo, mas a arquitetura reduz passos ambíguos.

Adoção progressiva

É possível começar com uma ou duas tarefas de alto valor. Navegadores sem suporte continuam usando o site normal. O WebMCP atua como melhoria progressiva, não como requisito para acessar o produto.

Uma nova camada de experiência do produto

Ferramentas bem desenhadas podem se tornar parte da proposta do software: “nosso agente ajuda a conciliar”, “o navegador prepara a reserva” ou “o suporte diagnostica a conta com você”. A decisão deixa de ser apenas técnica e passa a envolver produto, operação e confiança.

Onde o WebMCP ainda falha ou não faz sentido

WebMCP está em fase experimental. A proposta, a implementação dos navegadores e até nomes da API podem mudar.

Ele também não resolve todos os problemas:

  • o agente precisa visitar uma página para descobrir suas ferramentas;
  • clientes e navegadores ainda precisam implementar o padrão;
  • interfaces complexas podem exigir refatoração do estado;
  • uma ferramenta mal descrita continua produzindo escolhas ruins;
  • o schema valida formato, mas não substitui autorização;
  • ações totalmente autônomas e sem interface continuam sendo território de APIs e MCP de backend;
  • adicionar WebMCP não garante tráfego orgânico, citação por modelos ou aumento de conversão.

Para um site institucional simples, com páginas somente de leitura, dados estruturados, boa acessibilidade e conteúdo rastreável talvez sejam prioridades maiores. WebMCP começa a fazer mais sentido quando existe uma tarefa interativa relevante.

Boas práticas para ferramentas úteis e seguras

Comece pela tarefa, não pela quantidade

Liste os fluxos em que o usuário mais erra, demora ou abandona. Escolha uma ação de leitura e uma ação de preparação. Evite registrar dezenas de ferramentas apenas porque é possível.

Quanto mais ferramentas parecidas o agente recebe, mais difícil fica escolher a correta. buscar_pedido, consultar_pedido e ver_pedido provavelmente deveriam ser uma única capacidade.

Use nomes que revelem a consequência

Existe uma diferença importante entre preparar_cancelamento e cancelar_assinatura. O primeiro abre ou preenche uma etapa. O segundo indica que a consequência acontece imediatamente.

A descrição deve explicar o que a ferramenta faz, em qual estado pode ser usada e qual resultado devolve. Instruções vagas transferem a ambiguidade para o modelo.

Trate o schema como contrato

Defina tipos, campos obrigatórios, enumerações, limites e descrições. Use additionalProperties: false quando campos extras não forem aceitos.

Mesmo assim, valide novamente dentro da aplicação e no servidor. O agente é um cliente, não uma autoridade confiável.

Reutilize a mesma regra de negócio da interface

Botão e ferramenta devem chamar a mesma função de domínio. Duplicar a lógica cria dois comportamentos, dois conjuntos de bugs e resultados divergentes.

Em um projeto Vue ou Nuxt, a ferramenta pode chamar um serviço ou uma action da store. Evite manipular elementos do DOM como se estivesse criando seu próprio robô de cliques.

Registre somente ferramentas válidas naquele estado

Se não há produto selecionado, não registre adicionar_ao_carrinho. Se a conta não tem permissão financeira, não exponha preparar_reembolso.

Disponibilidade dinâmica ajuda o agente a entender o produto e reduz o contexto enviado ao modelo.

Nunca confie apenas na sessão do frontend

O backend deve conferir autenticação, tenant, papel, propriedade do recurso e limites da operação. O fato de uma ferramenta rodar dentro de uma página autenticada não autoriza qualquer argumento enviado a ela.

Para mutações, adote idempotência quando fizer sentido. Se houver repetição por timeout, o sistema não deve criar duas cobranças ou dois chamados.

Separe leitura, preparação e confirmação

Uma arquitetura segura costuma ter três níveis:

  1. ferramentas de leitura podem executar diretamente;
  2. ferramentas de preparação alteram estado temporário ou preenchem a interface;
  3. ações irreversíveis exigem confirmação visível.

Pagamento, exclusão, publicação, alteração de plano e envio de mensagem para terceiros merecem cuidado especial.

Registre observabilidade própria

Meça qual ferramenta foi descoberta, chamada, concluída, cancelada ou rejeitada. Registre duração e código de erro sem armazenar prompts, documentos ou dados pessoais desnecessários.

No Brasil, esse desenho também precisa respeitar finalidade, minimização e segurança no tratamento de dados pessoais. WebMCP não cria uma exceção à LGPD.

Teste com frases reais, não só chamadas manuais

Uma ferramenta pode funcionar tecnicamente e ainda ser mal escolhida pelo agente. Crie testes com pedidos ambíguos, campos ausentes, valores extremos, repetição e tentativas sem permissão.

O inspetor de WebMCP do Chrome permite visualizar ferramentas, validar schemas e fazer chamadas manuais. Depois, teste com linguagem natural e acompanhe se o agente escolhe a ação correta.

Como começar um experimento sem comprometer o produto

Um primeiro piloto pode seguir este roteiro:

  1. escolha uma página autenticada com uma tarefa frequente;
  2. mapeie a função de domínio usada hoje pela interface;
  3. registre uma ferramenta somente de leitura;
  4. crie um schema pequeno e restritivo;
  5. devolva um resultado estruturado e curto;
  6. conecte o ciclo de registro à rota ou ao componente;
  7. teste sucesso, erro, cancelamento e falta de permissão;
  8. compare tempo, taxa de conclusão e necessidade de intervenção;
  9. só então experimente uma ação de preparação com confirmação humana.

Para desenvolvimento local, a documentação atual do Chrome indica o recurso experimental chrome://flags/#enable-webmcp-testing. A disponibilidade e o processo de testes podem mudar, portanto esse passo deve ser conferido na documentação mais recente.

Onde a Cloudflare entra nessa história

A Cloudflare anunciou um preview que pode adicionar uma ponte WebMCP na borda, sem exigir alteração no código de origem do site. A ativação fica na área de Agent Readiness e injeta um módulo em respostas HTML.

O preview começou com dois pacotes. Um expõe ferramentas relacionadas a credenciais C2PA em imagens. O outro conecta a página a um servidor MCP no mesmo domínio, por padrão em /mcp, reutilizando a sessão do visitante.

Isso é útil para experimentar, principalmente em sites estáticos ou aplicações em que alterar o deploy é mais trabalhoso. Mas a ponte não descobre automaticamente toda a lógica de negócio escondida em botões. Para oferecer ferramentas como consultar_fatura ou preparar_reembolso, ainda é necessário projetar capacidades e conectá-las às regras do produto, seja na página, seja em um servidor MCP.

O valor do anúncio da Cloudflare está em reduzir a barreira de distribuição e teste. O conceito do WebMCP continua independente da Cloudflare e depende de adoção mais ampla por navegadores, agentes, frameworks e sites.

[ CONTEÚDO_INTEGRAL_DISPONÍVEL ]

Continuar lendo

CLIQUE PARA DESBLOQUEAR A LEITURA

Construindo aplicações robustas com arquitetura de alto nível e infraestrutura otimizada na edge do Cloudflare Workers com SurrealDB.

Segurança de dados e conformidade com privacidade desde o primeiro dia de código com tratamento de estados e sessões resilientes.

Métricas de performance para monitorar a experiência do usuário e otimizar custos operacionais em produção com dashboards estruturados.

Continuação liberada

WebMCP pode influenciar SEO e GEO?

WebMCP não é uma técnica de SEO e, hoje, não existe base para prometer ganho de posição por instalar ferramentas na página.

O impacto mais provável está na experiência agêntica: agentes podem concluir tarefas com menos erro e manter o usuário dentro do site. No futuro, isso pode influenciar como produtos são descobertos e utilizados por assistentes, mas ainda é cedo para tratar essa hipótese como fator de ranqueamento.

Para SEO e GEO, continuam importantes:

  • conteúdo original e útil;
  • HTML semântico;
  • dados estruturados adequados;
  • páginas rápidas e acessíveis;
  • autoria e fontes verificáveis;
  • respostas claras para perguntas reais;
  • links internos coerentes.

WebMCP complementa essa base ao descrever ações. Ele não substitui o conteúdo que explica o produto nem as páginas que mecanismos de busca conseguem indexar.

Vale a pena implementar agora?

Para a maioria dos negócios, ainda não é hora de transformar todo o produto. É hora de aprender com um experimento pequeno.

Faz sentido testar agora se sua aplicação possui fluxos complexos, usuários que já trabalham com agentes, equipe capaz de acompanhar mudanças do padrão e uma tarefa cuja melhoria pode ser medida.

Talvez seja melhor esperar se o produto ainda tem problemas básicos de usabilidade, autenticação frágil, regras de autorização inconsistentes ou nenhuma observabilidade. Expor ferramentas sobre uma base insegura apenas cria um caminho adicional para os mesmos problemas.

A melhor decisão é selecionar uma ação reversível, implementar com o mesmo rigor de uma API e medir. Se o padrão amadurecer, o aprendizado acumulado sobre schemas, confirmação e tarefas agênticas continuará útil.

Perguntas frequentes sobre WebMCP

WebMCP é um servidor MCP dentro do navegador?

É uma analogia útil, mas não uma equivalência completa. WebMCP expõe ferramentas da página para agentes no contexto do navegador. MCP tradicional define uma integração de backend mais ampla, com transporte e recursos próprios.

Preciso da Cloudflare para usar WebMCP?

Não. A proposta pertence ao ecossistema da web e pode ser implementada diretamente com JavaScript ou HTML em navegadores compatíveis. A Cloudflare oferece uma forma de injetar uma ponte e conectar pacotes no seu edge.

WebMCP funciona em qualquer navegador?

Ainda não. É uma tecnologia experimental, em discussão e com suporte limitado. O site deve continuar funcionando normalmente quando document.modelContext não estiver disponível.

O agente pode executar uma compra sozinho?

Tecnicamente, uma ferramenta pode iniciar ações, mas operações sensíveis devem exigir confirmação humana e autorização no servidor. Preparar um carrinho é diferente de confirmar pagamento.

WebMCP substitui APIs REST, GraphQL ou MCP?

Não. A ferramenta WebMCP frequentemente chama uma API existente. Ela organiza a interação do agente com a página, enquanto APIs e servidores MCP continuam responsáveis por integrações e capacidades de backend.

Um site simples precisa de WebMCP?

Nem sempre. Se o site oferece apenas leitura, conteúdo bem estruturado, acessibilidade e dados semânticos podem gerar mais valor imediato. WebMCP é mais interessante quando há tarefas interativas.

Conclusão

WebMCP propõe uma mudança importante: sites deixam de ser apenas interfaces que agentes tentam interpretar e passam a declarar o que conseguem fazer.

O ganho não está em entregar o produto para uma IA operar sem limites. Está em criar uma colaboração mais confiável entre usuário, agente e aplicação, com schemas claros, estado compartilhado, interface visível e confirmação nas decisões sensíveis.

Para quem constrói SaaS, e-commerce, educação, atendimento ou sistemas operacionais no Brasil, o momento é bom para estudar e testar uma tarefa pequena. Ainda há mudanças pela frente, mas a direção é relevante: a próxima camada da web não será apenas legível por máquinas. Ela também será acionável por agentes.

Fontes e leitura complementar

Comece a construir

Quer transformar uma ideia em produto? O kit Sniper Apps reúne base, componentes e método para publicar com mais velocidade.

CONHECER_O_KIT →
Continue explorando
Ver todos os artigos →