Suburb · Land values
suburbs_market_land_valuesSuburb land-value medians ($/sqm, lot size, land share of price) + per-mesh-block $/sqm.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| suburb_name | Yes |
suburbs_market_land_valuesSuburb land-value medians ($/sqm, lot size, land share of price) + per-mesh-block $/sqm.
| Name | Required | Description | Default |
|---|---|---|---|
| suburb_name | Yes |
Changes observed during successful MCP inspections.
Output schema / (root)Previous value: -{
- "properties": {
- "available": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ],
- "description": "`false` on no-data responses. Omitted on success — branch on `data !== null` if you want a single discriminator.",
- "title": "Available"
- },
- "data": {
- "anyOf": [
- {
- "additionalProperties": true,
- "description": "Suburb land-value medians + per-mesh-block $/sqm.",
- "example": {
- "area_level": "suburb",
- "area_name": "Belmont North",
- "land_share_of_price": 0.546,
- "mbs": [
- {
- "lv_sqm": 748.2,
- "mb": "10431160000",
- "n_parcels": 21
- }
- ],
- "median_land_size": 645,
- "median_land_value": 426078,
- "median_lv_sqm": 657,
- "median_price": 780000,
- "n_parcels": 1549
- },
- "properties": {
- "area_level": {
- "description": "Always 'suburb' for these endpoints.",
- "title": "Area Level",
- "type": "string"
- },
- "area_name": {
- "description": "Suburb (SAL) name.",
- "title": "Area Name",
- "type": "string"
- },
- "land_share_of_price": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Land value as share of property price (decimal, 0.55 = 55%).",
- "title": "Land Share Of Price"
- },
- "mbs": {
- "description": "Per-mesh-block land values.",
- "items": {
- "description": "Land value $/sqm for one mesh block.",
- "properties": {
- "lv_sqm": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Median land value per square metre (AUD).",
- "title": "Lv Sqm"
- },
- "mb": {
- "description": "ABS mesh-block code (MB_CODE21).",
- "title": "Mb",
- "type": "string"
- },
- "n_parcels": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "description": "Parcels behind the median.",
- "title": "N Parcels"
- }
- },
- "required": [
- "mb"
- ],
- "title": "LandValueMb",
- "type": "object"
- },
- "title": "Mbs",
- "type": "array"
- },
- "median_land_size": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Median lot size (sqm).",
- "title": "Median Land Size"
- },
- "median_land_value": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "description": "Median total parcel land value (AUD).",
- "title": "Median Land Value"
- },
- "median_lv_sqm": {
- "anyOf": [
- {
- "type": "number"
- },
- {
- "type": "null"
- }
- ],
- "description": "Median land value per square metre (AUD).",
- "title": "Median Lv Sqm"
- },
- "median_price": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "description": "Median property price (AUD) — denominator of the land share.",
- "title": "Median Price"
- },
- "n_parcels": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ],
- "description": "Parcels behind the suburb medians.",
- "title": "N Parcels"
- }
- },
- "required": [
- "area_name",
- "area_level",
- "mbs"
- ],
- "title": "SuburbLandValues",
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "The endpoint's payload, or `null` when Microburbs has no value."
- },
- "message": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Human-readable explanation. Omitted on success.",
- "title": "Message"
- },
- "reason": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Machine-readable slug naming the no-data condition (e.g. `no_avm_for_GANSW704074813`). Stable per endpoint. Omitted on success.",
- "title": "Reason"
- }
- },
- "title": "ApiResponse[SuburbLandValues]",
- "type": "object",
- "x-fastmcp-top-level-schema": "ApiResponse_SuburbLandValues_"
-}New value: +nullDoes the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that the tool is read-only, idempotent, and non-destructive. The description adds useful expectations about the returned content (medians, $/sqm, land share, mesh-block detail) but does not mention caveats such as data availability, recency, or output shape. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence with no filler. The main subject is front-loaded, the metrics are compactly listed, and the mesh-block addition is appended without repetition. Every word adds information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-argument read-only tool, the description covers the core return subjects. However, since there is no output schema, the absence of detail about output structure, whether mesh-block values are separate or combined, and data caveats leaves some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden. It indicates that the subject is a suburb and ties naturally to the required `suburb_name` parameter, but it gives no guidance on formatting, case sensitivity, or accepted suburb identifiers. This is adequate for a single self-descriptive parameter but not rich.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (suburb), the metric (land-value medians), and the units ($/sqm, lot size, land share of price), plus a mesh-block breakdown. This is specific enough to distinguish it from many suburbs_market_* siblings, though it doesn't explicitly differentiate it from closely related tools like properties_valuation_land_values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives, and the sibling list is very large. The land-value focus is implied but there are no conditions, exclusions, or named alternatives. An agent would have to infer use from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.