Skip to main content
Glama

Microburbs Australian Property Data

Suburb · Owner-occupation and housing tenure rates

suburbs_demographics_tenure
Read-onlyIdempotent

Explicit total owner-occupation rate plus owned-outright / mortgaged / renting / public-housing shares — a suburb rollup and the per-microburb downscaled Census shares. owner_occupied_pct is the requested headline; it equals owned outright plus mortgaged and is null if either is absent. census_year makes the 2021 reference period explicit.

Input Schema

TableJSON 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": "Who owns and who rents across a suburb — one headline set of shares\nplus the microburb-by-microburb detail underneath.\n\nThe suburb figures are an **unweighted average across the suburb's\nmicroburbs**, so each microburb counts equally regardless of how many\ndwellings it holds. That is close to, but not identical with, a true\ndwelling-weighted suburb share; do not expect it to reconcile exactly\nwith published Census suburb tenure counts. Same 0–100 percent scale\nand same overlapping-categories caveat as `TenureMb`.",
      -          "example": {
      -            "census_year": 2021,
      -            "microburbs": [
      -              {
      -                "mb": "10664530000",
      -                "mortgaged_pct": 41,
      -                "owned_outright_pct": 38.2,
      -                "public_housing_pct": 0.9,
      -                "renting_pct": 17.3,
      -                "street": "Marquis St"
      -              }
      -            ],
      -            "mortgaged_pct": 40.1,
      -            "n_microburbs": 71,
      -            "owned_outright_pct": 34.7,
      -            "owner_occupied_pct": 74.8,
      -            "public_housing_pct": 1.8,
      -            "renting_pct": 20.9,
      -            "suburb": "Belmont North",
      -            "tier": "Mixed"
      -          },
      -          "properties": {
      -            "census_year": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Reference year of the underlying ABS Census tenure inputs (currently 2021). This is not a current-year occupancy survey.",
      -              "title": "Census Year"
      -            },
      -            "microburbs": {
      -              "description": "Tenure shares for each microburb in the suburb, showing how ownership varies street by street — often the more useful signal, since a single suburb average can hide an owner-occupied pocket next to a rental-heavy one.",
      -              "items": {
      -                "additionalProperties": true,
      -                "description": "How the households in one microburb hold their homes — owned, being\npaid off, or rented.\n\nAll four shares are **percentages 0–100** (not fractions) of the same\ndenominator: occupied private dwellings, including those whose tenure\nwas not stated. Two things follow, and both bite people who chart these\nnaively — see `public_housing_pct` and the note on summing below.\n\nThese come from a model, not a published count: Census tenure is\npublished for larger areas and statistically downscaled to microburb\nlevel, so read a single microburb as an estimate with real uncertainty.",
      -                "properties": {
      -                  "mb": {
      -                    "description": "ABS 2021 mesh-block code identifying this microburb, as a string of digits (keep it a string — leading digits are significant and it overflows a 32-bit int).",
      -                    "title": "Mb",
      -                    "type": "string"
      -                  },
      -                  "mortgaged_pct": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "Share of dwellings owner-occupied but still mortgaged, as a percent 0–100. Add it to `owned_outright_pct` for total owner-occupation.",
      -                    "title": "Mortgaged Pct"
      -                  },
      -                  "owned_outright_pct": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "Share of dwellings owned outright with no mortgage, as a percent 0–100 (34.7 = 34.7%). Typically tracks an older, longer-settled population.",
      -                    "title": "Owned Outright Pct"
      -                  },
      -                  "public_housing_pct": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "Share of dwellings rented from a state or territory housing authority, as a percent 0–100. A subset of `renting_pct`, not a fourth category — these dwellings are counted in both fields. Stacking all four in one chart double-counts; use owned-outright + mortgaged + renting for a breakdown (which still sums slightly under 100, the remainder being other and not-stated tenures) and show public housing separately.",
      -                    "title": "Public Housing Pct"
      -                  },
      -                  "renting_pct": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "Share of dwellings rented, as a percent 0–100 — all renting, private landlords and public housing together. This is the figure the suburb-level `tier` is banded on.",
      -                    "title": "Renting Pct"
      -                  },
      -                  "street": {
      -                    "anyOf": [
      -                      {
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "The most common street name inside the microburb, title-cased — a human handle for an area that otherwise has only a numeric code. Not a boundary or a full address, and several microburbs in a suburb can share one.",
      -                    "title": "Street"
      -                  }
      -                },
      -                "required": [
      -                  "mb"
      -                ],
      -                "title": "TenureMb",
      -                "type": "object"
      -              },
      -              "title": "Microburbs",
      -              "type": "array"
      -            },
      -            "mortgaged_pct": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Suburb-wide share owner-occupied with a mortgage, percent 0–100.",
      -              "title": "Mortgaged Pct"
      -            },
      -            "n_microburbs": {
      -              "description": "How many microburbs are listed in `microburbs`. Not the number behind the suburb figures above: very small or sparsely-populated microburbs are filtered out of the list but still counted in the suburb averages, so re-averaging `microburbs` will not exactly reproduce them.",
      -              "title": "N Microburbs",
      -              "type": "integer"
      -            },
      -            "owned_outright_pct": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Suburb-wide share of dwellings owned outright, percent 0–100.",
      -              "title": "Owned Outright Pct"
      -            },
      -            "owner_occupied_pct": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Total suburb owner-occupation rate, percent 0–100: `owned_outright_pct + mortgaged_pct`. Null unless both components are available. This is a modelled, unweighted average across microburbs, not an exact dwelling-weighted ABS SAL count.",
      -              "title": "Owner Occupied Pct"
      -            },
      -            "public_housing_pct": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Suburb-wide share rented from a state/territory housing authority, percent 0–100. Included within `renting_pct`, not additional to it.",
      -              "title": "Public Housing Pct"
      -            },
      -            "renting_pct": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Suburb-wide share of dwellings rented, percent 0–100 — private and public renting combined. Drives `tier`.",
      -              "title": "Renting Pct"
      -            },
      -            "suburb": {
      -              "description": "The suburb these figures describe, as the canonical ABS suburb (SAL) name — the resolved form of whatever was requested.",
      -              "title": "Suburb",
      -              "type": "string"
      -            },
      -            "tier": {
      -              "description": "One-word read on the suburb's ownership mix, banded on `renting_pct`: 'Owner-Occupier' under 7% renters, 'Mixed' under 20%, 'Investor-Heavy' at 20% or above ('Unknown' when there is no renting share). A convenience label — the underlying percentage is the precise figure.",
      -              "title": "Tier",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "suburb",
      -            "tier",
      -            "n_microburbs",
      -            "microburbs"
      -          ],
      -          "title": "SuburbTenure",
      -          "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[SuburbTenure]",
      -  "type": "object",
      -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbTenure_"
      -}New value: +null
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, non-destructive, and idempotent behavior, so the description only needs to add meaningful detail. It does so by explaining the owner_occupied_pct formula, its null condition when either component is absent, and the census_year reference period.

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 dense sentences each earn their place: first scopes the metrics, second defines the headline field and null behavior, third clarifies the census reference year. No filler or repetition.

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 single-parameter read-only tool, the description covers the main fields, the relationship between them, and the data vintage. It does not detail the output shape for the per-microburb component, but that is a minor gap given the lack of an output schema and the clarity of the stated metrics.

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?

With schema description coverage at 0%, the description carries full responsibility for parameter meaning. It implies the suburb context via 'suburb rollup,' and the single suburb_name parameter is self-explanatory from the tool name, but the description never directly confirms what value should be passed or any constraints.

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 states a specific resource (owner-occupation and housing tenure rates for suburbs) and a clear set of included metrics: total owner-occupation rate plus owned-outright, mortgaged, renting, and public-housing shares. It separates this tool from sibling demographics tools by focusing precisely on tenure rather than age, income, crime, or other suburb topics.

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?

The description makes it obvious that the tool should be used when tenure/owner-occupation data is needed, but it does not explicitly state when to prefer this over alternatives or when not to use it. Siblings like suburbs_demographics_all or properties_surroundings_tenure exist, yet no routing guidance or exclusions are provided.

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