---
title: "API, MCP e dados para agentes — Galetos do Brasil Aldeota"
description: "API pública, servidores MCP, NLWeb, sandbox e erros — só leitura, sem autenticação"
url: "https://galetosdobrasilaldeota.com.br/developers/"
canonical: "https://galetosdobrasilaldeota.com.br/developers/"
source: html
---
# API, MCP e dados para agentes — Galetos do Brasil Aldeota

> API pública só-leitura, servidores MCP e busca NLWeb da loja Galetos do Brasil Aldeota: horário, entrega por bairro, link para pedir e rota.

## O que existe aqui

Galetos do Brasil Aldeota é uma galeteria de Fortaleza que atende só por delivery e retirada. Para agentes de IA e integrações, a loja oferece uma API pública, dois servidores MCP e uma busca NLWeb, todos com os mesmos dados do site.

Tudo é **somente leitura** e **sem autenticação**: não existe chave, cadastro nem pedido pela API. O pedido é feito pela pessoa, no link que a API devolve (cardápio digital ou WhatsApp). Preços e itens ficam só no cardápio digital.

## Início rápido

Sem chave e sem cadastro. A primeira chamada:

```sh
curl https://galetosdobrasilaldeota.com.br/api/v1/horario
curl "https://galetosdobrasilaldeota.com.br/api/v1/entrega?bairro=Meireles"
```

## API REST v1

Base: `https://galetosdobrasilaldeota.com.br/api/v1`. Contrato OpenAPI 3.1: `https://galetosdobrasilaldeota.com.br/openapi.json` (também em `https://galetosdobrasilaldeota.com.br/api/openapi.json`). Índice: `https://galetosdobrasilaldeota.com.br/api`. Catálogo RFC 9727: `https://galetosdobrasilaldeota.com.br/.well-known/api-catalog`.

- `GET /api/v1/loja` — Fatos da loja (endereço, contato, horário, entrega, pagamento); `campo` filtra um grupo. Ex.: `https://galetosdobrasilaldeota.com.br/api/v1/loja?campo=entrega`

- `GET /api/v1/horario` — Aberto agora no fuso de Fortaleza, ou o horário de uma `data` (AAAA-MM-DD). Ex.: `https://galetosdobrasilaldeota.com.br/api/v1/horario`

- `GET /api/v1/entrega` — Se a loja entrega no `bairro`, com prazo, pedido mínimo e alternativa de retirada. Ex.: `https://galetosdobrasilaldeota.com.br/api/v1/entrega?bairro=Meireles`

- `GET /api/v1/bairros` — Bairros atendidos, paginados por `limit` e `cursor`. Ex.: `https://galetosdobrasilaldeota.com.br/api/v1/bairros?limit=5`

- `GET /api/v1/pedido` — Link para a pessoa pedir: `canal=cardapio` ou `canal=whatsapp` (com `pedido` opcional). Ex.: `https://galetosdobrasilaldeota.com.br/api/v1/pedido?canal=whatsapp&pedido=1%20galeto`

- `GET /api/v1/rota` — Endereço de retirada e rota do Google Maps a partir de `origem`. Ex.: `https://galetosdobrasilaldeota.com.br/api/v1/rota?origem=Beira-Mar`

- `GET /api/v1/paginas` — Páginas públicas do site, paginadas por `limit` e `cursor`. Ex.: `https://galetosdobrasilaldeota.com.br/api/v1/paginas`

- `GET /api/v1/pagina` — Markdown de uma página pela `rota`. Ex.: `https://galetosdobrasilaldeota.com.br/api/v1/pagina?rota=/entrega/`

- `GET /api/v1/busca` — Busca por palavra nas páginas (`q`, `limit` até 20). Ex.: `https://galetosdobrasilaldeota.com.br/api/v1/busca?q=entrega%20meireles`

Respostas em JSON (UTF-8), CORS aberto, `Cache-Control: no-store`. Listas são paginadas por cursor: a resposta traz `items`, `total` e `next_cursor` (nulo na última página).

## Sandbox

`https://galetosdobrasilaldeota.com.br/api/v1/sandbox` responde os mesmos recursos com o relógio simulado: passe `agora` em ISO 8601 (ex.: `agora=2026-10-06T12:00:00-03:00`, uma terça, loja fechada) para testar aberto e fechado sem esperar a hora real. Sem `agora`, vale quarta-feira 12:00 em Fortaleza. Atalho: `https://galetosdobrasilaldeota.com.br/sandbox`.

Ex.: `https://galetosdobrasilaldeota.com.br/api/v1/sandbox/horario?agora=2026-10-06T12:00:00-03:00`

## Servidores MCP

Model Context Protocol por Streamable HTTP (POST com JSON-RPC 2.0, sem sessão). Dois servidores:

- Loja (agir): `https://galetosdobrasilaldeota.com.br/mcp` — `galetos_aldeota_horario`, `galetos_aldeota_entrega_no_bairro`, `galetos_aldeota_link_para_pedir`, `galetos_aldeota_como_chegar`, `galetos_aldeota_dados_da_loja`. Server card: `https://galetosdobrasilaldeota.com.br/mcp/server-card`.

- Páginas (aprender): `https://galetosdobrasilaldeota.com.br/mcp/docs` — `galetos_aldeota_list_pages`, `galetos_aldeota_get_page`, `galetos_aldeota_search_pages`; cada página também é um recurso `galetos-aldeota://docs/<rota>`. Server card: `https://galetosdobrasilaldeota.com.br/mcp/docs/server-card`.

Descoberta: `https://galetosdobrasilaldeota.com.br/.well-known/mcp.json` e `https://galetosdobrasilaldeota.com.br/.well-known/ard.json`. Versão dos servidores: 1.0.0.

```sh
curl -X POST https://galetosdobrasilaldeota.com.br/mcp -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"galetos_aldeota_horario","arguments":{}}}'
```

## Pergunte ao site (NLWeb)

`https://galetosdobrasilaldeota.com.br/ask?query=...` (GET) ou POST com `{"query":{"text":"..."}}`. Devolve JSON, ou SSE com `prefer.streaming` / `Accept: text/event-stream`. É busca por palavra nas páginas mais os fatos da loja, sem modelo de linguagem.

## No navegador (WebMCP)

As páginas registram, por `document.modelContext`, as mesmas quatro ferramentas da loja (horário, entrega no bairro, link para pedir, como chegar), para agentes que navegam o site.

## Erros

Todo erro da API é JSON no schema `Error`: `error` (código estável), `message`, `hint` (como resolver), `status` e `docs`. Códigos: `missing_parameter` e `invalid_parameter` (400), `invalid_cursor` (400), `not_found` (404), `method_not_allowed` (405, a API só aceita GET), `rate_limited` (429), `internal_error` (500), `unavailable` (503). Nunca há 401: não existe autenticação.

No MCP, argumento inválido volta como resultado com `isError: true` e a explicação; método desconhecido é `-32601`.

## Versões e limites

A versão está no caminho (`/api/v1`). Mudança compatível (campo novo) entra na v1 sem aviso. Mudança incompatível vira `/api/v2`, e a v1 continua no ar por pelo menos 12 meses depois disso, com os cabeçalhos `Deprecation` e `Sunset` e aviso nesta página. Política completa: `https://galetosdobrasilaldeota.com.br/api/versioning.md`.

Cota: 600 requisições por 60 s por endereço, contadas por instância da borda da Cloudflare — um controle contra rajada, aproximado (instâncias diferentes não somam). Toda resposta da API traz `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset`, `RateLimit-Policy` e `RateLimit`; acima da cota, 429 `rate_limited` com `Retry-After`.

Mais: `https://galetosdobrasilaldeota.com.br/auth.md` (por que não há autenticação), `https://galetosdobrasilaldeota.com.br/llms.txt` (índice para agentes), `https://galetosdobrasilaldeota.com.br/developers/llms.txt` (este bloco em formato llms.txt).

HTML: https://galetosdobrasilaldeota.com.br/developers/
