Skip to main content
Glama

Price range for a place

price_band
Read-onlyIdempotent

Suggest a price range for a place from local purchasing power and inflation.

Public data has no competitor prices, so this adjusts a price you know (from elsewhere or
an earlier date) to this place today: CPI for the category's group since that month, then
local median income per consumption unit against the reference place. Returns a range
from no local adjustment to full adjustment, labelled as an estimate.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
placeYesPlace name or INE code: municipality ('Valladolid' or '47186'), province ('41'; a bare name like 'Sevilla' means the city), autonomous community ('Cataluña' or 'CA09'), district ('4718603') or census tract ('4718603012'). 'Name, Province' picks between same-named towns.
categoryNoMarket category, to uprate with its own CPI group (e.g. 'gym', 'restaurant').
price_monthNoMonth the reference price applied, YYYY-MM, to uprate it to today.
reference_placeNoWhere the reference price applies: 'ES' (Spain, default) or a place.ES
reference_priceYesPrice elsewhere, in euros, e.g. 39.9 for a monthly gym fee.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
checksNo
sourcesYes
confidenceYesLowest confidence across inputs: high, medium or low. Never state a conclusion more strongly than this.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedOutput schema / $defs / Place / properties / area_names
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "For districts and tracts: OpenStreetMap neighbourhood names inside it (not official INE names).",
      +  "title": "Area Names"
      +}
    • changedOutput schema / $defs / Place / properties / match / description
      Previous value: -"How the query matched. 'fuzzy' means a spelling guess: confirm it."New value: +"How the query matched. 'fuzzy' means a spelling guess: confirm it. 'neighbourhood' means a neighbourhood name was found inside this INE district."
    • changedOutput schema / $defs / Place / properties / match / enum
      Previous value: -[
      -  "code",
      -  "exact",
      -  "prefix",
      -  "fuzzy"
      -]New value: +[
      +  "code",
      +  "exact",
      +  "prefix",
      +  "fuzzy",
      +  "neighbourhood"
      +]
    • addedOutput schema / $defs / Place / properties / matched_name
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "The neighbourhood name that matched, if any.",
      +  "title": "Matched Name"
      +}
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so safety is covered. The description goes further by disclosing the adjustment method (CPI for the category's group, then local median income per consumption unit against the reference place) and the output shape: a range from no adjustment to full adjustment, explicitly labelled an estimate rather than a market price.

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?

Two tight paragraphs: the first states the purpose, the second supplies the rationale and mechanics. Front-loaded and free of filler, though the line-broken mid-sentence formatting is slightly awkward and the second paragraph is dense.

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 5-parameter analytical tool with an output schema, the description covers the method, the data limitation, and that the result is an estimated range — enough for an agent to decide and call correctly. It could still note whether results are Spain-only or how the returned range should be interpreted, but the gaps are minor given the output schema exists.

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 baseline is 3. The description adds genuine meaning beyond the schema by explaining how 'category' and 'price_month' feed the CPI uprating and how 'reference_place'/'reference_price' define the base against which local adjustment is applied, clarifying the interaction of the five 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?

The opening sentence names a specific verb (suggest) and resource (price range for a place) plus the two inputs driving it (local purchasing power and inflation). It also states the key scope constraint — public data has no competitor prices — which separates it from data-lookup siblings like rents or income that return observed local figures rather than an adjusted estimate.

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 gives a clear condition for use: you must already have a price 'from elsewhere or an earlier date' to adjust, which effectively excludes use as a primary price-discovery tool. It does not, however, name alternative siblings (e.g. rents, income, market_size) or say what to do when no reference price is available.

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.