Skip to main content
Glama

Good Earth

Goodearth Wildlife Calendar

goodearth_wildlife_calendar

When the other creatures working your season arrive.

A farm is not only its crops. Robins arrive, woodchucks wake, squirrels start caching. The same drivers that time a crop time the animals — heat accumulation, day length, and the calendar the sun keeps — so they can be computed for your ground rather than read off a regional average.

Three clocks, because animals do not all run on one: a degree-day threshold, a photoperiod threshold (migration runs on this, which is why it barely moves between a warm year and a cold one), or a date from your own record.

The thresholds are yours. Good Earth works out when they arrive here; it does not publish natural history.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
npubNoRequired. Your Nostr public key (npub1...) for credit billing.
blockYesThe ground to answer for: a block you have saved — its id, its name, one of its aliases, or any part of its name that only one block has (e.g. "Meadow" for "Lower Meadow"). If several match, the error lists them with their ids. Blocks may overlap; each answers for its own ground. Save one with block_save first; geometry travels once, not on every call.
eventsYesThe events to time, with your own thresholds. Heat-driven: {"species": "Woodchuck", "event": "emergence", "driver": "heat", "gdd": 120, "base_temp": 43}. Daylight-driven: {"species": "Robin", "event": "first arrival", "driver": "daylight", "daylight_hours": 11.5, "rising": true}. From your own record: {"species": "Grey squirrel", "event": "nut caching", "driver": "calendar", "typical_on": "09-15"}. All accept an optional emoji and note.
dpop_tokenNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It does convey that the tool computes rather than publishes natural history, and that thresholds are user-supplied. However, it does not disclose error behavior (e.g., ambiguous block names listing matches), billing implications beyond npub, or what the output contains.

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

Conciseness3/5

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

The description is evocative and well-written but spends several sentences on natural-history framing before getting to the functional core. The 'Three clocks' paragraph is genuinely useful, but the opening two paragraphs could be compressed. It is not front-loaded with the operational purpose.

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?

Given the output schema exists and the input schema is detailed, the description covers the conceptual model well. It explains the three driver types, that thresholds are user-defined, and that results are computed for the user's ground. It does not mention error cases or the relationship to block_save, though the schema covers that.

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 coverage is 75%, and the description adds meaningful context for the events parameter by explaining the three driver types and giving concrete example objects. The block parameter's matching semantics (id, name, alias, partial name) are well explained in the schema itself. The description adds value by explaining why thresholds matter and how the three clocks differ.

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 explains the tool computes wildlife phenology timing for a specific ground using three driver types (heat, daylight, calendar), which distinguishes it from generic calendar tools. However, it never uses a direct verb like 'compute' or 'predict' in a single crisp sentence, and the poetic framing obscures the core function until the schema is read.

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?

The description explains the conceptual model (three clocks, thresholds are yours) and the schema clarifies that blocks must be saved first via block_save. It does not explicitly name sibling alternatives like goodearth_wildlife_catalog or goodearth_calendar_fetch, so an agent must infer when this tool is the right choice versus those.

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.