Skip to main content
Glama

Microburbs Australian Property Data

Property · Income by mesh block — household, personal and family incomes, salaries within 1 km (by gnaf_id)

properties_mesh_blocks_income
Read-onlyIdempotent

How much do people here earn? For every mesh block around the property: median household, personal and family income for the surrounding area, and salary, deductions and tax for the postcode.

One entry per mesh block within 1,000 m of the property under mesh_blocks, nearest first, each with its mb_code, distance_m, population and dwellings. Blocks across suburb lines are included. Values only — the polygons come from /properties/{gnaf_id}/context/mesh-blocks.

Every field carries provenance — measured (at this block), measured_wider_area (measured for the SA1 or postcode and repeated on every block in it), estimate (our model) or not_recorded (not labelled yet) — plus how, one sentence on how the number was arrived at (empty when not_recorded).

Price: 20¢ per call.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "gnaf_id": "<gnaf_id>"
    },
    "name": "properties_mesh_blocks_income"
  }
}

Input Schema

NameRequiredDescriptionDefault
gnaf_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, and the description adds genuinely new behavior: a 20¢ per-call price, one entry per mesh block sorted nearest first, the presence of mb_code/distance_m/population/dwellings, and a four-value provenance vocabulary (measured, measured_wider_area, estimate, not_recorded) with a companion 'how' sentence. That is exactly the kind of disclosure annotations cannot carry.

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?

Front-loaded with the user-facing question, then response shape, then inclusion rules, then provenance semantics, then price — each paragraph earns its place. Formatting uses bold and code spans to make the key distinctions skimmable rather than burying them in prose.

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 no output schema, the description carries the return-shape burden well: it names the mesh_blocks container, the four per-block fields, and the ordering. It omits currency/units for the income figures and any cap on result count, which are minor but real gaps for a tool returning monetary data.

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?

The single required parameter, gnaf_id, has 0% schema description coverage and the description only situates it inside a path template; it never states the identifier's origin or format or how an agent would obtain one. The tool is simple enough that this is not fatal, but the description does not compensate for the coverage 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 opens with a plain-language question and then names the exact resource: median household, personal and family income, plus salary, deductions and tax, for every mesh block within 1,000 m of a property keyed by gnaf_id. The property-scoped framing and the enumerated field families distinguish it from the suburbs_* siblings without needing to name them.

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 establishes context (a property's surrounding income profile) and explicitly routes one adjacent need elsewhere: polygons come from /properties/{gnaf_id}/context/mesh-blocks, implying this tool returns values only. It also notes blocks across suburb lines are included, which preempts a common misreading. It stops short of naming an explicit alternative or exclusion, so it is not a 5.

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