Skip to main content
Glama
ty-meador

civ-v-llm-harness

by ty-meador

purchase_cost

Determine the gold or faith cost to rush-buy a unit or building in a city and verify if it can be purchased before committing.

Instructions

Read-only: cost to rush-buy item (UNIT_.../BUILDING_...) with gold or faith right now, and whether it's actually purchasable. yield_type is "GOLD" (default) or "FAITH". Wonders (built via a BUILDING_* item too) are never purchasable in vanilla BNW -- can_purchase will read false. Check this before purchase_production. A refusal carries reason and, when the engine has one, engine_reason: the same sentence the production popup puts under a greyed-out purchase button.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemYes
city_idYes
yield_typeNoGOLD

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.11.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does it well: it self-declares read-only, describes what a refusal carries (`reason` and `engine_reason`), and warns that Wonders are never purchasable. Adding the engine_reason semantics is genuine context beyond structured fields, though it stops short of pagination/latency/other operational traits.

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?

Front-loads the key fact ("Read-only: cost to rush-buy...") before branching into details. Sentences are dense but each earns its place; the engine_reason sentence is slightly verbose but informative.

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?

No output schema exists, yet the description still explains the returns (cost, can_purchase) and the refusal shape (reason, engine_reason). Combined with the read-only declaration, an agent has enough to call it correctly, though city_id and any error/pagination behavior go unaddressed.

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 0%, so the description must compensate and largely does: it explains the item identifier format (UNIT_.../BUILDING_...) and the yield_type values (GOLD default or FAITH). Only city_id is left undocumented, which is a minor gap given its obviousness.

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 and resource: reports the rush-buy cost of an item and whether it is purchasable. It explicitly differentiates itself from the sibling purchase_production by telling the agent to check this first, so the agent can distinguish the two without opening either schema.

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?

Gives an explicit routing rule ("Check this before purchase_production") and a usage caveat (Wonders are never purchasable, so can_purchase reads false). It names the alternative but does not spell out when-not to call it in general terms, keeping it just short of 5.

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