Skip to main content
Glama

Adoteca — Adoção de Pets no Brasil

Montar link do catálogo

get_catalog_link
Read-only

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.

Input Schema

NameRequiredDescriptionDefault
ageNoFaixa etária, uma só: 'filhote', 'adulto' ou 'idoso'. São as três faixas que o catálogo distingue; os cortes mudam com espécie e porte (idoso a partir de 8 anos no cão grande, 9 no médio, 10 no pequeno e no gato).
sexNoSexo: 'male'/'macho' ou 'female'/'femea'.
cityNoNome do MUNICÍPIO por extenso, não do bairro nem abreviado: 'Belo Horizonte', não 'BH'. Acento é opcional. Se o nome for ambíguo, ou se nenhuma ONG tiver pets ali hoje, o erro explica o que corrigir; isso não significa que a cidade não exista.
sizeNoPortes, um ou mais: 'small'/'pequeno', 'medium'/'medio', 'large'/'grande'. Envie os dois quando a pessoa aceitar os dois.
sortNoOrdem da página: 'recentes' (padrão, os anúncios mais novos primeiro) ou 'disponiveis' (os que ainda estão para adoção primeiro, empurrando os já adotados para o fim).
breedNoRaça: slug ('golden-retriever') ou nome em português ('pastor alemão'). A maioria do catálogo é SRD (sem raça definida).
stateNoSigla de duas letras da UF (SP, MG), apenas para desambiguar `city`. Busca só por estado NÃO é suportada: sempre envie `city` junto.
speciesNoEspécie: 'dog'/'cachorro' ou 'cat'/'gato'.
neuteredNotrue devolve somente pets castrados. `false` é IGNORADO pelo mesmo motivo de `vaccinated`; o valor de cada pet está em `neutered`.
vaccinatedNotrue devolve somente pets vacinados. `false` é IGNORADO: a maioria dos anúncios não informa vacinação, então filtrar por 'não vacinado' esconderia quase todo o catálogo. O valor de cada pet está em `vaccinated` (null = a ONG não informou).
special_needsNotrue monta o link só com pets com cuidados especiais. `false` é IGNORADO: o catálogo não tem o filtro inverso.
good_with_catsNoSomente pets que convivem bem com gatos.
good_with_dogsNoSomente pets que convivem bem com cães.
good_with_kidsNoSomente pets que convivem bem com crianças.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / breed / description
      Previous value: -"Raça: slug ('golden-retriever') ou nome em português ('pastor alemão'). A maioria do catálogo é SRD (sem raça definida). Use a listagem de raças para ver as raças com pets hoje."New value: +"Raça: slug ('golden-retriever') ou nome em português ('pastor alemão'). A maioria do catálogo é SRD (sem raça definida)."
    • changedInput schema / properties / city / description
      Previous value: -"Nome do MUNICÍPIO por extenso, não do bairro nem abreviado: 'Belo Horizonte', não 'BH'. Acento é opcional. Se o nome for ambíguo, ou se nenhuma ONG tiver pets ali hoje, o erro explica o que fazer — leia e siga; não significa que a cidade não exista."New value: +"Nome do MUNICÍPIO por extenso, não do bairro nem abreviado: 'Belo Horizonte', não 'BH'. Acento é opcional. Se o nome for ambíguo, ou se nenhuma ONG tiver pets ali hoje, o erro explica o que corrigir; isso não significa que a cidade não exista."
    • changedInput schema / properties / neutered / description
      Previous value: -"true devolve somente pets castrados. `false` é IGNORADO pelo mesmo motivo de `vaccinated`; leia `neutered` na ficha do pet."New value: +"true devolve somente pets castrados. `false` é IGNORADO pelo mesmo motivo de `vaccinated`; o valor de cada pet está em `neutered`."
    • changedInput schema / properties / vaccinated / description
      Previous value: -"true devolve somente pets vacinados. `false` é IGNORADO: a maioria dos anúncios não informa vacinação, então filtrar por 'não vacinado' esconderia quase todo o catálogo. Para saber de um pet específico, leia `vaccinated` na ficha (null = a ONG não informou)."New value: +"true devolve somente pets vacinados. `false` é IGNORADO: a maioria dos anúncios não informa vacinação, então filtrar por 'não vacinado' esconderia quase todo o catálogo. O valor de cada pet está em `vaccinated` (null = a ONG não informou)."
  2. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  3. Changed1 schema field changed
    • changedInput schema / properties / age / description
      Previous value: -"Faixa etária, uma só: 'filhote' (até 12 meses), 'adulto' (12 a 96) ou 'idoso' (96+). São as três faixas que o catálogo distingue."New value: +"Faixa etária, uma só: 'filhote', 'adulto' ou 'idoso'. São as três faixas que o catálogo distingue; os cortes mudam com espécie e porte (idoso a partir de 8 anos no cão grande, 9 no médio, 10 no pequeno e no gato)."
  4. Changed1 schema field changed
    • removedInput schema / properties / foster
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "boolean"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "true monta o link só com pets que aceitam ou precisam de lar temporário. `false` é IGNORADO: o catálogo não tem o filtro inverso.",
      -  "title": "Foster"
      -}
  5. Changed1 schema field changed
    • addedInput schema / properties / foster
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "true monta o link só com pets que aceitam ou precisam de lar temporário. `false` é IGNORADO: o catálogo não tem o filtro inverso.",
      +  "title": "Foster"
      +}
  6. Added

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld/non-destructive. The description adds genuine behavioral detail beyond them: the empty-result case where `url` is null and `note` explains why. It does not cover error modes (e.g., ambiguous city), so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with what the tool does, then when to use it, then the edge-case output contract. No filler and nothing repeated from structured fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present the description needn't document return values, yet it still flags the null-url case helpfully. Annotations cover safety and the schema covers all 14 parameters, so the definition is essentially complete; only cross-tool routing is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the per-parameter text is unusually rich (age cuts by species/size, city disambiguation, ignored false values for vaccinated/neutered/special_needs). The description adds nothing parameter-specific beyond 'com os filtros pedidos', so the schema carries the load; baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Monta o link do catálogo com os filtros pedidos') plus a secondary behavior (confirming pets exist in those filters). This distinguishes it implicitly from data-returning siblings like search_pets, but no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use quando a pessoa quiser ver a lista no site' gives a clear triggering context for the tool. However, it names no alternatives (e.g., search_pets) and states no when-not-to-use conditions, which matters given 10 sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources