Skip to main content
Glama
shikihuang04

moonlight-garden-handytools

by shikihuang04

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MOONLIGHT_GARDEN_MCP_URLYesRequired. The Moonlight Garden MCP address. Public addresses must use HTTPS.
MOONLIGHT_GARDEN_MCP_TOKENNoOptional. Bearer token for the connection, if required.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
daily_routineA

On invocation only, run three garden jobs and optionally fetch the latest 50 recipes, select the five highest sell_value recipes and update the local ledger. No bait purchase or fishing. The recipe fetch and ledger update share one configuration switch. UTC 00:00 daily idempotency preserves completed raw results; work_limit counts as already completed and continues to recipes. Any failure stops remaining steps and retains successes. Unknown action outcomes stop safely. The Agent must not choose a recovery option without the user's explicit decision.

farm_briefA

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.

recipe_checkA

Validate ledger recipes against live inventory and today's cooking quota; rank cookableNow and missingOne by valueAdded, max five each. Cooking wine brew_cooking_* and vinegar brew_sour_* count as ingredients; ordinary drinking wine does not. Upstream ingredient IDs match literally; Chinese names require unique authoritative name/ID mappings, never guessed meat IDs. Value added subtracts one unit's inventory sell_value per ingredient, not stock quantities or seed price. Missing prices return null and missingIngredientSellValueUnavailable status. Only if the ledger has no material-complete recipe, inspect the latest 50 with usedLatest50Fallback and per-candidate sources. Unresolved recipes return counts/name summaries, not long lists. canCookAnyNow also requires quota>0. Missing/invalid ledger, inventory or quota returns source errors, not fake empty candidates. It never cooks or sells, but the upstream inventory list may auto-claim pending gifts; claimed gifts are returned with a UTC receipt time.

fishing_tripA

ACTION TOOL: automatically spends moon to buy missing bait from the shop, then fishes. Five optional nonnegative integer cast counts: bread (小面包虫), moonworm (月光虫), stardust (星纹蚯蚓), moonhalo (月华饵), fullmoon (满月秘饵); omitted=0. All zero succeeds without queries, purchases or casts. Check live daily quota, bait stock, shop prices and wallet first; subtract held stock for each bait, SUM ALL missing-bait costs, and buy NOTHING/cast NOTHING if quota or the entire bill is insufficient. No separate purchase confirmation inside this tool. Complete all necessary purchases before casting, in fixed order fullmoon→moonhalo→stardust→moonworm→bread, one cast 1 per rod. Return confirmed quantities/costs and EVERY purchase/cast raw result (including empty casts or automatic fish sales when inventory is full). Empty casts also consume bait/quota. remainingCastCountBefore is PRE-execution quota, not remaining afterwards. purchaseTotalsComplete:false means totals include only confirmed purchases; unknown purchases may have spent moon. Any purchase or cast failure stops ALL remaining steps, retains successes, and identifies the failed bait/castNumber. Timeout/disconnect/unconfirmable response means outcome UNKNOWN, never automatic retry; inspect fish status/log before deciding a new invocation. No daily-once restriction; each invocation rechecks quota, with a local per-profile concurrency lock. No automatic scheduling or refunds.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation4/5

Each tool targets a different activity—automated daily routine, read-only status brief, recipe validation, and fishing—but daily_routine and recipe_check both interact with the recipe ledger and latest-50 recipes, creating some overlap. The descriptions are highly detailed and explicitly state exclusions, so an agent can usually distinguish them.

Naming Consistency5/5

All names are snake_case, two-word descriptive noun phrases (daily_routine, farm_brief, recipe_check, fishing_trip). There is no mixing of conventions or vague verbs; the pattern is consistent across the set.

Tool Count4/5

Four tools is a reasonable size for a focused handytools set, but the domain spans many game systems and each tool is overloaded with multi-step logic, so the surface feels slightly under-decomposed. Still within the healthy 3–15 range.

Completeness3/5

The surface covers status, daily routine, recipe checking, and fishing, but lacks explicit operations for cooking, selling, pet care, jar opening, park games, or inventory management. These are notable gaps for a game assistant, though daily_routine may cover some garden jobs.

Maintenance

ActivityMaintained
ResponsivenessResponsive