Case técnicoEm produção

Site legível por agentes

Este site entrega os mesmos dados para pessoas e para agentes de IA: servidor MCP, agente A2A, ferramentas WebMCP, Agent Skills, catálogo de APIs e versão em Markdown de cada página, todos lendo a mesma base e o mesmo ranking de busca.

1. Contexto

Problema e desafio

Recrutadores e clientes já pesquisam profissionais com assistentes de IA, mas um portfólio feito só de HTML obriga o agente a adivinhar o conteúdo raspando a página.

Contexto:Parte de quem avalia um profissional já chega pelo ChatGPT, pelo Claude ou por um agente de recrutamento. Esses agentes leem melhor dados estruturados do que páginas pensadas só para o olho humano.
Desafio operacional:Expor perfil, cases e stack para agentes sem criar uma segunda fonte de verdade, sem inventar conteúdo e sem tirar do site a experiência visual de um portfólio.
Minha responsabilidade:Arquitetura e desenvolvimento de ponta a ponta: renderização no servidor, superfícies de agente, assistente de respostas, SEO e dados estruturados, testes automatizados e deploy.

2. Solução & stack

Solução criada

Uma única base de dados profissionais alimenta a página, o JSON-LD, o LipeCopilot e as superfícies de agente. Um índice de busca compartilhado garante o mesmo ranking no MCP, no A2A e no WebMCP.

Desenho de arquitetura:React 19 com TanStack Start e renderização no servidor. A entrada SSR intercepta as rotas de agente (/mcp, /a2a e os arquivos em /.well-known) antes do roteador e converte HTML em Markdown quando o cliente pede text/markdown. Deploy na Vercel com CSP.
Diferencial técnico:O portfólio não só descreve integração e IA aplicada: ele é uma integração funcionando, que o visitante pode testar ao vivo na seção Agentes.

Stack usada

React 19TanStack StartTypeScriptMCPA2APlaywright
Mapa técnicoponta a ponta
01Agente descobre o site pelo catálogo em /.well-known
02conecta no /mcp ou no /a2a
03busca no índice compartilhado
04recebe a resposta com a fonte citada e pode abrir a página do case para confirmar

3. Execução

Execução, automações e regras

Servidor MCP com as ferramentas portfolio.get_profile, portfolio.search e portfolio.get_project; Agent Card e endpoint JSON-RPC do A2A; catálogo RFC 9727; diretório Web Bot Auth assinado; JSON-LD derivado da stack; CI com lint, typecheck e build.

Fluxo técnico

  1. 01Agente descobre o site pelo catálogo em /.well-known
  2. 02conecta no /mcp ou no /a2a
  3. 03busca no índice compartilhado
  4. 04recebe a resposta com a fonte citada e pode abrir a página do case para confirmar
Lições e aprendizados:
  • Um índice e uma função de busca únicos evitam que MCP, A2A, WebMCP e o assistente do site respondam coisas diferentes para a mesma pergunta.
  • Assistente que cita a fonte e admite quando não sabe é mais confiável que um chatbot que improvisa.
  • Teste de ponta a ponta sobre textos, SEO e roteamento de perguntas pega regressão de conteúdo, não só de código.

4. Evidências

Resultado observadoAmbiente em produção

Qualquer cliente MCP ou A2A consulta perfil, cases e stack direto na fonte. Uma correção nos dados chega à página e a todos os agentes no mesmo deploy.

Descrevo o que o sistema faz. Não publico percentual de ganho que eu não tenha medido em produção.

Evidências disponíveis

1 captura de interfaceAmbiente em produçãoDemo públicaCódigo não disponibilizado no portfólio
Captura da interface: Site legível por agentes

Demonstração e contato

A demonstração é o próprio site: o console da seção Agentes faz requisições JSON-RPC reais ao endpoint /mcp, e qualquer cliente MCP pode se conectar a ele. O código não está publicado; uma apresentação técnica pode ser pedida pelo WhatsApp.

Tem um desafio parecido? Posso avaliar o contexto e apontar o próximo passo.