Skip to main content
Glama

Server Details

Search animals in eight languages with habitats, countries, photos and source credits.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
ArneFfm/animal-checklist-agents
GitHub Stars
0

TDQS

A4.2/5.0

Scored across 4 tools

Disambiguation4/5

Each tool targets a distinct purpose: get_animal for full detail on one species, search_animals for filtered ranked lists, and list_categories/list_countries for reference lookups. The only mild overlap is between get_animal and search_animals when retrieving a single species, but the card-vs-full-detail distinction is stated clearly.

Naming Consistency5/5

All four tools follow a clean, predictable verb_noun pattern (get_animal, list_categories, list_countries, search_animals). No mixed conventions or inconsistent verb styles.

Tool Count4/5

Four tools is a bit lean for a species reference domain but each one earns its place and covers a distinct access pattern. It sits just below the ideal 3-15 range only because the surface could support a few more query variants.

Completeness4/5

This is a read-only reference dataset (iNaturalist-derived), so full CRUD does not apply; the read surface covers detail lookup, free-text/multi-filter search, and category/country enumeration. Minor gaps remain, such as no separate photo or observation-detail retrieval beyond what get_animal bundles.

Available Tools

4 tools
get_animalGet animalA
Read-onlyIdempotent
Inspect

Read one species: every common name, scientific name, habitats, country observation counts, the full photo credit and the Wikipedia summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSpecies slug from search_animals, for example `red-fox`.
langNoDisplay language.en

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesSlug of the animal taxon, for example `red-fox`.
obsYesiNaturalist observation count when available.
nameYesName in the requested language, English when none exists.
textYesWikipedia excerpt. Keep attribution, licence and source links, changes and supplied notices. Check source article exceptions.
imageYes
namesYesCommon name per language. A language is absent when no name is known.
inatIdYesiNaturalist taxon id.
nameEnYesEnglish common name.
nameSciYesScientific name.
habitatsYes
tickableNoWhether a new checklist sighting is allowed.
countriesYesUp to twelve countries with the most observations.
sourceUrlNo
taxonRankNoTaxonomic rank. Legacy records default to species.
categoryIdYes
wikidataIdYes
parentNameSciNoParent species scientific name for a subspecies. Null for species.

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint), lowering the bar. The description adds valuable disclosure about the output payload (all common names, full photo credit, Wikipedia summary), which is beyond what annotations provide. It doesn't mention auth or rate limits, so it's 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?

A single compact sentence that front-loads the core action and lists the payload. Every clause earns its place; there's no filler or repetition.

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

Completeness5/5

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

The tool is a straightforward detail lookup with only two parameters, an output schema, and full schema coverage. The description is sufficient for an agent to call it correctly: it knows the identifier comes from search_animals, that language is configurable, and what rich data to expect. No gaps that would prevent correct invocation.

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

Parameters4/5

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

Schema description coverage is 100%, so the schema documents both the slug provenance and the lang enum. The description doesn't add parameter-specific syntax, but its enumeration of returned fields implies that lang affects localized content (common names, Wikipedia summary). This goes slightly beyond the schema's generic 'Display language', though the baseline for full coverage is 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?

The description states a specific verb (Read) and resource (one species), and immediately enumerates the rich payload it returns. It's clear what the tool does, but it doesn't contrast itself against siblings like search_animals or list_countries, which would have earned a 5.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is the detail-fetch step after a search, reinforced by the schema's note that the id comes 'from search_animals'. There's no explicit when-to-use statement, no conditions, and no mention of alternatives.

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

list_categoriesList categoriesA
Read-onlyIdempotent
Inspect

List the seven species groups with the label in the requested language and the species count. Call first to learn the valid category values.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoDisplay language.en

Output Schema

ParametersJSON Schema
NameRequiredDescription
categoriesYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, and the description adds real context: the result is a fixed set of seven groups with labels and counts. It does not mention the default-language behavior or result stability, but adds value beyond the annotations.

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?

Two short sentences, both earning their place: the first defines the output, the second gives the call-first directive. No filler or repetition of the name.

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?

An output schema exists, so return-value details are not needed in prose, and the description covers purpose, usage ordering, and language handling. Only minor gaps remain, such as what 'category' values look like, which the output schema presumably covers.

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 enum plus default are fully documented in the schema itself. The description only alludes to 'requested language,' adding no syntax or format detail beyond the schema, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb ('List') and resource ('the seven species groups') with scope (label in requested language plus species count). It is immediately distinguishable from sibling lookup/search tools like get_animal and search_animals.

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?

Explicitly directs the agent to 'Call first to learn the valid `category` values,' which gives a clear sequencing/precondition for the tool. It stops short of naming which sibling tools consume that category value or stating exclusions, so it is strong but not fully explicit.

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

list_countriesList countriesA
Read-onlyIdempotent
Inspect

List every ISO country code that carries observations with its species count.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
countriesYes

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful scope ('carries observations') and notes the returned species count, but it does not discuss pagination, ordering, or edge cases, so it adds moderate value beyond the annotations.

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?

The description is a single compact sentence that front-loads the action and resource. Every word contributes meaning, with no filler or redundant qualification.

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

Completeness5/5

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

For a zero-parameter, read-only listing tool with an output schema, the description is complete. It tells the agent exactly what is returned (ISO country codes with observations and species counts) and requires no further clarification for correct invocation.

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

Parameters4/5

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

The tool has zero parameters and the schema is empty, so there is no parameter burden for the description to carry. The baseline of 4 applies because no parameter documentation is needed.

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

Purpose5/5

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

The description uses a specific verb and resource: 'List every ISO country code' that has observations, and it clearly states the output includes a species count. This distinguishes it from siblings like get_animal and search_animals, which target different resources.

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

Usage Guidelines3/5

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

The description implies usage when a country-level overview of observations is needed, but it does not explicitly say when to prefer this over sibling tools or mention any exclusions. There is no direct routing to get_animal, list_categories, or search_animals.

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

search_animalsSearch animalsA
Read-onlyIdempotent
Inspect

Search species by free text in any of eight languages or by scientific name, with optional category, habitat and ISO country filters. Ranked by iNaturalist observations. One page of card-sized records.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree text, for example `red fox` or `Vulpes`.
perNo
langNoDisplay language.en
pageNo
countryNoISO 3166-1 alpha-2.
habitatNo
categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
perYes
pageYes
itemsYes
totalYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds real context beyond them: results are ranked by iNaturalist observations and returned as a single page of card-sized records, which tells the agent about ordering and pagination shape.

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 dense sentences, front-loaded with the search capability, then ranking, then result shape. No filler or restatement of the tool name.

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, return values need not be explained, and the description still usefully notes ranking and page size. The only gap is the interplay between per and page for pagination, though that is partially covered by the schema.

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

Parameters4/5

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

Schema description coverage is only 43%, so the description must compensate, and it does: it maps free text, language, scientific name, category, habitat and ISO country to the parameters. It does not explain the per/page sizes or limits, which remain only in the schema, so this falls just short of full compensation.

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

Purpose5/5

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

States a specific verb (search) and resource (species) plus the matching modes (free text in eight languages, scientific name) and filter dimensions. An agent can tell it apart from get_animal, list_categories and list_countries, which are single-item or enumeration lookups rather than searches.

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

Usage Guidelines3/5

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

Usage is implied by 'search ... with optional ... filters', and the sibling names make it inferable that this is the discovery entry point, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g. use get_animal once you have an id).

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedget_animal7 fields changed
      • changedOutput schema / properties / image / anyOf
        Previous value: -[
        -  {
        -    "description": "Photo credit. Check the licence and source before reuse.",
        -    "properties": {
        -      "author": {
        -        "description": "Credited author. Empty when the source gives no name.",
        -        "type": "string"
        -      },
        -      "license": {
        -        "enum": [
        -          "CC0",
        -          "Public domain",
        -          "Pexels License",
        -          "Pixabay Content License"
        -        ],
        -        "type": "string"
        -      },
        -      "source": {
        -        "description": "Photo source.",
        -        "enum": [
        -          "inaturalist",
        -          "commons",
        -          "gbif",
        -          "pexels",
        -          "pixabay"
        -        ],
        -        "examples": [
        -          "inaturalist"
        -        ],
        -        "type": "string"
        -      },
        -      "sourceUrl": {
        -        "description": "Page to link when you show it.",
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "url": {
        -        "format": "uri",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "url",
        -      "sourceUrl",
        -      "license",
        -      "author",
        -      "source"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "description": "Photo credit. Check the licence and source before reuse.",
        +    "properties": {
        +      "author": {
        +        "description": "Credited author. Empty when the source gives no name.",
        +        "type": "string"
        +      },
        +      "license": {
        +        "enum": [
        +          "CC0",
        +          "Public domain",
        +          "Pexels License",
        +          "Pixabay Content License"
        +        ],
        +        "type": "string"
        +      },
        +      "licenseUrl": {
        +        "description": "Licence terms or public-domain status guidance.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "source": {
        +        "description": "Photo source.",
        +        "enum": [
        +          "inaturalist",
        +          "commons",
        +          "gbif",
        +          "pexels",
        +          "pixabay"
        +        ],
        +        "examples": [
        +          "inaturalist"
        +        ],
        +        "type": "string"
        +      },
        +      "sourceUrl": {
        +        "description": "Page to link when you show it.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "url": {
        +        "format": "uri",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "url",
        +      "sourceUrl",
        +      "license",
        +      "author",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedOutput schema / properties / text / description
        Previous value: -"Wikipedia extract, CC BY-SA 4.0. Keep the credit and the source link."New value: +"Wikipedia excerpt. Keep attribution, licence and source links, changes and supplied notices. Check source article exceptions."
      • addedOutput schema / properties / text / properties / attribution
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / text / properties / changes
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / text / properties / license
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / text / properties / licenseUrl
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / text / properties / notice
        Added value: +{
        +  "type": "string"
        +}
  2. 2 tool updates
    • Changedget_animal10 fields changed
      • addedOutput schema / properties / image / anyOf
        Added value: +[
        +  {
        +    "description": "Photo credit. Check the licence and source before reuse.",
        +    "properties": {
        +      "author": {
        +        "description": "Credited author. Empty when the source gives no name.",
        +        "type": "string"
        +      },
        +      "license": {
        +        "enum": [
        +          "CC0",
        +          "Public domain",
        +          "Pexels License",
        +          "Pixabay Content License"
        +        ],
        +        "type": "string"
        +      },
        +      "source": {
        +        "description": "Photo source.",
        +        "enum": [
        +          "inaturalist",
        +          "commons",
        +          "gbif",
        +          "pexels",
        +          "pixabay"
        +        ],
        +        "examples": [
        +          "inaturalist"
        +        ],
        +        "type": "string"
        +      },
        +      "sourceUrl": {
        +        "description": "Page to link when you show it.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "url": {
        +        "format": "uri",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "url",
        +      "sourceUrl",
        +      "license",
        +      "author",
        +      "source"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / image / description
        Removed value: -"Photo credit. Check the licence and source before reuse."
      • removedOutput schema / properties / image / properties
        Removed value: -{
        -  "author": {
        -    "description": "Credited author. Empty when the source gives no name.",
        -    "type": "string"
        -  },
        -  "license": {
        -    "enum": [
        -      "CC0",
        -      "Public domain",
        -      "Pexels License",
        -      "Pixabay Content License"
        -    ],
        -    "type": "string"
        -  },
        -  "source": {
        -    "description": "Photo source.",
        -    "enum": [
        -      "inaturalist",
        -      "commons",
        -      "gbif",
        -      "pexels",
        -      "pixabay"
        -    ],
        -    "examples": [
        -      "inaturalist"
        -    ],
        -    "type": "string"
        -  },
        -  "sourceUrl": {
        -    "description": "Page to link when you show it.",
        -    "format": "uri",
        -    "type": "string"
        -  },
        -  "url": {
        -    "format": "uri",
        -    "type": "string"
        -  }
        -}
      • removedOutput schema / properties / image / required
        Removed value: -[
        -  "url",
        -  "sourceUrl",
        -  "license",
        -  "author",
        -  "source"
        -]
      • removedOutput schema / properties / image / type
        Removed value: -"object"
      • changedOutput schema / properties / obs / description
        Previous value: -"iNaturalist observation count. Drives the ranking."New value: +"iNaturalist observation count when available."
      • changedOutput schema / properties / obs / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
      • addedOutput schema / properties / sourceUrl
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • removedOutput schema / properties / taxonRank / enum
        Removed value: -[
        -  "species",
        -  "subspecies"
        -]
      • addedOutput schema / properties / tickable
        Added value: +{
        +  "description": "Whether a new checklist sighting is allowed.",
        +  "type": "boolean"
        +}
    • Changedsearch_animals4 fields changed
      • changedOutput schema / properties / items / items / properties / image / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • addedOutput schema / properties / items / items / properties / sourceUrl
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • removedOutput schema / properties / items / items / properties / taxonRank / enum
        Removed value: -[
        -  "species",
        -  "subspecies"
        -]
      • addedOutput schema / properties / items / items / properties / tickable
        Added value: +{
        +  "description": "Whether a new checklist sighting is allowed.",
        +  "type": "boolean"
        +}
  3. 3 tool updates
    • Changedget_animal4 fields changed
      • changedOutput schema / description
        Previous value: -"One species with every name, the full photo credit, a summary and country counts."New value: +"One animal taxon with every name, photo credit, summary and country counts."
      • changedOutput schema / properties / id / description
        Previous value: -"Slug of the species, for example `red-fox`."New value: +"Slug of the animal taxon, for example `red-fox`."
      • addedOutput schema / properties / parentNameSci
        Added value: +{
        +  "description": "Parent species scientific name for a subspecies. Null for species.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / taxonRank
        Added value: +{
        +  "default": "species",
        +  "description": "Taxonomic rank. Legacy records default to species.",
        +  "enum": [
        +    "species",
        +    "subspecies"
        +  ],
        +  "type": "string"
        +}
    • Changedlist_categories1 field changed
      • changedOutput schema / properties / categories / items / properties / total / description
        Previous value: -"Species in this category."New value: +"Catalog taxa in this category."
    • Changedsearch_animals4 fields changed
      • changedOutput schema / properties / items / items / description
        Previous value: -"Card-sized species record used by list and search answers."New value: +"Card-sized animal taxon used by list and search answers."
      • changedOutput schema / properties / items / items / properties / id / description
        Previous value: -"Slug of the species, for example `red-fox`."New value: +"Slug of the animal taxon, for example `red-fox`."
      • addedOutput schema / properties / items / items / properties / parentNameSci
        Added value: +{
        +  "description": "Parent species scientific name for a subspecies. Null for species.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / items / items / properties / taxonRank
        Added value: +{
        +  "default": "species",
        +  "description": "Taxonomic rank. Legacy records default to species.",
        +  "enum": [
        +    "species",
        +    "subspecies"
        +  ],
        +  "type": "string"
        +}
  4. 4 tool updates
    • First observedget_animal
    • First observedlist_categories
    • First observedlist_countries
    • First observedsearch_animals

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides information about animals at the Taipei Zoo, including their habits, habitats, and distribution across various park areas. It enables users to search for specific animals and browse regional guides using data from the Taipei City Open Data platform.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to resolve scientific names to Taxonomic Serial Numbers, traverse complete taxonomic lineages from kingdom to children, and retrieve vernacular names in all languages from an authoritative US-government taxonomy.
    13 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables searching RescueGroups.org for adoptable animals by species, postal-code radius, breed, and traits, and exploring the rescues/shelters that list them, including full details, photos, contact info, and adoption process.
    17 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.