Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.1.11

  • Disambiguation4/5

    Tools are mostly distinct with clear purposes, but there is some overlap among the four save-loading tools (load_save, load_game_save, load_save_from_menu, restart_and_load) which could confuse an agent. The advisor tools are similarly named (e.g., get_settle_advisor vs get_global_settle_advisor) but their descriptions clarify differences.

    Naming Consistency4/5

    The majority of tools follow a consistent verb_noun pattern (e.g., get_cities, set_production, propose_trade). However, a few tools like 'city_action', 'unit_action', and 'spy_action' deviate from this pattern, using noun_noun instead. This minor inconsistency prevents a perfect score.

    Tool Count2/5

    With 76 tools, the server far exceeds the typical recommended range for a single server. While Civilization 6 is a complex game with many mechanics, this many tools can overwhelm an agent and increase the risk of misselection. A more modular design with multiple servers might be better.

    Completeness5/5

    The tool set covers virtually all aspects of Civilization 6 gameplay: city management, unit commands, diplomacy, government, religion, great people, world congress, spies, and more. There are no obvious gaps; even edge cases like losing cities and disloyalty are handled. The inclusion of advisor tools further enhances completeness.

  • Average 4.4/5 across 76 of 76 tools scored. Lowest: 3.2/5.

    See the Tool Scores section below for per-tool breakdowns.

    • 1 of 4 community issues answered or closed in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    No annotations are provided, so the description must cover behavioral traits. It only states the action and requirement, omitting details like whether the appointment is reversible, any side effects, or error conditions. This is insufficient for a mutation 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 description is relatively short but uses a structured 'Args' format. It could be more concise by integrating the requirement into the main sentence. The examples are helpful but take up space.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity (1 param, no annotations, output schema exists), the description covers the essential input and prerequisite. However, it lacks details on outcomes, error handling, or how it relates to 'assign_governor'. It is minimally adequate but not comprehensive.

    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 single parameter 'governor_type' is a string with no enums in the schema. The description adds concrete examples (e.g., 'GOVERNOR_THE_EDUCATOR (Pingala)'), which significantly helps the agent understand valid values. This compensates for the schema's lack of constraints.

    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 clearly states 'Appoint a new governor' with specific verb and resource. It provides examples of governor types, making the purpose obvious. However, it does not differentiate from the sibling tool 'assign_governor', leaving potential ambiguity.

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

    Usage Guidelines3/5

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

    The description mentions a prerequisite ('Requires available governor points') and directs users to 'get_governors to see options', giving context. But it does not specify when not to use this tool or compare with alternatives like 'assign_governor'.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    No annotations exist, so the description must reveal behavioral traits. It discloses that the first switch is free (no anarchy), implying subsequent switches cause anarchy. However, it does not explain other consequences such as policy resets or prerequisites like required civics.

    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 description is concise at three sentences, with the purpose stated first, followed by parameter info, then a key behavioral note. Every sentence adds value without redundancy, making it efficient for an agent to parse.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the single parameter and existing output schema, the description covers the core functionality and the free-switch exception. However, it omits other side effects like policy resetting and prerequisites (e.g., unlocked civic), leaving some gaps in completeness.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, so the description must add parameter meaning. It names the parameter 'government_type' and gives two example values, which provides some context beyond the raw schema. However, it does not specify the full list of valid values or format constraints.

    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 clearly states the verb 'Switch' and the resource 'government type', making the purpose explicit. It provides examples of valid values (GOVERNMENT_CLASSICAL_REPUBLIC, GOVERNMENT_OLIGARCHY) and distinguishes from sibling tools like 'get_policies' and 'set_policies'.

    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 directly advises to 'Use get_policies to see current government', informing the agent when to use this tool versus a related sibling. It also describes a key condition: the first switch after unlocking a new tier is free, which guides usage timing.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

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

    With no annotations, the description carries full burden for behavioral disclosure. It mentions the prerequisite but omits consequences like consuming the Great Prophet, irreversibility, or what happens after founding. The action's side effects are not described.

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

    Conciseness5/5

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

    The description is extremely concise: three short sentences plus a bullet list of parameters. Every sentence adds unique information, and the key action is front-loaded. No wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity and lack of schema descriptions, the description is adequate but incomplete. It covers prerequisites and suggests a complementary tool, but does not explain the broader context (e.g., religion founding mechanics, what happens to the Great Prophet). Output schema exists but is not shown; it may compensate.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, so description compensates with examples for each parameter (e.g., 'RELIGION_HINDUISM') and directs the agent to get_religion_beliefs for full lists. This adds value but does not fully define the domain or constraints of each parameter.

    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?

    The description clearly states the action: 'Found a religion' with specific parameters (name, follower belief, founder belief). The verb 'Found' is precise and the tool's purpose is easily distinguishable from siblings like choose_pantheon or get_religion_beliefs.

    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 provides explicit prerequisites: 'Requires your Great Prophet to have already activated on a Holy Site' and suggests using get_religion_beliefs first to see options. This gives clear context for when to use the tool. However, it doesn't explicitly state when not to use it.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    Annotations already indicate readOnlyHint=true, so no contradiction. Description adds that it returns available units, buildings, and districts with costs, but no additional behavioral traits beyond that.

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

    Conciseness5/5

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

    Three short sentences, front-loaded with main action, no fluff. Every sentence adds value.

    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 simple single-parameter input and existence of output schema (not shown), description adequately explains return content (units, buildings, districts, costs). Could mention that the output schema provides full structure.

    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 has one parameter with zero description coverage. Description provides useful context: 'city_id: City ID (from get_cities output)', which adds meaning beyond the schema's type field.

    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?

    Description clearly states it lists what a city can produce, with specific verb 'list' and resource 'city production'. It does not explicitly distinguish from sibling set_city_production, but the read-only intent is implied.

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

    Usage Guidelines3/5

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

    Gives context for when to call ('when a city finishes building or to decide what to produce next'), but does not mention when not to use or alternatives like set_city_production.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    Annotations include readOnlyHint=true, so the description's 'get' confirms a read operation. It adds the radius constraint (default 2, max 4) but no other behavioral traits like performance or return format. No contradiction with annotations.

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

    Conciseness5/5

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

    The description is front-loaded with the purpose in one sentence, followed by a clear bulleted list of parameters. Every sentence is necessary and without waste.

    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 tool has an output schema, the description need not detail return values. It covers input parameters well, though it could mention radius range limits (max 4) for clarity.

    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 0%, so the description fully compensates by explaining all three parameters: center_x and center_y as coordinates, and radius with default and maximum. This adds meaning beyond the basic schema types.

    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?

    The description clearly states 'Get terrain info for tiles around a point,' providing a specific verb and resource. This distinguishes it from sibling tools like get_cities or get_strategic_map, which handle different data.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives (e.g., get_strategic_map). No exclusions or prerequisites mentioned.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

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

    No annotations are provided, so the description must disclose all behavioral traits. It mentions prerequisites but fails to describe the effects of forming an alliance (e.g., duration, benefits, reversibility), possible errors, or what the output contains. This leaves significant gaps for an agent making the call.

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

    Conciseness5/5

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

    The description is concise with a clear structure: a one-line purpose, then an Args: section listing parameters. Every sentence adds value, and there is no extraneous information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's moderate complexity (2 params, 1 required, has output schema), the description covers prerequisites and parameter guidance but lacks information about the output, success/failure behavior, and any side effects. With no annotations, this leaves the agent underinformed.

    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 add value. It clearly explains both parameters: other_player_id (source from get_diplomacy) and alliance_type (enumerates valid options). This is helpful, though it omits the default value of MILITARY already in schema.

    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?

    The description clearly states 'Form an alliance with another civilization,' which is a specific verb-resource pair. Among sibling tools, this tool is uniquely for forming alliances, distinguishing it from diplomatic actions like propose_peace or propose_trade.

    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 provides prerequisites ('declared friendship and Diplomatic Service civic') and recommends using get_trade_options to check eligibility. This gives clear guidance on when to use, though it does not explicitly state when not to use or list alternatives beyond the eligibility check.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true. Description adds valuable behavioral context: mentions that consumed units are excluded, and that id/idx are needed for actions. No contradictions.

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

    Conciseness5/5

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

    Two sentences with no waste. First sentence states main action and fields; second adds key details about identifiers and exclusion. Highly efficient and front-loaded.

    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?

    For a zero-parameter listing tool with an output schema, description sufficiently covers return fields and exclusion logic. Complete given the tool's simplicity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Input schema has zero parameters, so schema coverage is 100%. Description does not need to add parameter semantics, baseline score 3 is appropriate.

    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?

    Description clearly states the tool lists all units with specific fields (position, type, movement, health) and mentions exclusion of consumed units. It distinguishes from sibling tools that list other entities like cities or builder tasks, but does not explicitly differentiate from similar listing tools.

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

    Usage Guidelines3/5

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

    Implied usage: when unit information is needed, especially id/idx for action commands. No explicit guidance on when not to use or alternatives among siblings. The statement about consumed units helps understand scope.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavior. It only states the action ('choose') without detailing side effects (e.g., whether the dedication is locked in, if it can be changed later), error handling for invalid indices, or any consequences. The basic action is clear, but important behavioral traits are omitted.

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

    Conciseness5/5

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

    The description is extremely concise: three short sentences covering purpose, parameter, and prerequisite. No extraneous information; every sentence serves a clear purpose. The structure is front-loaded with the core action.

    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 simple one-parameter selection tool, the description covers the essential: what it does, the parameter's source, and the prerequisite. With an output schema present, return values are already defined. Minor gaps remain: no mention of success/failure outcomes or whether the action is repeatable.

    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 input schema provides no description for the 'dedication_index' parameter. The description adds critical context: 'The index of the dedication (from get_dedications output)'. This links the parameter to the sibling tool's output, aiding correct usage. However, it does not specify valid ranges or constraints.

    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?

    The description clearly states the verb ('Choose') and resource ('dedication/commemoration for the current era'). It distinguishes itself from the sibling tool 'get_dedications' (which lists options) by implying that this tool is for selecting after listing.

    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 explicitly advises to 'Use get_dedications first to see available options and their bonuses,' providing clear prerequisite guidance. It does not mention when not to use the tool or alternatives, but the context makes it unambiguous.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true. Description repeats read-only nature but adds no additional behavioral context (e.g., authentication needs, performance traits). No contradiction, but minimal added value.

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

    Conciseness5/5

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

    Two sentences, no wasted words. Front-loaded with the primary action, followed by a bullet list of what is shown. Efficient and well-structured.

    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, the description adequately covers what the tool provides without needing to detail return format. Slight gap: no mention of ordering or filtering, but sufficient for a simple info tool.

    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?

    No parameters exist, so schema coverage is 100% by default. The description does not need to add parameter information. Baseline 4 is appropriate as per guidelines.

    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?

    The description clearly states 'Get technology and civic research status' and details what is shown (current research, current civic, turns remaining, lists of available technologies and civics). This verb+resource pattern distinguishes it from sibling tools like get_policies or get_dedications.

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

    Usage Guidelines3/5

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

    The description implies usage for retrieving tech/civic status but provides no explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives among the many get_ siblings. Adequate but lacks differentiation.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

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

    No annotations provided, so the description must cover behavioral traits. It mentions requiring envoy tokens but does not disclose if tokens are consumed, effects, or side effects. Minimal disclosure for a tool with no safety annotations.

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

    Conciseness5/5

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

    Three concise sentences, front-loaded with purpose. No redundant information; every sentence adds value.

    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 tool's simplicity (single parameter) and presence of output schema, the description covers essentials. Lacks mention of return value, but schema handles that. Nearly complete for a straightforward action.

    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%, but the description adds meaning by explaining player_id is 'The city-state's player ID (from get_city_states),' linking to a prerequisite tool. This adds significant value beyond the raw schema.

    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?

    The description clearly states 'Send an envoy to a city-state,' which is a specific verb and resource. It distinguishes from sibling tools like send_diplomatic_action and form_alliance.

    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?

    Provides clear context: requires envoy tokens and suggests using get_city_states to see options. Lacks explicit 'when not to use' but sufficient for a simple tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, indicating a safe read operation. The description adds specific behavioral details (shows availability, cost, civilization), but does not disclose any additional traits beyond what annotations and the tool's purpose imply. With annotations present, the description adds moderate value.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the primary purpose, and contains no superfluous words. Every sentence adds value, making it highly concise and well-structured.

    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?

    Given zero parameters, readOnlyHint annotation, and the presence of an output schema (though not shown), the description is complete. It covers what the tool returns (available Great People, cost, civilization), leaving no gaps for a read-only listing tool.

    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 has zero parameters, and schema description coverage is 100% trivial. The description does not need to add parameter information because none exist. Baseline for 0 parameters is 4, indicating the description adequately handles the parameter aspect.

    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?

    The description clearly states the tool shows 'available Great People and recruitment progress', including specific details like recruitment cost and which civilization is recruiting. This is a specific verb ('shows') and resource ('Great People'), distinguishing it from sibling tools like 'recruit_great_person' or 'get_gp_advisor'.

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

    Usage Guidelines3/5

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

    The description implies usage for viewing Great People availability but does not explicitly state when to use this tool over alternatives like 'get_gp_advisor' or 'recruit_great_person'. No exclusions or guidance are provided, leaving the agent to infer context from tool names.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, making the read-only nature clear. The description adds useful context about the scope ('all visible cities') and the specific data returned (majority religion, follower counts, victory proximity), which goes beyond what annotations provide.

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

    Conciseness5/5

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

    The description is extremely concise—two sentences that front-load the main action and provide key details without extraneous words. Every sentence earns its place.

    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?

    Given that the tool has no parameters and an output schema exists, the description sufficiently covers what the tool does and what output to expect. It explains the breakdown content (majority, counts, victory), which is complete for a simple getter tool.

    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?

    There are no parameters in the input schema, so the description cannot add parameter-specific meaning. With zero parameters, the baseline is 4, and the description correctly avoids unnecessary detail.

    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?

    The description clearly states the tool retrieves a per-city religion breakdown across all visible cities, including majority religion, follower counts, and religious victory proximity. It uses a specific verb and resource, distinguishing it from other tools like get_religion_beliefs or get_cities.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like get_religion_beliefs or get_victory_progress. It does not mention prerequisites, limitations, or typical use cases.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It does not disclose side effects such as whether the trade is immediately executed, if it consumes the pending offer, or any relationship impacts. The description only states the basic function without behavioral details.

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

    Conciseness5/5

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

    The description is very concise: one sentence for purpose, two lines for parameters, and one sentence for prerequisite. No wasted words, and the most important information is front-loaded.

    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?

    Two simple parameters, an output schema exists (not shown but referenced), and the description covers the essential usage. Lacks details on potential errors or confirmation steps, but adequate for a straightforward accept/reject action.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Input schema has 0% description coverage, but the description compensates fully by explaining 'other_player_id' as the player ID from get_pending_trades and 'accept' as True/False for accept/reject. This adds crucial meaning beyond the raw schema types.

    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?

    The description clearly states 'Accept or reject a pending trade deal.' with a specific verb and resource, distinguishing it from sibling tools like 'propose_trade' (for proposing) and 'respond_to_diplomacy' (for diplomacy, not trades).

    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 explicitly instructs to 'Use get_pending_trades first to see what's being offered,' providing clear prerequisite usage. However, it does not mention when not to use this tool or alternatives like 'propose_trade' for initiating a trade.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    With no annotations, the description discloses that unlisted slots keep their current policy, NONE clears slots, and slot type constraints exist. However, it lacks information on prerequisites, side effects, or validation outcomes, which would be needed for full transparency.

    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 description is concise with a structured Args section and examples. It could be slightly more organized, but every sentence provides value.

    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 complexity of setting policies, the description covers format, slot types, and references get_policies. It does not mention prerequisites or validation, but an output schema exists to handle return values, so completeness is adequate.

    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 schema has 0% description coverage, but the description adds significant meaning: format, examples, NONE usage, and slot type rules. It compensates well, though it defers to get_policies for full details.

    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?

    The description clearly states the tool sets policy cards in government slots, with specific verb and resource. It distinguishes itself from the getter tools in siblings, especially get_policies.

    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 explicitly references get_policies for available policies and slot indices, and explains slot type constraints. It does not provide explicit when-not scenarios, but the context is clear enough for proper usage.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    With no annotations provided, the description must disclose all behavioral traits. It reveals that upgrading consumes movement and requires tech and gold, but omits other important aspects such as whether the old unit is replaced, the exact gold cost, or what happens if conditions are not met.

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

    Conciseness5/5

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

    The description is concise, using only two sentences plus an Args section. It is front-loaded with the core purpose and provides essential constraints in a structured format without extraneous information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given that an output schema exists, the description does not need to detail return values. However, it lacks information on error scenarios (e.g., insufficient gold), irreversible effects, or confirmation steps, which would improve completeness for a mutation tool.

    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 input schema only declares unit_id as an integer with no description. The tool description compensates by explaining that unit_id is 'the unit's composite ID (from get_units output)', providing crucial context beyond the schema.

    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?

    The description clearly states the tool's purpose: 'Upgrade a unit to its next type' with a concrete example (Slinger -> Archer). It distinguishes itself from the sibling tool 'promote_unit' by focusing on unit type upgrades rather than promotions.

    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 lists clear prerequisites: right technology, enough gold, and moves remaining. It also notes that movement is consumed. However, it does not explicitly mention when not to use this tool or suggest alternatives like 'unit_action' for more complex actions.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It mentions prerequisites but does not describe failure behavior (e.g., what happens if conditions aren't met), side effects, or return values. Some additional context on errors or state changes would improve transparency.

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

    Conciseness5/5

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

    The description is extremely concise: two sentences plus an args line. Every sentence adds value, and the key information (purpose, prerequisite, preparation) is front-loaded without any fluff.

    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 simple 1-parameter tool with an output schema, the description covers the main action, prerequisites, and gives example inputs. It does not explain what happens on failure, but overall it is sufficient for the complexity level.

    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 schema has no description for belief_type (coverage 0%), but the description provides example values (e.g., BELIEF_GOD_OF_THE_FORGE, BELIEF_DIVINE_SPARK), adding meaningful guidance beyond the schema.

    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?

    The description clearly states the tool's purpose: to found a pantheon with a specified belief. It uses a specific verb (found) and resource (pantheon), and the action is distinct from siblings like found_religion or get_pantheon_beliefs.

    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 advises using get_pantheon_beliefs first and lists prerequisites (enough faith, no existing pantheon). It does not explicitly say when not to use or mention alternative tools, but the guidance is clear and helpful.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    Discloses the action type (dismissing popups) but lacks details on behavior when no popup exists, potential side effects, or error handling. With no annotations, more clarity would improve this.

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

    Conciseness5/5

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

    Two sentences, front-loaded with action and clear trigger. No extraneous information.

    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?

    Simple action with output schema present (though not detailed), description sufficiently covers usage context. Additional detail on return value could slightly improve.

    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?

    Tool has zero parameters; schema coverage is 100%. Description appropriately doesn't add parameter details as they are unnecessary. Baseline score of 4 applies.

    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?

    The description uses specific verb 'dismiss' and resource 'blocking popup', clearly distinguishing it from sibling tools that involve other game actions.

    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?

    Provides explicit trigger condition ('if you suspect a popup is blocking interaction') with examples, but does not mention when not to use or alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It indicates a write action ('Apply') but does not disclose effects (e.g., consumes promotion charge, permanence) or what the output contains. The presence of an output schema helps, but the description itself is minimal.

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

    Conciseness5/5

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

    The description is concise (4 lines) and well-structured with clear bullet-like listing of arguments. Every sentence adds value without repetition.

    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 tool's simplicity (2 params, output schema exists), the description covers purpose, usage guidelines, and parameter semantics adequately. It could mention the output schema's role, but the guidelines state that's not required. Overall, it is fairly complete.

    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?

    With 0% schema description coverage, the description compensates by explaining unit_id as coming from get_units output and provides examples for promotion_type. It adds value beyond the raw schema, though it could specify the format of the composite ID.

    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?

    The description clearly states the verb 'Apply' and the resource 'promotion to a unit', and it distinguishes the tool from siblings like get_unit_promotions (which lists options) and upgrade_unit (different action).

    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 explicitly says 'Use get_unit_promotions first to see available options', providing a prerequisite and context for when to use this tool. It also implies unit_id comes from get_units, but does not explicitly state when not to use alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It discloses immediate gold/faith cost, but lacks details on error handling (e.g., insufficient resources), reversibility, or permission requirements. The behavioral disclosure is adequate but incomplete.

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

    Conciseness5/5

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

    The description is concise: a one-sentence summary followed by a brief list of args, then behavioral note and suggestion. No redundant information, and the key purpose is front-loaded.

    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 presence of an output schema (not needed to explain return values), the description covers parameter meanings, cost, and a useful prerequisite. Missing is the behavior on failure (insufficient resources) or validation of item_name/type. Still, it is largely complete for a 4-param tool with output schema.

    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 has 0% description coverage, so the description is the sole source of parameter meaning. It explains all four parameters: city_id (from get_cities), item_type (UNIT/BUILDING), item_name with examples, and yield_type with default. This adds significant value beyond the schema.

    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?

    The description clearly states the tool purchases a unit or building instantly with gold or faith. It distinguishes from siblings like purchase_tile (tiles) and upgrade_unit (upgrades), and provides specific resource context.

    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 advises using get_city_production to see available items, which is a clear prerequisite. However, it doesn't explicitly contrast with alternatives like purchase_tile or upgrade_unit, or state when not to use the tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations already mark the tool as read-only. The description adds behavioral context: it shows warnings for cities losing loyalty with flip timers. This goes beyond the annotation, but does not detail other behaviors like output format (though output schema exists).

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

    Conciseness5/5

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

    Two sentences, each earning its place. First sentence states the main purpose and lists attributes. Second sentence adds key detail about id usage and loyalty flip timers. No fluff, perfectly sized.

    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?

    Given the tool has no parameters, an output schema exists, and the description covers the core information (list of cities with key attributes and id usage), it is fully complete. The agent has enough context to use the tool correctly.

    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 input schema has zero parameters, so the description's job is minimal. Baseline is 4 as per rules. The description adds value by explaining what the returned data contains (e.g., yields, id, loyalty warnings), which helps the agent understand the output without parameter semantics needed.

    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?

    The description clearly states it lists all cities with specific attributes (yields, population, production, growth, loyalty). It distinguishes itself by noting the city id is needed for production commands, implying this is the primary city overview tool among siblings like get_city_production.

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

    Usage Guidelines3/5

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

    The description implicitly guides by stating the city id is needed for production commands, but lacks explicit when-to-use vs alternatives like get_city_production or get_city_states. No direct exclusions or context for when not to use this tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations include readOnlyHint=true, and the description adds behavioral context: it shows current government, each policy slot with type and current policy, and unlocked policies grouped by slot type, plus wildcard slots behavior. No contradictions.

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

    Conciseness5/5

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

    Three sentences, front-loaded with main purpose, then clarifying details. No wasted words.

    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?

    Given no parameters and existence of an output schema, the description fully explains what the tool retrieves. It covers all three aspects (government, slots, policies) and notes wildcard behavior.

    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?

    No parameters in input schema, so description doesn't need to cover them. It adds value by explaining what the output contains (government, slots, policies). Baseline for 0 params is 4, and description meets that.

    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?

    Description clearly states what the tool returns: government, policy slots, and available policies. It distinguishes from sibling tools like set_policies and other get_* tools by focusing specifically on policies.

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

    Usage Guidelines3/5

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

    Implied usage: use when you need policy information. No explicit when-to-use or alternatives are given, but it's clear among the many get_* siblings.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, consistent with listing. The description adds behavioral context: it shows cost, terrain, and resources, and that tiles with luxury/strategic resources are listed first. This disclosure of ordering and content details goes beyond the annotations.

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

    Conciseness5/5

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

    The description is concise (3 sentences) and front-loaded with the core purpose. It then lists arguments, output details, and ordering. Every sentence adds value with no redundancy or waste.

    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?

    For a simple list tool with one parameter and an output schema (implied by context), the description covers what the tool does, its input, and what information is returned (cost, terrain, resources, ordering). This is complete for the tool's complexity.

    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 input schema has 0% description coverage for the city_id parameter. The description adds meaningful context: 'City ID (from get_cities)', explaining the origin and type of the parameter, which compensates for the lack of schema-level documentation.

    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?

    The description clearly states the tool lists tiles a city can purchase with gold, using a specific verb 'list' and resource 'tiles a city can purchase'. It distinguishes from siblings like purchase_tile (which actually buys) and get_cities (which provides city IDs).

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

    Usage Guidelines3/5

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

    The description specifies the required argument (city_id) and notes it comes from get_cities, implying a prerequisite. However, it does not explicitly state when to use this tool vs alternatives (e.g., purchase_tile or other listing tools), nor does it provide when-not to use.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    ReadOnlyHint annotation already marks it as safe. Description adds useful context about specific data shown (capacity, active routes, trader status) beyond annotations.

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

    Conciseness5/5

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

    Two clear sentences, front-loaded with action, no redundancy.

    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?

    Despite no parameters and having output schema, description adequately covers the main outputs (routes, capacity, traders). Complete for a simple retrieval tool.

    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?

    No parameters, so description needs no parameter info. Baseline 4 applied as schema coverage is 100% (vacuously).

    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?

    Clearly states it retrieves trade route capacity, active routes, and trader status. Specifies details like active vs capacity and trader positions/idle status, distinguishing from siblings like get_trade_destinations.

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

    Usage Guidelines3/5

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

    Implied usage for checking trade route status, but no explicit when-to-use or alternatives mentioned among sibling tools.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    Without annotations, the description reveals that promoting consumes governor points, which is a key behavioral trait. However, it doesn't mention error conditions (e.g., insufficient points) or other side effects, leaving room for more transparency.

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

    Conciseness5/5

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

    Purpose is front-loaded in the first sentence. The Args section is bullet-like and efficient. Every sentence serves a purpose with no wasted words.

    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?

    Simple tool with 2 required params and no enums. Description covers how to obtain parameter values and a prerequisite (governor points). Output schema exists (per context signals) so return values don't need explanation. Adequate for the tool's complexity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema has no descriptions (0% coverage). The description compensates fully by explaining that 'governor_type' comes from get_governors output and 'promotion_type' from the same source, shown under each governor. This adds essential meaning beyond the schema's titles.

    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?

    Description clearly states 'Promote a governor with a new ability.' Verb 'promote' and resource 'governor' are specific, and the action is distinct from sibling tools like 'appoint_governor' or 'assign_governor'.

    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?

    Explicitly states requirement of governor points and directs user to 'get_governors' to see available promotions. Provides clear context for when to use, though no explicit when-not or alternatives beyond referencing sibling tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    Without annotations, the description carries the burden. It discloses the 'test' mode behavior and gold-per-turn duration, but does not mention whether a trade sent via 'send' mode is always accepted or if the AI can reject it.

    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 description is relatively long but well-structured: a one-sentence purpose, then parameter explanations, then examples. It is front-loaded and each part adds value, though some details could be trimmed.

    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?

    Given 13 parameters and no schema descriptions, the description covers all aspects: where to get the player ID, how to use each parameter, the 'test' vs 'send' modes, and provides concrete examples. It is complete enough for an agent to use correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description fully explains all 13 parameters, including defaults and examples (e.g., gift 100 gold, trade silk for 3 gpt). This provides essential meaning beyond the schema titles.

    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?

    The description clearly states 'Propose a trade deal to another civilization', specifying the verb and resource. It distinguishes from siblings like 'respond_to_trade' and 'get_pending_trades' by focusing on initiating a deal.

    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 when to use 'test' mode to preview AI counter-offers before committing with 'send' mode. It implies the player ID comes from get_diplomacy output, but does not explicitly state when not to use the tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    No annotations provided, so description carries full burden. Discloses automatic detection and closing of goodbye-phase sessions, and explains the multi-round nature. Lacks mention of potential errors but covers key behavior.

    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-loaded with purpose, then argument details, then behavioral notes. No redundant sentences. Could slightly tighten phrasing but overall efficient.

    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?

    With two required params, no schema descriptions, and no annotations, the description adequately covers the multi-round workflow, automatic session closing, and return value indicator. Missing details on error handling but acceptable.

    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?

    Adds meaning beyond bare schema: specifies other_player_id as coming from get_pending_diplomacy, and defines response values as 'POSITIVE (friendly) or NEGATIVE (dismissive)'. Schema had 0% description coverage, so this is essential.

    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?

    Clearly states 'Respond to a pending diplomacy encounter' with specific verb and resource. Distinguishes from sibling tools like propose_peace and form_alliance by focusing on pending encounters.

    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?

    Provides explicit usage context: 'First meetings typically have 2-3 rounds' and 'If SESSION_CONTINUES is returned, send another response.' Also references get_pending_diplomacy for the player ID.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    No annotations, so description carries full burden. Discloses that target_x/y required for districts and suggests get_district_advisor. Missing details on side effects, error behavior if coordinates are wrong, or whether it can set wonders. Adequate but not comprehensive.

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

    Conciseness5/5

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

    Concise: one-line purpose, bulleted args, helpful tip. Every sentence adds value. Well-structured and front-loaded.

    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?

    Covers core usage and typical workflow (get_cities, get_district_advisor). Output schema exists, so return format is documented. Missing details like case sensitivity of item_type or behavior if coordinates omitted for districts. Nearly complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage 0%, so description adds essential meaning. Explains city_id source, gives enumerations for item_type and item_name, and clarifies target_x/y usage. Greatly enhances schema.

    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?

    Starts with 'Set what a city should produce' clearly stating verb and resource. Args list and sibling differentiation (get_city_production, set_city_focus) confirm distinct purpose.

    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?

    Provides tip to call get_cities first and notes when target_x/y are required (districts). However, no explicit guidance on when not to use this tool versus alternatives like set_city_focus.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    No annotations provided, so description must disclose behavior. It explains what the tool does and provides example values, but does not mention expected output, side effects, or game-state requirements. The presence of an output schema is not leveraged for transparency.

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

    Conciseness5/5

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

    Very concise: one sentence for purpose, two lines for arguments, and a tip. No extraneous text. Purpose is front-loaded, making it easy to scan.

    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?

    Simple tool with two parameters. The description covers usage and parameter semantics adequately. Could mention the output or confirm if it modifies game state, but given the output schema exists, it is mostly complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description fully compensates by explaining both parameters, including example values (TECH_POTTERY) and default value for category, adding meaning beyond the raw schema types.

    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?

    The description clearly states the verb 'Choose' and the resource 'a technology or civic to research', distinguishing it from sibling tools that are primarily getters (e.g., get_tech_civics) or other setters (set_city_focus, etc.).

    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?

    Includes a tip to call get_tech_civics first, guiding the agent to necessary prior step. Does not explicitly state when not to use or contrast with alternatives, but the purpose and context make usage clear.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    No annotations provided, but description discloses that assignment takes several turns and requires an appointed governor. No contradictions.

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

    Conciseness5/5

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

    Description is extremely concise, using three sentences with a list of arguments. Front-loaded with 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 tool's simplicity and presence of output schema, description covers prerequisites and timing. Does not describe return value, but output schema handles 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 0%, so description adds meaning by stating parameter origins: 'from get_governors output' and 'from get_cities output'. This helps agent locate valid values.

    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?

    Description clearly states action: 'Assign an appointed governor to a city.' It distinguishes from siblings like 'appoint_governor' and 'promote_governor'.

    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?

    Specifies prerequisites ('Governor must already be appointed') and side effect ('Takes several turns to establish'). Does not explicitly state when not to use, but enough context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses key behaviors: attack range, prerequisites, and the special handling of city_id for decisions. It could mention more edge cases (e.g., error conditions), but is largely transparent.

    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 description is well-structured with sections (Args, For attack, For captured/disloyal) and bullet-like formatting. It is informative without excessive verbosity, though some repetition could be trimmed.

    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 tool's complexity (multiple action types, conditional parameters, ignored city_id) and the presence of an output schema, the description covers essential use cases. It lacks guidance on failure scenarios but is otherwise complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, so the description must define parameters. It explains city_id source, action list with meanings, and target_x/y as coordinates required for attack. This adds significant value beyond the schema's minimal type definitions.

    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?

    The description clearly states 'Issue a command to a city' and enumerates specific actions (attack, keep, reject, etc.), establishing a distinct verb+resource purpose. It differentiates from sibling tools like get_cities (read-only) and set_city_focus (different command).

    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 provides clear context for when to use each action (e.g., attack requires walls, not fired; decisions ignore city_id for pending cities). However, it does not explicitly state when not to use the tool or mention alternatives among siblings.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    The description indicates the tool is an estimate and returns specific data, aligning with the readOnlyHint annotation. It adds value by detailing return information (estimated turns, path length, reachable tiles), which is beyond the annotation's scope.

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

    Conciseness5/5

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

    The description is concise: a one-line summary followed by clear parameter explanations and return value mention. Every sentence is informative with no wasted words, and the structure is front-loaded.

    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 tool's simplicity (3 required parameters of simple types, no enums) and the presence of an output schema, the description covers the essential aspects. It names the return fields, which suffices since the output schema provides full details.

    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?

    With 0% schema coverage, the description explains all three parameters with meaningful context. Notably, it clarifies that unit_id is a composite ID from get_units output, adding valuable guidance beyond the schema's type and title.

    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?

    The description clearly states 'Estimate how many turns a unit needs to reach a destination', which is a specific verb+resource combination. It uniquely identifies the tool among siblings, as no other tool estimates pathing.

    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 implicitly suggests usage for planning unit movement before executing, and references get_units output for unit_id. However, it does not explicitly state when not to use it or mention alternatives, but no similar tools exist.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true. Description adds value by detailing return content: 'any open sessions with their dialogue text, visible buttons, and response guidance.' No contradictions.

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

    Conciseness5/5

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

    Three sentences: purpose, usage, return. No wasted words. Front-loaded with key info.

    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?

    Tool has 0 parameters, output schema exists, annotations present. Description covers purpose, usage, and return. Minor omission: what happens if no pending diplomacy? Still nearly complete.

    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?

    No parameters, so schema coverage is 100% trivially. Baseline 4 applies; description doesn't need to add parameter info.

    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?

    Clearly states 'Check for pending diplomacy encounters' with a concrete example ('first meeting with a civ'). Distinguishes from sibling tools like get_diplomacy and respond_to_diplomacy by focusing on pending encounters that block turns.

    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?

    Explicitly tells when to use: 'Call this if end_turn reports the turn didn't advance.' Provides clear usage context but doesn't explicitly mention when not to use or list alternative tools.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations indicate readOnlyHint=true, and the description adds that the tool shows domestic and international destinations. This is consistent and provides useful behavioral context beyond the annotation. No contradictions.

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

    Conciseness5/5

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

    The description is extremely concise, with three sentences that front-load the purpose and efficiently cover usage, parameter, and follow-up action. Every sentence earns its place.

    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 (so return values are documented), the description adequately covers the input parameter, scope (domestic/international), and next steps. It could mention edge cases (e.g., no movement points), but for a simple list tool it is sufficient.

    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?

    With 0% schema description coverage, the description fully explains the lone parameter unit_id as 'The trader's composite ID (from get_units output)', adding essential meaning that the schema lacked.

    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?

    The description clearly states the tool lists valid trade route destinations for a trader unit, specifying both domestic and international options. The verb 'List' and resource 'trade route destinations' are specific. It distinguishes from related tools like get_trade_options and get_trade_routes by focusing on valid destinations for a given trader unit.

    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 when to use the tool (to see destinations for a trader) and provides follow-up instructions (use unit_action to start a route). It does not explicitly mention when not to use it or compare with siblings, but the context is clear.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    The description adds significant context beyond the annotations, detailing the dual loading methods (Lua vs OCR), time estimates, and file existence verification. This helps the agent understand behavior and potential delays.

    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 description is well-structured with an Args section and clear behavioral breakdown, though it is slightly verbose. Every sentence adds value, but could be tightened slightly for brevity.

    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 presence of an output schema and the tool's simplicity (single parameter), the description covers the input, loading behavior, and fallback strategy adequately. It does not explain return values or error handling, but these are likely in the output schema.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Despite 0% schema description coverage, the description provides comprehensive guidance on the sole parameter 'save_name', including examples, format (without extension), and typical values. This fully compensates for the missing schema descriptions.

    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?

    The description uses a specific verb ('Load') and resource ('save file by name'), and clearly distinguishes itself from siblings like list_saves, load_save, and load_save_from_menu by stating 'No need to call list_saves first'.

    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 gives clear context for when to use this tool ('No need to call list_saves first'), explains the loading methods and time estimates, but does not explicitly state when not to use it or list alternatives beyond the sibling tools.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Discloses time estimate (30-90 seconds), use of macOS Vision OCR, and that it's destructive (consistent with destructiveHint annotation). Adds useful behavioral context beyond the annotation.

    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?

    Structured with Args, requirements, and post-step. Compact but informative. A minor improvement could be integrating the pyobjc install note elsewhere.

    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?

    Covers prerequisites, time, method, and follow-up. Output schema exists, so return values are not needed. Adequate for the tool's complexity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The single parameter save_name is well-explained with an example and default behavior (loads most recent autosave). This adds meaning beyond the schema's optional string definition.

    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?

    The description clearly states the action (navigate main menu to load a save via OCR-guided clicking) and distinguishes from other load tools like load_save by specifying the menu-based approach.

    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?

    Provides explicit prerequisites: game running and at main menu. Also gives post-load guidance to call get_game_overview. However, no direct exclusions or alternatives mentioned.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    No annotations provided, so description carries full burden. Clearly describes a read-only operation returning era age and dedication details. Does not mention side effects or permissions, but as a getter this is sufficient.

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

    Conciseness5/5

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

    Three concise sentences with front-loaded main purpose. Every sentence adds value and no wasted words.

    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?

    Given no parameters and an output schema (assumed present), the description fully covers return values: era thresholds, age type, and dedication bonuses. Complete for a simple info tool.

    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?

    No parameters; schema coverage is 100%. Baseline for 0 parameters is 4. Description adds no parameter info but none is needed.

    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?

    The description clearly states it retrieves current era age, available dedications, and active ones. It distinguishes from the sibling tool 'choose_dedication' by explicitly noting that tool is for selection.

    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?

    Provides clear context on what information is revealed and explicitly mentions when to use the sibling 'choose_dedication' for selection. Lacks explicit when-not-to-use guidance, but the use case is straightforward.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    The annotations already indicate readOnlyHint=true, so the description adds value by disclosing that the tool auto-detects the current game from the live connection and that each game has its own diary file. It does not describe potential empty returns, but the core behavioral traits are well covered.

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

    Conciseness5/5

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

    The description is concise yet comprehensive. It begins with a clear purpose statement, followed by a structured parameter list with explanations, and ends with additional context about auto-detection and per-game files. Every sentence is informative and earns its place.

    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 tool has 4 parameters and an output schema, the description provides sufficient context about what the tool does and when to use it. It explains the diary file structure but does not detail the return format or behavior for missing entries. However, the output schema likely covers the return structure, so the description is adequately complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has 0% description coverage, but the description compensates thoroughly by explaining each parameter: last_n (default 5, max 50, used when turn/range not specified), turn (single entry), from_turn, and to_turn. It clarifies usage conditions, adding significant meaning beyond the schema's type and default declarations.

    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?

    The description clearly states the tool reads diary entries for game memory, specifying the verb 'Read' and the resource 'diary entries'. It distinguishes from sibling tools by being a read-only getter for game memory, which contrasts with action tools like appoint_governor or change_government.

    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 provides explicit usage guidance: 'Call this at the start of a session or after context compaction to restore strategic memory from previous turns.' It also explains auto-detection of the current game. While it does not explicitly exclude alternative tools or give when-not-to-use, the context is clear for a read-only memory retrieval tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations declare readOnlyHint=true, and the description confirms read-only behavior by stating it 'shows' and 'returns' data. It adds that the return is 'valid placement tiles ranked by adjacency bonus', which provides behavioral context beyond the annotation. No contradictions.

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

    Conciseness5/5

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

    Three sentences: purpose, args, return/usage. Every sentence adds value. No fluff. Front-loaded with the main purpose.

    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?

    Given the tool is read-only with two parameters and an output schema, the description covers what it does, parameters, return value, and next step. It is fully adequate for an agent to use correctly.

    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?

    With 0% schema description coverage, the description adds critical meaning: city_id is from get_cities, district_type examples are given (DISTRICT_CAMPUS, etc.). This compensates for the lack of schema descriptions, though it could include more format details.

    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?

    The description clearly states the tool shows best tiles for district placement with adjacency bonuses. It specifies the resource ('best tiles'), action ('show'), and criteria. The verb 'Show' is specific and the resource is distinct from sibling advisors.

    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 explicitly tells when to use the tool (for district placement advice) and provides a follow-up action ('Use set_city_production...'). It does not explicitly mention when not to use it or alternative tools, but the context of sibling names makes it clear. The guidance is strong.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    In absence of annotations, description discloses key behaviors: lists cities with matching district, distance, yield, and great work slot availability. Ranking mentioned but not detailed; non-destructive implied.

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

    Conciseness5/5

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

    Two concise paragraphs, first sentence encapsulates purpose, Args line specifies input, then details output content. No wasted words.

    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?

    With output schema present, description covers input, purpose, and key output aspects. Could mention that GP must be owned, but adequate for a single-param tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Adds critical context for unit_index parameter: 'from get_units output', which schema alone (integer) does not provide. Schema coverage 0% makes description essential.

    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?

    Description clearly states verb 'Show' and resource 'best cities to activate a Great Person', ranked by suitability. Distinct from sibling tools like get_cities and get_district_advisor.

    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?

    Implicitly guides usage by requiring unit_index from get_units output, and lists what information is shown. Lacks explicit alternatives or when-not-to-use, but clear enough for agent.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, and the description aligns by noting it can be called 'without ending the turn.' Additionally, it adds context that action-required items include tool recommendations, which is valuable behavioral info not captured by annotations.

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

    Conciseness5/5

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

    The description is concise with three sentences: first states purpose, second elaborates notification types, third provides usage guidance. No redundant words, and important details are front-loaded.

    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?

    Given the tool is simple (no params, read-only, with output schema), the description covers all necessary context: what it returns (active notifications, types), and that it's safe to call (without ending turn). The output schema handles return value details.

    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 has zero parameters, and schema description coverage is 100%. Per guidelines, the baseline is 4 for zero-parameter tools. The description does not need to add parameter information, but it also does not detract.

    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?

    The description clearly states it 'Get all active game notifications' and distinguishes between action-required and informational types. It also specifies that action-required items include which MCP tool to use, making it specific and differentiating from sibling 'get' tools like get_pending_trades.

    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 provides explicit usage context: 'Call this to check what needs attention without ending the turn.' This implies it's safe to call anytime, but does not explicitly list alternatives or when not to use. However, the context is clear enough for an AI agent to understand its primary use.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true. Description adds that it shows offers and demands but doesn't elaborate further on behavior beyond the annotation.

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

    Conciseness5/5

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

    Two sentences, front-loaded with purpose, no wasted words.

    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?

    Tool has output schema, so return values are covered. Description is complete for a simple read-only listing tool with good annotations.

    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?

    No parameters, schema coverage 100%. Baseline is 4; description adds no parameter info, but none is needed.

    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?

    Description uses specific verb 'Check' and resource 'pending trade deal offers from other civilizations'. Clearly distinguishes from siblings like respond_to_trade.

    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?

    Explicitly states what the tool shows and directs to respond_to_trade for accepting/rejecting, providing clear guidance on when to use this vs. alternative.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations declare readOnlyHint=true. Description adds behavioral details: scores by yields, water, defense, resource value, and returns top 5 sorted, which is useful beyond annotations.

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

    Conciseness5/5

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

    Three concise sentences front-load purpose, then args, then scoring/output. No wasted words; every sentence adds value.

    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 output schema exists, description needn't detail return structure. It covers input origin, scoring criteria, and output count. Missing edge cases like empty results, but overall complete for a simple tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description fully compensates by explaining unit_id is the settler's composite ID from get_units output, adding crucial context not in the schema.

    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?

    The description clearly states it lists best settle locations near a specific settler unit, using specific verb 'List' and resource. It distinguishes from its sibling get_global_settle_advisor by focusing on a single unit.

    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 gives context: unit_id from get_units output. It does not explicitly mention when not to use or alternatives, but the sibling list implies get_global_settle_advisor for global queries.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations provide readOnlyHint=true, which the description confirms by saying 'See what both sides can trade'. The description adds value by specifying the types of information shown (gold, resources, etc.), which is not in annotations. No contradictions; all behavioral traits disclosed are consistent.

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

    Conciseness5/5

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

    Four short sentences plus an Args line, front-loaded with the main purpose. Every sentence adds value; no fluff or redundancy. The structure is logical: purpose, argument, return details, usage hint.

    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?

    Given the simple single-parameter nature and existence of an output schema, the description covers all needed context: what the tool does, what it shows, how to use it. It's complete for an agent to invoke correctly without additional information.

    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?

    Input schema has 0% description coverage, but the tool description fully explains the parameter's meaning and source ('The player ID (from get_diplomacy output)'). This compensates for the schema gap and adds critical context for the agent.

    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?

    Description clearly states the tool shows available trade options between player and another civilization, listing specific categories (gold, resources, etc.). It uses a vivid analogy ('like opening the trade screen') and distinguishes from propose_trade. The verb 'See' and resource 'trade options' are precise.

    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?

    Explicitly says to use before propose_trade and tells where to get other_player_id (from get_diplomacy output). It implies the tool is a prerequisite for proposing trades. While it doesn't state when not to use, the context is clear and it differentiates from sibling tools like get_trade_routes.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Adds behavioral details beyond the destructiveHint annotation: waits ~10 seconds for Steam to deregister. Discloses key behavioral trait.

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

    Conciseness5/5

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

    Two sentences, highly concise. First sentence front-loads the core action. No wasted words.

    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?

    Fully describes what the tool does for its simple purpose. Output schema exists, so return values are covered. No gaps.

    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?

    No parameters (schema 100% coverage). Baseline 4 for zero-param tools; no need for further explanation.

    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?

    Clearly states it kills the Civ 6 game process and waits for deregistration. Highly specific verb+resource, and distinct from sibling tools which are in-game actions.

    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?

    Explicitly states it only kills Civ 6 processes and waits for clean relaunch, providing clear context. Lacks explicit alternatives but context implies complementarity with launch_game.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    Annotations already indicate readOnlyHint=true, so description's statement that it returns an indexed list adds some context but does not disclose additional behavioral traits beyond what annotations provide.

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

    Conciseness5/5

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

    Two concise sentences that front-load the purpose. No wasted words.

    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?

    Given zero parameters and an output schema, the description fully covers the tool's purpose and usage context. It is complete for an agent to select and invoke correctly.

    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?

    No parameters exist, so baseline is 4. Description does not need to add parameter information.

    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?

    The description clearly states the tool lists available save files, distinguishing between normal and autosave. It uses a specific verb 'List' and resource 'available save files', and differentiates from sibling load_save by mentioning its output is used for loading.

    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?

    Explicitly instructs to call before load_save and how to use load_save with the returned index. Provides clear when-to-use context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    No annotations provided, so the description covers behavioral traits well: prerequisites, that acceptance is not guaranteed, and outcome dependencies. It implies the action is non-destructive and ends the war if accepted.

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

    Conciseness5/5

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

    Extremely concise: 3 sentences covering action, parameter sourcing, and conditions. No fluff, effectively front-loaded.

    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?

    Given the tool's simplicity (1 parameter, no enums, has output schema not shown), the description is fully adequate, covering purpose, usage, parameter, and outcome.

    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 provides 0% description coverage, but the description adds meaning: 'The player ID (from get_diplomacy output)', telling the agent where to obtain the value.

    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?

    The description clearly states the action: 'Propose white peace to a civilization you're at war with.' It uses a specific verb and resource, distinguishing it from sibling tools like 'form_alliance' or 'respond_to_diplomacy'.

    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 specifies prerequisites ('Requires being at war and past the 10-turn war cooldown') and mentions the AI's acceptance criteria ('based on war score and relationship'). It does not explicitly list alternatives but is clear on when to use.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It discloses the consumption of GP points and that the GP spawns in the capital. It does not mention destructive aspects, but recruitment is non-destructive. It offers a check for availability, adding transparency.

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

    Conciseness5/5

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

    Very concise with a clear structure: main action, args, notes. Every sentence adds value—prerequisite, location, and how to check availability. No fluff.

    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?

    Given a single parameter and an output schema (not shown but present), the description covers prerequisites, side effects, and data source. It is complete for the agent to correctly invoke the tool.

    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 description must compensate. It explains that 'individual_id' comes from 'get_great_people output, shown after ability', providing crucial context beyond the raw schema.

    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?

    The description clearly states the verb 'Recruit' and the resource 'Great Person' using 'accumulated GP points', which distinguishes it from siblings like 'patronize_great_person' (which uses gold/faith) and 'reject_great_person'.

    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?

    Explicitly mentions prerequisites ('Requires enough GP points') and provides a precondition check ('Use get_great_people to check [CAN RECRUIT] status'). Does not explicitly state when not to use or contrast with patronize, but the GP points requirement implies the condition.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Discloses it costs faith and that the next GP in that class becomes available. No annotations provided, so description carries burden adequately.

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

    Conciseness5/5

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

    Three concise sentences: purpose, parameter explanation, usage guidance. No unnecessary words.

    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?

    Complete for a simple tool with one parameter and an output schema. Explains purpose, parameter source, cost, and effect.

    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?

    With 0% schema coverage, description adds valuable context: individual_id comes from get_great_people output. This is critical for correct usage.

    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?

    Clearly states it passes on a Great Person to skip to the next in class. Distinguishes from recruit_great_person and patronize_great_person.

    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?

    States when to use: when you don't want the current GP and want to save points for a better one. Does not explicitly exclude alternatives but context with siblings is clear.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    With no annotations, the description discloses the underlying mechanism: 'Uses GameCore FinishMoves on each unit — fast, reliable, no async issues.' This informs the agent about performance and reliability aspects.

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

    Conciseness5/5

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

    The description is extremely concise: two short sentences with a line break. Every sentence adds value, and the main purpose is front-loaded.

    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?

    Given the tool's simplicity (no parameters, output schema present), the description fully covers what the agent needs to know: purpose, usage context, and behavioral traits. No gaps.

    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 has zero parameters, and the input schema is empty. The description does not need to add parameter meaning, and baseline for 0 parameters is 4. The description is sufficient.

    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?

    The description starts with a clear verb and resource: 'Skip all units that still have moves remaining.' It distinguishes itself from sibling tools like 'unit_action' by specifying a batch operation to skip remaining moves for all units.

    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 provides a specific use case: 'Useful after diplomacy encounters invalidate all standing orders.' This guides the agent to apply the tool in a particular context, though it doesn't explicitly state when not to use it.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    Annotations indicate readOnlyHint true, and the description adds rich behavioral context: prioritization, scanning territory, matching builders, and priority tiers. No contradiction with annotations.

    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?

    Well-structured with a clear opening and bullet points for priority tiers. Every sentence adds value, though slightly verbose for the amount of information.

    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?

    Given the tool has zero parameters and an output schema, the description fully explains purpose, output nature, and usage timing. No gaps.

    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?

    No parameters exist, so the baseline is 4. The description adds no parameter-specific info, but none is needed as schema coverage is complete.

    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?

    The description clearly states it gets a prioritized task board for builders, using specific verbs like 'scans' and 'matches'. It distinguishes itself from sibling tools by focusing on builder improvements, unlike other advisor tools.

    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?

    Explicitly says 'Call this before issuing builder orders each turn', providing clear when-to-use guidance. Does not mention when not to use or alternatives, but no direct alternative exists among siblings.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations already indicate readOnlyHint=true. Description adds that promotions are filtered by promotion class and require enough XP, augmenting behavioral understanding.

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

    Conciseness5/5

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

    Four sentences, includes structured Args block, front-loaded with purpose. No wasted words.

    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?

    For a simple 1-param tool with output schema, description covers purpose, input, and conditions. No gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema has 0% description coverage. Description explains unit_id as 'The unit's composite ID (from get_units output)', providing essential sourcing context beyond type and required.

    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?

    The description clearly states 'List available promotions for a unit', specifying the action (list) and resource (promotions). It distinguishes from sibling 'promote_unit' which performs promotions.

    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?

    Provides context: unit_id from get_units output, filtering by promotion class, XP requirement. Lacks explicit when-not-to-use or alternatives, but purpose is clear.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations already set readOnlyHint=true, confirming safe read-only operation. The description goes beyond by detailing the specific data included (e.g., space race VP, diplomatic VP), adding behavioral context without contradiction.

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

    Conciseness5/5

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

    Two concise sentences: first states the purpose, second lists included data and usage frequency. No wasted words, front-loaded with key action, well-structured.

    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?

    Given no parameters and an output schema presumably detailing structure, the description provides a complete overview of what the tool returns and when to call it. The periodic usage advice enhances completeness.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With zero parameters and 100% schema coverage, the schema is empty. The description fully compensates by explaining the rich output details (victory types, components), adding essential meaning beyond the schema.

    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?

    The description clearly states 'Get victory condition progress for all civilizations' and enumerates specific victory types. It is distinct from sibling tools, which are either action-oriented or pertain to other game state queries.

    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 advises calling 'every 20-30 turns to track the race', providing explicit temporal guidance. No when-not or alternative tools are mentioned, but the context is clear for a monitoring tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    No annotations present, but description explains instant purchase, cost source, and resource requirement. Could mention that the great person is consumed from available list, but transparency is good overall.

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

    Conciseness5/5

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

    Extremely concise: two sentences and a bullet list of arguments. Every sentence adds value with no redundancy.

    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?

    Covers all needed context: how to get individual_id, yield_type options, cost information source, and prerequisite resource. Output schema exists so return values are handled externally.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, so description carries full burden. Explains individual_id comes from get_great_people output, yield_type defaults to YIELD_GOLD or YIELD_FAITH, adding essential meaning beyond the schema.

    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?

    Clearly states 'Buy a Great Person instantly with gold or faith.' Directly distinguishes from sister tools like 'recruit_great_person' and 'reject_great_person'.

    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?

    Provides explicit context: costs shown in get_great_people output under 'Patronize:' and requires sufficient gold/faith. Does not explicitly state when not to use or alternatives, but guidelines are clear.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    With no annotations provided, the description carries the burden. It states the core behavior (buying a tile with gold) and implies it is a write operation. However, it does not disclose error conditions (e.g., insufficient gold) or effects on game state beyond the purchase. The mention of get_purchasable_tiles adds context about valid tiles.

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

    Conciseness5/5

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

    The description is concise with a single purpose sentence, a clear argument list, and a usage tip. It is front-loaded and every sentence adds value. No unnecessary words.

    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, return values are not needed. The description covers purpose, parameters, and prerequisite. It could be more complete by mentioning expected success/failure behavior or validation, but overall it is sufficient for an agent to invoke correctly.

    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 description lists all three parameters with brief definitions (City ID, Tile X coordinate, Y coordinate), compensating for the 0% schema coverage. While adequate, it lacks details on ranges or constraints, but the integer type and typical game usage make the meanings clear.

    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?

    The description clearly states the verb 'Buy' and the resource 'a tile for a city with gold'. It distinguishes from sibling tools by directing to use get_purchasable_tiles first, which is a related sibling tool.

    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?

    The description explicitly advises to use get_purchasable_tiles first to see costs and options, providing clear guidance on when to use this tool and its prerequisite. This effectively differentiates from other purchase actions like purchase_item.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It explains that it registers an event handler, fires during WC processing, and casts votes. Mentions behavioral outcome if not called. Could add more on side effects or reversibility, but still strong.

    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?

    Well-structured with a clear first line, Args block, and usage instructions. Slightly lengthy but efficient; every sentence adds value.

    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?

    Covers all necessary aspects: parameter format, field semantics, usage timing, behavioral outcome, and alternative. Lacks error handling info but output schema exists. Overall complete for this tool's complexity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, so description fully compensates. Provides JSON example and explains each field (hash, option, target, votes) in detail, including value ranges and resolution logic.

    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?

    The description clearly states the tool pre-configures World Congress votes for the upcoming session, using specific verb-resource ('queue' + 'wc_votes'). It distinguishes from siblings as no other tool handles WC voting.

    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?

    Explicitly states when to call: 'before end_turn when get_world_congress shows 0 turns until next session.' Also explains consequence of not calling: 'end_turn will pause... for interactive voting.'

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Since no annotations are provided, the description carries the full burden. It discloses several behavioral traits: gold cost for delegations, possible rejection, tech prerequisite for embassies, and conditions for war types. This is thorough for a game action, though it omits potential cooldowns or limits.

    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 description is well-structured with a clear purpose, 'Args:' section, and additional notes. It is slightly long but every sentence adds value. It could be slightly more concise, but it is efficient.

    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 complexity of the tool (many actions with different conditions) and the presence of an output schema, the description covers most essential aspects. It explains the purpose, parameters, and behavioral details, though it could note whether the action is performed immediately or queued.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description adds significant meaning beyond the schema: it specifies that other_player_id comes from get_diplomacy output and lists all action values with behavioral notes (costs, prerequisites). Schema coverage is 0%, so the description fully compensates.

    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?

    The description clearly states the verb and resource: 'Send a proactive diplomatic action to another civilization.' It lists all possible actions, distinguishing it from sibling tools like form_alliance or propose_peace, which are for different diplomatic interactions.

    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?

    The description explicitly mentions when to use this tool (for proactive actions) and includes important preconditions: delegations cost gold and can be rejected, embassies require Writing tech, war types have availability conditions. It also directs the user to get_diplomacy to see available actions, providing clear guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    No annotations exist, so the description bears full responsibility. It discloses that the tool sets a focus, defines allowed values, explains the effect of 'default', and indicates it biases AI assignment. No missing behavioral traits or contradictions.

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

    Conciseness5/5

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

    Extremely concise: one-line header followed by Args list. Every sentence adds value. No fluff, directly actionable by an AI agent.

    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?

    The tool has only 2 simple parameters and an output schema (not shown). The description covers purpose and parameter semantics adequately. It does not explain return values, but output schema exists to handle that. For a straightforward setter, this is sufficient.

    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 0%, so the description must compensate. It lists legal focus values and explains 'default' clears settings. For city_id, it merely says 'City ID', which is sparse but sufficient given the schema. Overall, adds significant meaning beyond schema.

    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?

    The description clearly states 'Set a city's citizen yield priority.' It specifies a concrete action on a distinct resource (city yield focus), distinguishing it from sibling tools like set_city_production. No ambiguity.

    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 that cities automatically assign citizens and this tool biases the AI toward a chosen yield. It provides context on when to use it, though it doesn't explicitly state when not to use it or list alternatives. Still, it's clear enough for an agent.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Discloses important behavioral traits: travel is queued end-of-turn, spy position updates after turn, mission requires spy in target city. Does not mention potential failure or destruction, but given no annotations, description covers key behaviors adequately.

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

    Conciseness5/5

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

    Well-structured with clear sections (Args, Travel notes, Mission notes). Front-loaded summary, every sentence adds value, no redundancy. Appropriate length for the complexity.

    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?

    Given the complexity (multiple mission types, travel constraints, sequence), the description is complete. Covers input, behavior, valid targets, and references get_spies for available ops. Output schema exists, so return values are covered.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema coverage, description adds full meaning to all four parameters: unit_id (composite ID from get_spies), action (enum with travel and listed mission types), target_x/target_y (city tile coordinates). Provides actionable context beyond schema.

    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?

    Description clearly states the tool sends a spy to a city or launches a spy mission, and lists specific mission types. It uses a specific verb+resource structure and distinguishes itself from sibling tools like unit_action or city_action.

    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?

    Provides clear when-to-use guidance: travel vs mission, valid travel targets (own cities/city-states, not allied civs), and sequencing (travel first, end turn, then mission). Lacks explicit comparison to sibling tools but is otherwise thorough.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations already set destructiveHint=true. Description adds context: it triggers AI processing, keeps diary from first call if blocked, and requires all 5 reflection parameters non-empty.

    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 purpose and prerequisites. The reflection rules are detailed but necessary; could be slightly more concise but no unnecessary sentences.

    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?

    Covers prerequisites, reflection semantics, blocking behavior, and diary persistence. Output schema exists but description doesn't need to repeat it. Complete for a complex turn-ending tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, but the description explains each parameter (tactical, strategic, tooling, planning, hypothesis) with clear purpose and examples. This fully compensates for the lack of schema descriptions.

    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?

    The description begins with 'End the current turn.' which is a specific verb+resource. It distinguishes this tool from sibling tools like unit_action or city_action by being the only one that ends the turn.

    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?

    Provides explicit guidance: 'Make sure you've moved all units, set production, and chosen research before ending the turn.' Also explains when reflections are recorded and what happens if blocked, with instructions not to repeat reflections.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    Annotations declare readOnlyHint=true, description adds specifics on what data is shown (envoy tokens, types, suzerain). No contradictions.

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

    Conciseness5/5

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

    Three sentences, front-loaded with purpose, efficient detail, and a related action. No fluff.

    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?

    Complete for a read-only list tool with 0 parameters and output schema present. Tells agent what information will be returned.

    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?

    No parameters, baseline score 4. Description adds no parameter info, but none needed.

    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?

    Description clearly states it lists known city-states with specific details like envoy counts, types, and suzerain. It distinguishes itself from sibling get_* tools by focusing on city-state diplomatic information.

    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?

    Explicitly mentions using send_envoy to send envoys, implying this tool provides info before that action. Does not explicitly exclude other tools, but context is clear.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    The description adds value beyond the readOnlyHint annotation by specifying the output details (grouped by type, includes unclaimed near cities). No contradictions with annotations.

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

    Conciseness5/5

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

    Two concise sentences with front-loaded action verb. No unnecessary information.

    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?

    Given no parameters and an existing output schema, the description fully covers the tool's behavior and output. Complete for its complexity.

    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?

    No parameters exist, so baseline is 4. The description adds no parameter information, but none is needed.

    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?

    The description clearly states the tool's function with a specific verb ('Get') and resource ('summary of all resources in and near your empire'). It distinguishes itself from sibling tools as there is no other resource-specific tool, making it unique.

    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 implies usage for obtaining a resource overview, but does not explicitly provide when-to-use or alternatives. However, since no sibling tool directly competes, the lack of exclusionary guidance is acceptable.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations already mark readOnlyHint=true, and the description adds detail on what data is returned (turn number, yields, etc.) without contradicting. It could mention that no state changes occur, but the annotations cover that.

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

    Conciseness5/5

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

    Two tightly written sentences with no wasted words. The purpose and key output are front-loaded, and usage guidance is provided concisely.

    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?

    Given zero parameters, clear annotations, and an output schema (not shown here but indicated), the description is complete. It tells what the tool does, what it returns, and when to use it.

    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?

    No parameters exist, so schema coverage is 100%. The description doesn't need to add param info, but the baseline score of 4 applies as there is no need for further explanation.

    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?

    The description clearly states it provides a 'high-level summary of the current game state' and lists specific data returned (turn number, civilization, yields, etc.), distinguishing it from sibling tools that offer more detailed or specific views.

    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?

    Explicitly advises 'Call this first to orient yourself,' giving clear context for when to use this tool. No alternatives are mentioned, but the guidance is sufficient for a starting-point tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, so no behavioral issues. The description adds that it scans all revealed land and returns top 10 candidates, providing helpful context beyond annotations.

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

    Conciseness5/5

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

    Three sentences, no wasted words. First sentence states purpose, second differentiates from sibling, third gives usage guidance.

    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 parameters, annotations provided, and output schema present, the description fully covers what the tool does, when to use it, and how it differs from alternatives.

    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 input schema has no parameters, so the description has nothing to add. Baseline is 3, but the description is clear and complete, earning a 4.

    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?

    The description uses a specific verb ('Find') and resource ('best settle locations') with clear scope ('across the entire revealed map'). It explicitly distinguishes itself from the sibling tool get_settle_advisor.

    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?

    The description explicitly states when to use this tool ('when deciding WHERE to send a settler') and what not to use it for ('not just where to settle'), directly contrasting with the alternative.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    Annotations already declare readOnlyHint=true, and description is consistent with no side effects. It adds detail on what data is shown (points, appointments, available types), which aligns with read-only behavior.

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

    Conciseness5/5

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

    Three concise sentences with no redundancy. Immediately states what the tool does and ends with a useful pointer to a sibling tool.

    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?

    Given zero parameters, an output schema exists, and the description covers all necessary behavioral aspects. No further context needed.

    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?

    Input schema has no parameters, so there is nothing to add. Baseline score of 4 is appropriate as description cannot improve parameter semantics.

    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?

    Description uses specific verb 'get' and resource 'governors', listing what is shown: status, appointed governors, available types. It distinguishes from sibling tools 'appoint_governor' and 'assign_governor' by mentioning the former.

    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?

    States when to use this tool vs alternative 'appoint_governor', but does not provide explicit when-not-to-use scenarios. However, for a simple getter, this is sufficient.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    No annotations, but description accurately describes what the tool shows without claiming any side effects. As a read-only getter, it sufficiently discloses behavior.

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

    Conciseness5/5

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

    Three sentences, front-loaded with purpose. Each sentence adds value with no redundancy. Highly concise.

    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?

    Given no parameters and an output schema present, the description fully covers the tool's purpose and what it returns. No gaps for this simple tool.

    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?

    No parameters (0), baseline 4. The description adds meaning by detailing the output categories (founding status, religion types, beliefs grouped by class), which schema alone does not convey.

    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?

    The description clearly states the tool retrieves religion founding status, available religions, and beliefs, with a specific verb 'Get' and resource. It distinguishes from sibling 'found_religion' by mentioning it as a separate action.

    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?

    Explicitly tells when to use this tool (to check status before founding) and directs to 'found_religion' for actual founding. Provides clear context and alternative.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    Annotations include readOnlyHint=true, consistent with the 'get' verb. The description adds valuable behavioral details: it shows explored territory extent per city, highlights directions needing exploration, and lists unclaimed luxury/strategic resources. No contradictions.

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

    Conciseness5/5

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

    Two succinct sentences with clear structure. First sentence states the main action, second elaborates on specifics. No redundancy or unnecessary words.

    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?

    Given zero parameters and an output schema, the description is wholly adequate. It fully explains the tool's purpose and output without needing additional details.

    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?

    No parameters exist, so schema coverage is 100% by default. The description adds meaning by explaining what the output contains (boundaries, directions, unclaimed resources), going beyond the empty schema.

    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?

    The description clearly states specific actions: showing fog-of-war boundaries and unclaimed resources. It uses precise language ('get', 'shows', 'highlights', 'lists') and differentiates from sibling tools like get_map_area or get_empire_resources.

    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?

    While no explicit when-to-use vs alternatives is given, the context of 'get_strategic_map' and the description make its purpose obvious for map overview. The sibling list contains many get_ tools, but this one's unique focus on fog-of-war and unclaimed resources provides implicit guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    Annotations indicate readOnlyHint=true, and the description adds detail on what the tool returns: ranked placement tiles with displacement cost, terrain, features, and resources/improvements removed. No contradiction, and behavior is fully disclosed.

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

    Conciseness5/5

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

    Five well-organized sentences: purpose, args, return description, ranking criterion, and usage tip. No wasted words, everything earns its place.

    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?

    Output schema exists but description still explains the returned structure. Covers ranking, terrain info, improvements removed. Could mention potential size or pagination, but sufficient for a specialized advisor tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema has 0% description coverage, but the description fully explains both parameters: city_id as output from get_cities, and wonder_name with concrete examples. Adds significant meaning beyond the schema's basic titles.

    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?

    Description clearly states 'Show best tiles to place a wonder with displacement cost analysis.' It specifies the verb 'Show', the resource 'tiles to place a wonder', and the specific analysis type, distinguishing it from siblings like get_settle_advisor.

    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?

    Provides context on when to use: after calling get_cities to get city_id. Tells how to use the result: 'Use set_city_production with target_x/target_y'. Does not explicitly exclude alternatives but is clear enough.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, so description adds further context: what information is returned (resolutions, voting options, turns until next session, diplomatic favor) and the temporal context. No contradictions.

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

    Conciseness5/5

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

    Two sentences, no fluff. First sentence states purpose, second adds key details and usage hint.

    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?

    Given output schema exists, description need not explain return values. It covers status, resolutions, turns, and favor, and references the sibling tool for action, making it complete for a read-only informational tool.

    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?

    No parameters exist, so schema coverage is 100% by default. Baseline for zero parameters is 4; description doesn't need to add param info.

    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?

    Description starts with 'Get World Congress status, active resolutions, and voting options', clearly stating the verb and resource. It details what data is provided, distinguishing it from the sibling tool queue_wc_votes which is for action.

    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?

    Explicitly states 'When in session, use queue_wc_votes to register votes before end_turn', providing clear guidance on when to use this tool versus the alternative.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    Exposes detailed step-by-step sequence with timing estimates (60-120 seconds total), mentions OCR navigation, and advises post-completion verification. Adds significant context beyond the destructiveHint annotation, with no contradictions.

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

    Conciseness5/5

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

    Well-structured: one-line summary, Args section, use case, numbered steps. Every sentence serves a purpose, no fluff. Front-loaded with the most critical information.

    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?

    Covers all essential aspects for a complex, destructive, multi-step tool: purpose, when to use, duration, step breakdown, output verification. No gaps given the tool's nature and existing output schema.

    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 0%, but the description fully explains the single parameter save_name: its format ('AutoSave_0221'), default behavior (most recent autosave), and purpose. This compensates for the schema gap.

    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?

    The description clearly states 'Full game recovery: kill, relaunch, and load a save.' This distinctively combines multiple actions (kill, relaunch, load) into a composite tool for recovery, differentiating it from siblings like kill_game, launch_game, and load_game_save.

    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?

    Identifies explicit usage context: 'recommended tool for recovering from game hangs (e.g. AI turn processing stuck in infinite loop).' Does not explicitly state when not to use or list alternatives, but the context is clear and focused.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    Annotations declare readOnlyHint=true and description is consistent, adding detail on what information is returned (state, modifiers, grievances, actions). No contradictions.

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

    Conciseness5/5

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

    Three efficient sentences, front-loaded with main purpose, no redundant words or phrases.

    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?

    Given the read-only nature, zero parameters, and existence of output schema, description fully covers what the tool does and returns.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Tool has zero parameters and 100% schema coverage, so description need not explain params. Description is clear and adequate.

    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?

    Description clearly states verb 'Get' and resource 'diplomatic status with all known civilizations'. Lists specific details shown, distinguishing it from other diplomatic tools like get_pending_diplomacy or propose_peace.

    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?

    Implies usage for reviewing current diplomatic state, but lacks explicit guidance on when not to use it versus siblings like get_pending_diplomacy or respond_to_diplomacy.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    Annotations confirm readOnlyHint=true, so the tool is read-only. The description adds that it shows composite id needed for spy_action and explains the travel requirement for missions. No contradictions.

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

    Conciseness5/5

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

    The description is concise, with two paragraphs front-loading the main purpose and providing essential details. Every sentence adds value without waste.

    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?

    Despite having an output schema, the description still provides useful context about the fields and a behavioral note on mission availability. For a no-parameter tool, this is complete and helpful.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With zero parameters and 100% schema coverage, the description adds value by explaining the output fields and their significance, such as the composite id and mission availability conditions.

    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?

    The description clearly states it lists all spy units with position, rank, city, and available missions. It distinguishes itself from siblings like spy_action which performs actions, and other get_ tools.

    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 provides context on when to use the tool (to see spy details) and includes a note that offensive missions require prior travel, implying when to use spy_action. However, it doesn't explicitly state when not to use this tool or mention alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    Adds significant detail beyond the destructiveHint annotation: describes the ~15-30 second wait, that the game appears at main menu, and the connectivity limitation of FireTuner at main menu. These are critical behavioral traits for an AI agent.

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

    Conciseness5/5

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

    Three sentences plus a note, minimal but comprehensive. Purpose, timing, post-launch state, and limitations are all front-loaded. Every sentence serves a clear purpose with no redundancy.

    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?

    Given zero parameters and presence of output schema (not detailed but indicated), the description fully covers launch behavior, post-launch state, next-step suggestions, and a known limitation. Everything an agent needs to invoke it correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    No parameters in input schema, so description cannot add parameter details. Schema coverage is 100%, and the description appropriately focuses on the launch behavior rather than parameters.

    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?

    Clearly states it launches Civ 6 via Steam, specifying the action and resource. Differentiates from sibling tools like kill_game or load_save by describing the launch process and resulting main menu state.

    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?

    Explicitly advises using load_save or restart_and_load after launch for loading a specific save, and warns that FireTuner and in-game MCP tools are only available after a save is loaded. Could add when not to use (e.g., if already launched) but provides clear sequential context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    The description discloses that the game will reload entirely and provides a wait time and post-load verification step. This adds significant behavioral context beyond the destructiveHint annotation.

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

    Conciseness5/5

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

    The description is concise with three short paragraphs, each serving a clear purpose: the action, the parameter, and the behavioral guidance. No redundant information.

    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?

    Given the destructive nature (destructiveHint: true), the explanation of game reload and recommended follow-up with get_game_overview makes the description complete. An output schema exists but the description appropriately references verification separately.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description explains that save_index is 1-based and comes from list_saves output. This adds crucial meaning beyond the input schema, which only specifies the type as integer. With 0% schema coverage, the description fully compensates.

    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?

    The description clearly states the verb 'load', the resource 'save file', and the method 'by index from the most recent list_saves() result'. This distinguishes it from siblings like 'load_game_save' and 'load_save_from_menu'.

    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 provides clear context on when to use the tool (after list_saves) and what to do after (wait and verify). However, it does not explicitly state when not to use it or provide alternatives among the sibling tools.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    Annotations provide destructiveHint=true, and the description adds critical behavioral details: code execution model (print for output, '---END---' marker), context-specific API restrictions, and that it's an escape hatch implying risk. No contradiction with annotations.

    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 description is well-structured with a clear purpose, args list, and context differences. It is slightly verbose (e.g., 'Context differences:' section could be more concise), but every sentence adds value. Could be tightened slightly without losing meaning.

    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?

    Given the tool's complexity (arbitrary Lua execution), the description covers all essential aspects: output mechanism, context selection, API restrictions, and the escape hatch nature. Output schema (present) documents return values, so description need not repeat that.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema has 0% description coverage, but the description fully compensates by explaining the 'code' parameter (Lua code, use print, end marker) and 'context' parameter (two values with detailed differences). This adds essential meaning beyond the raw schema.

    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?

    Description clearly states 'Run arbitrary Lua code in the game' and labels it as an 'advanced escape hatch' for when built-in tools are insufficient. This uniquely distinguishes it from all sibling tools like 'end_turn' or 'unit_action', which are specific game actions.

    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?

    Explicitly instructs to 'prefer built-in tools' and details when to use 'gamecore' vs 'ingame' context, including which APIs are available in each. This provides clear when-to-use and when-not-to-use guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    With no annotations, the description fully discloses behavioral traits: consequences (e.g., 'sacrifice_charges spends ALL builder charges', 'delete = permanently disband'), conditions, and state changes ('heal = fortify until healed').

    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 description is structured with an arg list followed by per-action notes, but it is somewhat lengthy due to exhaustive detail. Front-loaded purpose is clear, but could be slightly more succinct without losing value.

    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?

    Given the tool's complexity (20+ actions, varying parameters, multiple prerequisites), the description is fully complete, covering all actions, input requirements, special cases, and edge behaviors. No critical gaps remain.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, but the description adds extensive meaning: explains unit_id source, lists all action values with context, details when target_x/y are required, and gives improvement examples. No parameter is left unexplained.

    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?

    The description clearly states 'Issue a command to a unit' and enumerates all possible actions, distinguishing it from sibling tools like city_action or promote_unit which handle different entity types.

    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?

    Detailed per-action guidelines are provided, including prerequisites (e.g., 'Builder must be on the tile' for improve, 'Traders only, must be idle' for teleport), parameter requirements, and exclusions (e.g., 'no target needed' for certain actions).

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

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

    Annotations declare readOnlyHint=true, and the description reinforces read-only behavior with terms like 'Shows' and 'Get'. No contradiction, and no hidden effects disclosed beyond what annotations provide.

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

    Conciseness5/5

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

    Two sentences, no wasted words. Purpose is stated first, followed by details and cross-reference to sibling. Efficient and clear.

    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?

    Given no parameters and presence of output schema, the description fully explains what the tool returns. It also connects to next logical step ('choose_pantheon'), making it contextually complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Input schema has no parameters (coverage 100%). Description adds meaningful context about output: current pantheon, faith balance, and beliefs with bonuses, which enriches the schema's emptiness.

    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?

    Description clearly states it retrieves pantheon status and available beliefs, specifying the verb 'Get' and resource 'pantheon beliefs'. It distinguishes from sibling 'choose_pantheon' by advising to use that tool to found a pantheon.

    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?

    Explicitly describes when to use: to view current pantheon, faith balance, and available beliefs. Provides direct guidance to use 'choose_pantheon' for founding, clarifying alternative usage.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

civ6-mcp MCP server

Copy to your README.md:

Score Badge

civ6-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lmwilki/civ6-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server