Construa sobre o edugalbs.com
Tudo o que o Eduardo Galbiati publica aqui (o perfil, o Diário da fábrica e o blog de tecnologia e liderança) pode ser buscado e lido por código ou por um agente de IA, numa API REST ou num servidor MCP. Público, só leitura, gratuito e sem chave de API.
Para começar
Buscar no site:
curl "https://www.edugalbs.com/api/v1/search?q=gargalo+de+testes&limit=3"
Ler um dos resultados inteiro, em Markdown:
curl "https://www.edugalbs.com/api/v1/pages?url=/blog/12-factor-agents"
Ou adicionar o servidor MCP a um agente. No Claude Code:
claude mcp add --transport http edugalbs https://www.edugalbs.com/api/mcp
Qualquer cliente que fale MCP por Streamable HTTP funciona com o mesmo endereço. Toda página do site também existe em Markdown: acrescente .md ao endereço ou peça com Accept: text/markdown.
Endpoints
Todos são GET, respondem JSON e aceitam lang=pt|en quando faz sentido. A descrição completa está no documento OpenAPI 3.1.
| Endpoint | O que devolve |
|---|---|
/api/v1 | A lista de endpoints. |
/api/v1/search?q= | Os trechos que mais combinam, de todas as páginas, com o endereço de cada uma (section=all|diary|blog|profile, limit=1–10). |
/api/v1/pages?url= | Uma página em Markdown, com título e resumo; páginas longas em partes com offset e max_chars. |
/api/v1/chapters | Os capítulos do Diário da fábrica, em ordem. |
/api/v1/posts | Os posts do blog, do mais novo ao mais antigo. |
/api/v1/profile | O perfil que o Eduardo escreveu para assistentes de IA. |
POST /api/mcp | O servidor MCP (JSON-RPC 2.0): ferramentas search_site, get_page, list_diary_chapters, list_blog_posts, get_profile. |
Chaves de API e sandbox
Não há chave de API nem cadastro: todos os endpoints são públicos. A API só lê o que já está publicado, então não existe uma sandbox separada: dá para experimentar em produção à vontade, e nada que você envie muda o site. Capítulos e posts agendados só aparecem depois do horário de publicação.
Limites de requisição
60 requisições por minuto por endereço, somando a API REST e o servidor MCP. Toda resposta diz quanto sobra, com os cabeçalhos RateLimit do rascunho do IETF e os campos das versões anteriores dele:
RateLimit-Policy: "default";q=60;w=60
RateLimit: "default";r=59;t=60
RateLimit-Limit: 60
RateLimit-Remaining: 59
RateLimit-Reset: 60
Acima do limite, a resposta é 429 com Retry-After, os segundos de espera.
Erros
Todo erro em /api/ é JSON, com o status HTTP, um código para tratar, uma mensagem e uma dica do que fazer (em inglês):
{ "error": { "status": 400, "code": "missing_parameter",
"message": "The parameter \"q\" is required.",
"hint": "Add ?q=… : What to look for.",
"docs": "https://www.edugalbs.com/openapi.json" } }
Os códigos: not_found, unsupported_version, method_not_allowed, missing_parameter, invalid_parameter, page_not_found, rate_limited e unavailable. O servidor MCP responde erros JSON-RPC. Uma página que não existe é um 404 em Markdown quando você pede text/markdown.
Versionamento e depreciação
- A versão principal está no endereço:
/api/v1/./api/<endpoint>, sem versão, é um atalho da v1 e continua sendo. - Acréscimos (endpoints, parâmetros ou campos novos) entram na v1 e só mudam o
info.versiondo documento OpenAPI. Clientes devem ignorar campos que não conhecem. - O que quebraria um cliente sai como
/api/v2/. A v1 continua funcionando por pelo menos 6 meses depois disso, e as respostas dela avisam com os cabeçalhosDeprecation(RFC 9745) eSunset(RFC 8594) e umLinkpara a política comrel="deprecation". - O servidor MCP negocia a versão do protocolo no
initialize, e as ferramentas dele seguem a mesma regra.
Arquivos para máquinas
- /openapi.json: a API, em OpenAPI 3.1.
- /.well-known/mcp/server-card.json: o cartão do servidor MCP.
- /.well-known/api-catalog: o catálogo de APIs (RFC 9727).
- /.well-known/agent-skills/index.json: skills para agentes apresentarem o Eduardo, lerem o diário e buscarem no site.
- /llms.txt e /llms-full.txt: o guia do site e o texto completo dele, em Markdown.
- /sitemap.xml e /robots.txt, que declara que o conteúdo pode ser usado em buscas, respostas de IA e treino de IA.
Dúvidas ou um bug? Escreva para eduardo.galbiati@gmail.com (veja contato e privacidade).
Atualizado em 29 de outubro de 2026.