Skip to main content
Glama

kultranz

Compare two US metros

compare_cost_of_living
Read-onlyIdempotent

Compare the cost of living between two US metro areas and return the equivalent salary — the income needed in the second city to hold the same purchasing power. Uses BEA Regional Price Parities where the US average is 100. Answers 'is X more expensive than Y' and 'what salary do I need in Y to match X'. Call list_metros first if unsure of a city name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
salaryNoSalary in USD to convert. Defaults to 100000.
toCityYesDestination metro exactly as listed, e.g. "San Francisco, CA"
fromCityYesOrigin metro exactly as listed, e.g. "Austin, TX"

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already establish readOnly/idempotent/non-destructive, so the bar is lower; the description nonetheless adds real substance by disclosing the data source (BEA Regional Price Parities, US average = 100) and the semantics of the returned equivalent salary. It does not cover precision, coverage limits, or failure behavior for unknown cities.

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 the core purpose, then the methodology, then the prerequisite. Every sentence carries distinct information — no restating of the name or annotations.

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?

There is no output schema, so the description correctly takes on the return-value burden by naming the equivalent salary and its meaning, plus the data source and the ordering requirement. An agent has everything needed to call it correctly and interpret the result.

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 100%, so the baseline is 3, but the description goes beyond the schema by clarifying directionality: the salary is converted from the first city into the income needed in the second to hold the same purchasing power. That resolves which of fromCity/toCity is the origin versus the target, which the schema only implies.

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

Purpose5/5

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

States a specific verb and resource — compare cost of living between two named US metros — and pins down the output concept (equivalent salary for equal purchasing power). This is clearly distinct from the sibling tools (get_tax_brackets, get_take_home_pay, get_salary_percentiles), none of which do pairwise metro comparison.

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?

Names the concrete questions it answers and routes the agent to list_metros as a prerequisite when a city name is uncertain — a real alternative-selection cue. It stops short of stating exclusions (e.g. non-US metros, unsupported cities), so it is strong context rather than a full when/when-not rule set.

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