Skip to main content
Glama
Ranch.Bot MCP Server

Ranch.Bot MCP Server

Official
by RanchBot

List animals

list_animals
Read-only

Retrieve and filter farm animal records by inventory status, farm, identifier, or name search; use pagination to browse current or historical cattle and sheep profiles.

Instructions

List current animals on the farm, optionally paginated. Select an inventory status or ALL to discover historical profiles. With a query, search saved identifiers and the current profile name: exact equality by default (case-sensitive), or explicit partial substring discovery.

Input Schema

NameRequiredDescriptionDefault
skipNo
takeNo
queryNo
farm_idNo
match_modeNo
identifier_typeNo
inventory_statusNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv0.2.0
    • addedInput schema / $schema
      Added value: +"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / farm_id / description
      Removed value: -"The ID of the farm (optional if a default is set)."
    • addedInput schema / properties / identifier_type
      Added value: +{
      +  "enum": [
      +    "BRAND",
      +    "EID",
      +    "MANAGEMENT_TAG",
      +    "NAME",
      +    "TATTOO"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / inventory_status / description
      Removed value: -"Defaults to CURRENT; ALL includes every nondeleted profile."
    • changedInput schema / properties / inventory_status / enum
      Previous value: -[
      -  "CURRENT",
      -  "UNKNOWN",
      -  "SOLD",
      -  "DECEASED",
      -  "ALL"
      -]New value: +[
      +  "CURRENT",
      +  "UNKNOWN",
      +  "SOLD",
      +  "DECEASED",
      +  "NOT_MANAGED",
      +  "ALL"
      +]
    • addedInput schema / properties / match_mode
      Added value: +{
      +  "enum": [
      +    "exact",
      +    "partial"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / query
      Added value: +{
      +  "type": "string"
      +}
    • removedInput schema / properties / skip / description
      Removed value: -"Records to skip (pagination)."
    • removedInput schema / properties / take / description
      Removed value: -"Max records to return."
  2. First observedv0.1.0

TDQS

A3.6/5.0
Behavior4/5

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

readOnlyHint already declares a safe read. The description adds genuine behavioral context beyond that: pagination is optional, the default match is exact and case-sensitive, partial matching is opt-in, and inventory_status ALL surfaces historical profiles. It omits auth/permission requirements and any rate limits.

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

Conciseness4/5

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

Three sentences, front-loaded with the core purpose, each adding distinct information. The final clause ('explicit partial substring discovery') is slightly dense but earns its place by defining match_mode behavior.

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

Completeness3/5

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

For a 7-parameter, zero-coverage, no-output-schema tool, the description covers the expressive parts (query, matching, status, pagination) but leaves farm_id and identifier_type unexplained. Return values need not be described since no output schema exists, so the main gap is parameter coverage.

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?

With 0% schema description coverage, the description must carry parameter meaning and it does for query, match_mode ('exact equality by default (case-sensitive), or explicit partial substring discovery'), and inventory_status. But farm_id, identifier_type, and the skip/take bounds are never explained, leaving three of seven parameters undocumented anywhere.

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+resource ('List current animals on the farm') and qualifies the scope with pagination and inventory-status options. It implicitly separates itself from lookup siblings like find_animal_by_identifier and get_animal, though it never names an alternative explicitly.

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?

Offers usage guidance for parameters ('Select an inventory status or ALL to discover historical profiles', 'With a query, search saved identifiers...'), which tells the agent how to drive the tool. However it never states when to prefer this over siblings such as find_animal_by_identifier or list_identifiers, leaving the routing decision to inference.

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

Deploy Server

Other Tools