Skip to main content
Glama

planning_cost_of_living

Read-onlyIdempotent

Cost of living comparison

Input Schema

NameRequiredDescriptionDefault
toNoNew place, same format as 'from'.
fromNoCurrent place as a U.S. city ('Austin' or 'Austin, TX') or 5-digit ZIP; looked up in the built-in table of 127 U.S. metros (BEA Regional Price Parities, 2023).
salaryYesCurrent salary.
toIndexNoCost-of-living index of the new place. Leave out when you send 'to'.
fromIndexNoCost-of-living index of the current place (100 = average). Leave out when you send 'from'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / fromIndex / exclusiveMinimum
      Added value: +0
    • addedInput schema / properties / toIndex / exclusiveMinimum
      Added value: +0
  2. Changed6 schema fields changed
    • addedInput schema / properties / from
      Added value: +{
      +  "description": "Current place as a U.S. city ('Austin' or 'Austin, TX') or 5-digit ZIP; looked up in the built-in table of 127 U.S. metros (BEA Regional Price Parities, 2023).",
      +  "type": "string"
      +}
    • addedInput schema / properties / fromIndex / description
      Added value: +"Cost-of-living index of the current place (100 = average). Leave out when you send 'from'."
    • addedInput schema / properties / salary / description
      Added value: +"Current salary."
    • addedInput schema / properties / to
      Added value: +{
      +  "description": "New place, same format as 'from'.",
      +  "type": "string"
      +}
    • addedInput schema / properties / toIndex / description
      Added value: +"Cost-of-living index of the new place. Leave out when you send 'to'."
    • changedInput schema / required
      Previous value: -[
      -  "fromIndex",
      -  "toIndex",
      -  "salary"
      -]New value: +[
      +  "salary"
      +]
  3. First observed

TDQS

C2.2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, idempotentHint=true and destructiveHint=false, so the safety profile is fully covered without the description. The description adds nothing beyond that — notably it does not mention the 127-metro lookup limitation, the handling of unknown cities, or that indices can be supplied directly.

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

Conciseness2/5

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

Two words are not concision but under-specification; nothing is front-loaded because there is nothing to front-load. No sentence communicates the operation the agent would be invoking.

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

Completeness2/5

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

With five parameters (including an alternate index-based input path) and no output schema, the description should at least say it returns an adjusted/equivalent salary. It leaves the agent guessing about inputs, outputs, and coverage limits, which is inadequate for a tool of this complexity.

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 description coverage is 100%, and the schema itself explains the 'from'/'to' formats, the 100=average index scale, and that toIndex/fromIndex should be omitted when the corresponding place is given. The description adds no parameter meaning on top of that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Cost of living comparison" essentially restates the tool name with a minimal noun phrase; it never states the actual operation, which is computing an equivalent salary between two places. There is no differentiation from siblings such as converters_affordability or planning_relocation_checklist.

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 when-to-use, when-not-to-use, or alternative is mentioned. The only implied guidance comes from the tool name, and the agent gets no signal about choosing this over converters_affordability or planning_monthly_budget.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources