Skip to main content
Glama
moonlight-garden-handytools

moonlight-garden-handytools

by shikihuang04

Moonlight Garden Farm Brief

farm_brief
Read-onlyIdempotent

Consolidate repetitive Moonlight Garden chores by fetching a read-only summary of farm, coop, bee, pet, kitchen, festival, park, and fish status in one call; no actions or advice.

Instructions

Read and compress farm, watering, chicken, configurable cabbage-gap, bee-hive, bee-trip, and waiting-young state; pets/doorstep, all three kitchen jars (including empty IDs), brews, current festival, park plays/tickets and fish remaining casts/wallet/five bait IDs, names, unit prices and inventory. Queries farm/coop/bee/pet/kitchen/festival/park/fish status and fish shop only; never buys bait, fishes, tends pets, opens jars, plays park games or performs garden/bee actions, and never calls inventory list. pet status implicit overnight settlement is not yet confirmed. UTC checkedAt is an aggregation basis, not a simultaneous upstream snapshot; textual countdowns are approximate. maturesIfWateredPlotIds contains only 1–1800-second plots; also check watering cooldown. Bee backAt is null if upstream lacks an absolute time; backInText retains its countdown. Unknown jar scent stays unknown. Source failures omit the affected block and report errors, retaining other blocks. No action recommendations.

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior5/5

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

Beyond the annotations (readOnly/idempotent/non-destructive), the description discloses non-obvious behavior: overnight pet settlement is unconfirmed, UTC checkedAt is an aggregation basis rather than a simultaneous snapshot, textual countdowns are approximate, maturesIfWateredPlotIds only covers 1–1800-second plots, bee backAt can be null while backInText retains the countdown, unknown jar scent stays unknown, and source failures omit only the affected block. This is unusually rich disclosure for an annotated read tool.

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 core content is front-loaded, but the opening sentence is a single sprawling run-on enumerating nine state categories, which hurts scannability. The following caveat sentences each carry real information, but the overall structure is dense prose rather than cleanly separated blocks.

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?

With no output schema, the description carries the full burden and does so: it describes the returned blocks, the aggregation/timezone caveat, null-field handling, and partial-failure behavior. An agent has enough to know what it will receive and how to interpret edge cases.

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 takes zero parameters, so there are no argument semantics to explain; the baseline for a no-parameter tool is 4. The description does not need to add parameter meaning and correctly does not attempt to.

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 opens with a specific verb ('Read and compress') and enumerates the exact resource blocks covered (farm, watering, chicken, cabbage-gap, bee-hive, kitchen jars, festival, park, fish). An agent can tell it is a read-only aggregation tool, but it never names the sibling tools (daily_routine, fishing_trip) that overlap in scope, so differentiation relies on inference.

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?

It gives an explicit negative scope: 'never buys bait, fishes, tends pets, opens jars, plays park games or performs garden/bee actions, and never calls inventory list,' which rules out action tools and inventory listing. However it never states the positive 'use this when you need a consolidated status snapshot instead of X' condition, so the trigger is implied rather than stated.

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