Skip to main content
Glama

Microburbs Australian Property Data

Gross Yield (by suburb)

suburbs_market_yield_map
Read-onlyIdempotent

Shown in the suburb report as the 'Gross Yield' map layer in the Market section.

Gross rental yield for every mesh block in the suburb — weekly rent x 52 over median price — with both inputs returned so the number is checkable, plus the best- and worst-yielding pockets. Values only; polygons come from /shapes/mesh-blocks.

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": {
      "suburb_name": "<suburb_name>"
    },
    "name": "suburbs_market_yield_map"
  }
}

Input Schema

NameRequiredDescriptionDefault
suburb_nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput 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": "Per-microburb gross rental yield — the report's `yield` overlay.",
      -          "example": {
      -            "as_of": "2026-08-16",
      -            "definition": "Gross rental yield for the mesh block: modelled median weekly house rent x 52, divided by the modelled median house price, as a percentage. Same definition as the suburb-wide yield at /market/yield-pct (which reports it as a decimal); gross, so before rates, strata, management or vacancy. Microburbs missing either the rent or the price are absent, not zero.",
      -            "highest": {
      -              "gross_yield_pct": 6.65,
      -              "mb": "10439020000",
      -              "median_price": 892000,
      -              "street": "Floraville",
      -              "weekly_rent": 1140
      -            },
      -            "lowest": {
      -              "gross_yield_pct": 1.85,
      -              "mb": "10434330000",
      -              "median_price": 1600000,
      -              "street": "Arlington",
      -              "weekly_rent": 570
      -            },
      -            "metric": "gross_rental_yield_house",
      -            "microburbs": [
      -              {
      -                "gross_yield_pct": 6.65,
      -                "mb": "10439020000",
      -                "median_price": 892000,
      -                "street": "Floraville",
      -                "weekly_rent": 1140
      -              }
      -            ],
      -            "n_microburbs": 58,
      -            "suburb": "Belmont North",
      -            "unit": "percent"
      -          },
      -          "properties": {
      -            "as_of": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Date of the surfaces (YYYY-MM-DD).",
      -              "title": "As Of"
      -            },
      -            "definition": {
      -              "description": "How the figure is derived.",
      -              "title": "Definition",
      -              "type": "string"
      -            },
      -            "highest": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": true,
      -                  "description": "Gross rental yield for one microburb, with both inputs.",
      -                  "properties": {
      -                    "gross_yield_pct": {
      -                      "description": "Annual rent as a share of price for this microburb — `weekly_rent × 52 ÷ median_price` — expressed as a percent to 2 dp: `6.65` means 6.65%. The suburb-wide `/market/yield-pct` endpoint reports this same metric as a decimal (0.0665), so the two differ by a factor of 100 by design — check which one you are reading. Gross: before rates, strata, management, insurance or vacancy, so a real net return will be materially lower.",
      -                      "title": "Gross Yield Pct",
      -                      "type": "number"
      -                    },
      -                    "mb": {
      -                      "description": "ABS 2021 mesh-block code.",
      -                      "title": "Mb",
      -                      "type": "string"
      -                    },
      -                    "median_price": {
      -                      "description": "The price side of the yield calculation: modelled median house price for the microburb, in AUD. Houses only, matching `weekly_rent`, so the two divide cleanly.",
      -                      "title": "Median Price",
      -                      "type": "integer"
      -                    },
      -                    "street": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "description": "Modal street name for the mesh block, title-cased.",
      -                      "title": "Street"
      -                    },
      -                    "weekly_rent": {
      -                      "description": "The rent side of the yield calculation: modelled median weekly advertised house rent for the microburb, in AUD. Advertised, not contracted, and houses only. Returned so the yield is checkable without a second call.",
      -                      "title": "Weekly Rent",
      -                      "type": "integer"
      -                    }
      -                  },
      -                  "required": [
      -                    "mb",
      -                    "gross_yield_pct",
      -                    "weekly_rent",
      -                    "median_price"
      -                  ],
      -                  "title": "YieldMb",
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Highest-yielding microburb. None when there is no spread."
      -            },
      -            "lowest": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": true,
      -                  "description": "Gross rental yield for one microburb, with both inputs.",
      -                  "properties": {
      -                    "gross_yield_pct": {
      -                      "description": "Annual rent as a share of price for this microburb — `weekly_rent × 52 ÷ median_price` — expressed as a percent to 2 dp: `6.65` means 6.65%. The suburb-wide `/market/yield-pct` endpoint reports this same metric as a decimal (0.0665), so the two differ by a factor of 100 by design — check which one you are reading. Gross: before rates, strata, management, insurance or vacancy, so a real net return will be materially lower.",
      -                      "title": "Gross Yield Pct",
      -                      "type": "number"
      -                    },
      -                    "mb": {
      -                      "description": "ABS 2021 mesh-block code.",
      -                      "title": "Mb",
      -                      "type": "string"
      -                    },
      -                    "median_price": {
      -                      "description": "The price side of the yield calculation: modelled median house price for the microburb, in AUD. Houses only, matching `weekly_rent`, so the two divide cleanly.",
      -                      "title": "Median Price",
      -                      "type": "integer"
      -                    },
      -                    "street": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "description": "Modal street name for the mesh block, title-cased.",
      -                      "title": "Street"
      -                    },
      -                    "weekly_rent": {
      -                      "description": "The rent side of the yield calculation: modelled median weekly advertised house rent for the microburb, in AUD. Advertised, not contracted, and houses only. Returned so the yield is checkable without a second call.",
      -                      "title": "Weekly Rent",
      -                      "type": "integer"
      -                    }
      -                  },
      -                  "required": [
      -                    "mb",
      -                    "gross_yield_pct",
      -                    "weekly_rent",
      -                    "median_price"
      -                  ],
      -                  "title": "YieldMb",
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Lowest-yielding microburb. None when there is no spread."
      -            },
      -            "metric": {
      -              "description": "Always 'gross_rental_yield_house'.",
      -              "title": "Metric",
      -              "type": "string"
      -            },
      -            "microburbs": {
      -              "description": "Per-microburb yields, highest first.",
      -              "items": {
      -                "additionalProperties": true,
      -                "description": "Gross rental yield for one microburb, with both inputs.",
      -                "properties": {
      -                  "gross_yield_pct": {
      -                    "description": "Annual rent as a share of price for this microburb — `weekly_rent × 52 ÷ median_price` — expressed as a percent to 2 dp: `6.65` means 6.65%. The suburb-wide `/market/yield-pct` endpoint reports this same metric as a decimal (0.0665), so the two differ by a factor of 100 by design — check which one you are reading. Gross: before rates, strata, management, insurance or vacancy, so a real net return will be materially lower.",
      -                    "title": "Gross Yield Pct",
      -                    "type": "number"
      -                  },
      -                  "mb": {
      -                    "description": "ABS 2021 mesh-block code.",
      -                    "title": "Mb",
      -                    "type": "string"
      -                  },
      -                  "median_price": {
      -                    "description": "The price side of the yield calculation: modelled median house price for the microburb, in AUD. Houses only, matching `weekly_rent`, so the two divide cleanly.",
      -                    "title": "Median Price",
      -                    "type": "integer"
      -                  },
      -                  "street": {
      -                    "anyOf": [
      -                      {
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "Modal street name for the mesh block, title-cased.",
      -                    "title": "Street"
      -                  },
      -                  "weekly_rent": {
      -                    "description": "The rent side of the yield calculation: modelled median weekly advertised house rent for the microburb, in AUD. Advertised, not contracted, and houses only. Returned so the yield is checkable without a second call.",
      -                    "title": "Weekly Rent",
      -                    "type": "integer"
      -                  }
      -                },
      -                "required": [
      -                  "mb",
      -                  "gross_yield_pct",
      -                  "weekly_rent",
      -                  "median_price"
      -                ],
      -                "title": "YieldMb",
      -                "type": "object"
      -              },
      -              "title": "Microburbs",
      -              "type": "array"
      -            },
      -            "n_microburbs": {
      -              "description": "Microburbs with both a rent and a price.",
      -              "title": "N Microburbs",
      -              "type": "integer"
      -            },
      -            "suburb": {
      -              "description": "Canonical SAL name.",
      -              "title": "Suburb",
      -              "type": "string"
      -            },
      -            "unit": {
      -              "description": "Always 'percent' — note /market/yield-pct reports the same metric as a decimal.",
      -              "title": "Unit",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "suburb",
      -            "metric",
      -            "unit",
      -            "definition",
      -            "n_microburbs",
      -            "microburbs"
      -          ],
      -          "title": "SuburbYieldMap",
      -          "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[SuburbYieldMap]",
      -  "type": "object",
      -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbYieldMap_"
      -}New value: +null
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the baseline is covered. The description adds real behavioral context beyond them: a 20¢ per-call cost, the guarantee that both formula inputs are returned so results are auditable, and that best- and worst-yielding pockets are included. It does not discuss pagination, coverage limits, or error cases.

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?

Front-loaded with the report location and the core computation, then the output composition, then cost -- a sensible order with no filler. The 'weekly rent x 52 over median price' phrasing is slightly compressible but not wasteful.

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?

Given a single-parameter tool with no output schema, the description covers what is computed, how it is computed, what is returned (values plus both inputs plus best/worst pockets), where geometry must come from, and the call cost. Nothing material an agent needs to call it correctly is missing.

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?

There is one required parameter with 0% schema description coverage, so the description must carry the meaning. It implies the scope ('every mesh block in the suburb') but never states the format or constraints of suburb_name -- e.g. exact suburb name versus postcode lookup or case sensitivity.

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

Purpose4/5

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

The description states a specific resource and computation: gross rental yield for every mesh block in a suburb, with the formula (weekly rent x 52 over median price) spelled out. It also clarifies the output boundary -- 'Values only; polygons come from /shapes/mesh-blocks' -- but does not explicitly distinguish itself from sibling yield tools such as suburbs_market_yield_pct or suburbs_market_yield_pct_series.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It places the tool in context ('Shown in the suburb report as the Gross Yield map layer in the Market section'), which implies when it is used, but gives no explicit when-to-use or when-not-to-use guidance and names no alternative. An agent must infer that this is the mesh-block-level, value-only variant versus the suburb-level percentage tools.

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