# Adoteca — Adoção de Pets no Brasil

> Cães e gatos para adoção no Brasil, de ONGs e protetores. Busque por cidade, porte, idade e saúde.

- name: br.com.adoteca/adoteca
- version: 2.0.0
- connection class: R0 (autonomous)
- trust: 97/100
- quality: 84/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/br.com.adoteca%2Fadoteca
- tools: https://api.protogrid.dev/v1/servers/br.com.adoteca%2Fadoteca/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "adoteca": {
      "type": "http",
      "url": "https://api.adoteca.com.br/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 85
- provenance: 100
- drivers: +repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-100% ~updated-68d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 84/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 11 of 11 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: search_rescuers (idempotentHint); get_catalog_link (idempotentHint); get_pet_details (idempotentHint); …
- pass `tools.token_cost`: about 4,179 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 29 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 11, about 4,179 tokens to load them all
- tool set hash: e69996da278f3b4759ff4cf74d9a3d76
- tools last changed: 2026-10-10T03:49:30.355Z
- badge: [![protogrid quality](https://protogrid.dev/badge/br.com.adoteca/adoteca.svg)](https://protogrid.dev/servers/br.com.adoteca/adoteca)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-10 `get_catalog_link` changed (description, inputSchema)
  - before: Monta o link do catálogo com os filtros pedidos e confirma que existem pets neles. Use quando a pessoa quiser ver a lista no site. Se `url` vier null, não há link: leia `note` e ofereça tirar um filtro. Nunca escreva um link de catálogo à mão.
  - after: Monta o link do catálogo com os filtros pedidos e confirma que existem pets neles. Use quando a pessoa quiser ver a lista no site. Sem pets nesses filtros, `url` vem null e `note` explica.
- 2026-10-10 `search_guides` changed (description)
  - before: Guias da Adoteca sobre adoção, saúde e cuidados especiais (FIV, FeLV, leishmaniose, pet surdo, custos) e ajuda sobre como o site funciona. Use para dúvidas que não são busca de pets. Responda com base no `summary`, mostre o `url` e, se a lista vier vazia, diga que não temos guia sobre isso.
  - after: Guias da Adoteca sobre adoção, saúde e cuidados especiais (FIV, FeLV, leishmaniose, pet surdo, custos) e ajuda sobre como o site funciona. Use para dúvidas que não são busca de pets. Cada guia traz `summary` e `url`; lista vazia significa que não há guia sobre o tema.
- 2026-10-10 `search_public_services` changed (description)
  - before: Serviços públicos para animais numa cidade, conferidos à mão e com data: hospital veterinário público ou de universidade, zoonoses, castração, bem-estar animal da prefeitura e canais de denúncia. Filtra por necessidade. Cite só o que vier, com a data; se vier vazio, não invente.
  - after: Serviços públicos para animais numa cidade, conferidos à mão e com data: hospital veterinário público ou de universidade, zoonoses, castração, bem-estar animal da prefeitura e canais de denúncia. Filtra por necessidade. A cobertura é parcial, cidade a cidade, e a resposta pode vir vazia.
- 2026-10-10 `list_breeds` changed (description)
  - before: Raças com pets no catálogo hoje, mais comuns primeiro, com o slug para enviar em `breed`. Use antes de filtrar por raça e quando perguntarem quais raças existem. A maioria do catálogo é SRD (sem raça definida): ofereça SRD em vez de dizer que não há pets.
  - after: Raças com pets no catálogo hoje, mais comuns primeiro, com o slug aceito no filtro `breed`. Use quando perguntarem quais raças existem ou antes de filtrar por raça. A maioria do catálogo é SRD (sem raça definida).
- 2026-10-10 `get_city_stats` changed (description)
  - before: Números do catálogo em UMA cidade já resolvida: quantos pets, por espécie, porte e idade, entradas em 24h, adoções, quantas ONGs e as raças mais comuns. Use para 'quantos pets tem em X?'. Não devolve pets, não resolve o nome da cidade e não diz QUAIS são as ONGs — para isso, use a busca de ONGs.
  - after: Números do catálogo em UMA cidade já resolvida: quantos pets, por espécie, porte e idade, entradas em 24h, adoções, quantas ONGs e as raças mais comuns. Use para 'quantos pets tem em X?'. Não devolve pets, não resolve o nome da cidade e não lista QUAIS são as ONGs.
- 2026-10-10 `search_cities` changed (description)
  - before: Converte o nome de uma cidade (com ou sem acento, com erro de grafia) no slug oficial do catálogo. Use antes das outras buscas quando a pessoa citar uma cidade. Se `ambiguous` for true, escolha pelo contexto ou pergunte; nunca chute. Para os números da cidade, use as estatísticas.
  - after: Converte o nome de uma cidade (com ou sem acento, com erro de grafia) no slug oficial do catálogo, com a UF. Use quando a pessoa citar uma cidade. `ambiguous` vem true quando o nome existe em mais de um estado. Não traz os números da cidade.
- 2026-10-10 `get_rescuer_details` changed (description)
  - before: Ficha de uma ONG ou protetor: cidades atendidas, contatos, site e página de doação. Aceita o código curto do link ou o @ do Instagram, devolvidos pela busca de ONGs. Para doações, mostre `donation_url` ou `profile_url` — nunca peça nem repasse chave PIX.
  - after: Ficha de uma ONG ou protetor: cidades atendidas, contatos, site e página de doação (`donation_url`). Aceita o código curto do link ou o @ do Instagram da ONG. Não traz chave PIX.
- 2026-10-10 `search_rescuers` changed (description)
  - before: Use quando perguntarem QUAIS ONGs ou protetores existem em uma cidade. Lista quem tem pets no catálogo ali, com o link de cada um. Anúncios podem ser antigos: não afirme que a ONG está ativa. Não é registro completo, e NÃO diz se alguma pode acolher — nunca afirme que tem vaga.
  - after: Use quando perguntarem QUAIS ONGs ou protetores existem em uma cidade. Lista quem tem pets no catálogo ali, com o link de cada um. Vem só de anúncios, que podem ser antigos: não é registro completo e não indica se a ONG está ativa nem se tem vaga para acolher.
- 2026-10-10 `search_similar_pets` changed (description)
  - before: Pets parecidos com UM pet específico, mesma espécie e mesma cidade — não é a busca geral do catálogo. Use quando o pet desejado já não estiver disponível. Pode vir vazia: use searchPets, nunca invente pets. Mostre o `adoption_url`. `total` é o tamanho desta lista; não há página 2.
  - after: Pets parecidos com UM pet específico, mesma espécie e mesma cidade — não é a busca geral do catálogo. Use quando o pet desejado já não estiver disponível. Só traz pets disponíveis, cada um com o `adoption_url`, e pode vir vazia. `total` é o tamanho desta lista; não há página 2.
- 2026-10-10 `get_pet_details` changed (description)
  - before: Ficha completa de um pet: saúde, cuidados, convivência e como falar com a ONG. Aceita o código curto do link ou o id devolvido pela busca de pets. Leia `status` antes de oferecer, e o `status` de cada `health_conditions` antes de falar da saúde dele.
  - after: Ficha completa de um pet: saúde, cuidados, convivência e como falar com a ONG. Aceita o código curto do link ou o id de um pet já listado. Traz o `status` do pet e o resultado de cada item de `health_conditions`.

Full history: https://api.protogrid.dev/v1/servers/br.com.adoteca%2Fadoteca/changes

## Remotes

- https://api.adoteca.com.br/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (11)

- `get_catalog_link`: Monta o link do catálogo com os filtros pedidos e confirma que existem pets neles. Use quando a pessoa quiser ver a lista no site. Sem pets nesses filtros, `url` vem null e `note` explica.
- `get_city_stats`: Números do catálogo em UMA cidade já resolvida: quantos pets, por espécie, porte e idade, entradas em 24h, adoções, quantas ONGs e as raças mais comuns. Use para 'quantos pets tem em X?'. Não devolve pets, não resolve o nome da cidade e não lista QUAIS são as ONGs.
- `get_pet_details`: Ficha completa de um pet: saúde, cuidados, convivência e como falar com a ONG. Aceita o código curto do link ou o id de um pet já listado. Traz o `status` do pet e o resultado de cada item de `health_conditions`.
- `get_rescuer_details`: Ficha de uma ONG ou protetor: cidades atendidas, contatos, site e página de doação (`donation_url`). Aceita o código curto do link ou o @ do Instagram da ONG. Não traz chave PIX.
- `list_breeds`: Raças com pets no catálogo hoje, mais comuns primeiro, com o slug aceito no filtro `breed`. Use quando perguntarem quais raças existem ou antes de filtrar por raça. A maioria do catálogo é SRD (sem raça definida).
- `search_cities`: Converte o nome de uma cidade (com ou sem acento, com erro de grafia) no slug oficial do catálogo, com a UF. Use quando a pessoa citar uma cidade. `ambiguous` vem true quando o nome existe em mais de um estado. Não traz os números da cidade.
- `search_guides`: Guias da Adoteca sobre adoção, saúde e cuidados especiais (FIV, FeLV, leishmaniose, pet surdo, custos) e ajuda sobre como o site funciona. Use para dúvidas que não são busca de pets. Cada guia traz `summary` e `url`; lista vazia significa que não há guia sobre o tema.
- `search_pets`: Busca em TODO o catálogo de cães e gatos para adoção no Brasil, por filtros como cidade, espécie, porte e idade, ou pelo nome do pet. É a busca padrão de quem quer adotar. Inclui pets já adotados, indicados em `status`; cada pet traz o `adoption_url` da ficha.
- `search_public_services`: Serviços públicos para animais numa cidade, conferidos à mão e com data: hospital veterinário público ou de universidade, zoonoses, castração, bem-estar animal da prefeitura e canais de denúncia. Filtra por necessidade. A cobertura é parcial, cidade a cidade, e a resposta pode vir vazia.
- `search_rescuers`: Use quando perguntarem QUAIS ONGs ou protetores existem em uma cidade. Lista quem tem pets no catálogo ali, com o link de cada um. Vem só de anúncios, que podem ser antigos: não é registro completo e não indica se a ONG está ativa nem se tem vaga para acolher.
- `search_similar_pets`: Pets parecidos com UM pet específico, mesma espécie e mesma cidade — não é a busca geral do catálogo. Use quando o pet desejado já não estiver disponível. Só traz pets disponíveis, cada um com o `adoption_url`, e pode vir vazia. `total` é o tamanho desta lista; não há página 2.
