Skip to main content
Glama
Ranch.Bot MCP Server

Ranch.Bot MCP Server

Official
by RanchBot

Create record

create_record

Create dated farm event records—feeding, health, movement, turnout, mating, breeding, or exposure—and attach them to animals or groups so they appear in herd history.

Instructions

Create a record (a dated event such as a feeding, health treatment, movement, or a turnout, mating, breeding or exposure observation) and attach it to animals and/or groups. A turnout, mating, breeding or exposure observation is an ordinary dated record — never a birth proposal and never offspring. Route it here with type GENETIC, preserving the producer’s facts, unknowns and attachments. For example: a ram joining a ewe is a GENETIC record; a ewe lambing twins is a propose_birth_event bundle. Always pass at least one resolved animal or group UUID — a record attached to nothing will not appear in any animal's history.

Input Schema

NameRequiredDescriptionDefault
nameYesShort name for the event.
typeYesThe kind of event. Use GENETIC for turnout, mating, breeding or exposure observations; FEED for feeding; HEALTH for health or condition; MOVEMENT for a move or pasture change; OTHER for a neutral stock check.
farm_idNoThe ID of the farm (optional if a default is set).
group_idsNoGroup UUIDs this record applies to.
animal_idsNoAnimal UUIDs this record applies to.
applied_atYesWhen the event occurred (ISO date/time).
descriptionNoOptional description of the record.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.2.0
    • changedInput schema / properties / type / description
      Previous value: -"The kind of event."New value: +"The kind of event. Use GENETIC for turnout, mating, breeding or exposure observations; FEED for feeding; HEALTH for health or condition; MOVEMENT for a move or pasture change; OTHER for a neutral stock check."
  2. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the write/non-destructive profile is covered. The description adds genuine non-annotation context: that an unattached record will not appear in any animal's history, and that producer-supplied facts, unknowns and attachments should be preserved. It does not mention permissions or how farm_id defaults, so it stops short of 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.

Conciseness4/5

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

The core purpose and the attachment constraint are front-loaded and the breeding-vs-birth example is a well-placed disambiguator. Slightly verbose: the clause about 'preserving the producer's facts, unknowns and attachments' is abstract and costs a sentence without adding actionable detail.

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?

For a 7-parameter, no-output-schema write tool, the description supplies the routing rules, the attachment precondition, and the failure mode of omitting attachments, which is enough to call it correctly. It leaves minor gaps such as whether farm_id falls back to a default farm and what the call returns, but nothing blocking.

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 baseline would be 3, but the description adds two things the schema does not: the semantic mapping of the type enum (GENETIC for turnout/mating/breeding/exposure) and the requirement that animal_ids/group_ids be non-empty despite both defaulting to []. The 'resolved UUID' phrasing also signals IDs must be looked up first.

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 ('create') plus the resource ('a record') and enumerates the concrete event kinds it covers (feeding, health treatment, movement, turnout/mating/breeding/exposure). It goes further than the name by clarifying that a breeding-type observation is a record rather than a birth event, which cleanly separates this tool from the propose_birth_event/preview_birth_event/confirm_birth_event siblings.

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

Usage Guidelines5/5

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

Explicit routing guidance: genetic/breeding observations go here with type GENETIC while 'a ewe lambing twins is a propose_birth_event bundle', naming the alternative and the condition that selects it. It also states a hard precondition ('Always pass at least one resolved animal or group UUID') and the consequence of ignoring it.

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