Skip to main content
Glama

Microburbs Australian Property Data

Livability scores by mesh block (by suburb)

suburbs_lifestyle_livability_map
Read-onlyIdempotent

All seven livability dimensions — affluence, lifestyle, hip, convenience, family, safety, tranquility — scored 0-100 for every mesh block in the suburb, each with its human band. Averaging a dimension across the mesh blocks reproduces the suburb figure at /lifestyle/livability. 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_lifestyle_livability_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 livability scores — the report's Livability overlays.",
      -          "example": {
      -            "definition": "Seven livability dimensions scored for each mesh block ('microburb', the smallest ABS geography, ~30-60 dwellings), rescaled from the source 0-10 to 0-100. Higher is better on every dimension, safety included — it is an inverse-scaled crime score built from the same per-mesh-block crime model /crime/by-mesh-block exposes as raw rates. Averaging a dimension across the microburbs here gives the suburb figure at /lifestyle/livability. Dimensions with no score for a microburb are omitted, not zeroed.",
      -            "dimensions": [
      -              {
      -                "description": "Reported crime rates across personal, property, drug and public-order offences compared with the state average. Inverse-scaled, so a higher score means less predicted crime.",
      -                "key": "safety",
      -                "label": "Safety"
      -              }
      -            ],
      -            "metric": "livability_scores",
      -            "microburbs": [
      -              {
      -                "levels": {
      -                  "affluence": "Low",
      -                  "convenience": "Low",
      -                  "family": "Moderate",
      -                  "hip": "Moderate",
      -                  "lifestyle": "Low",
      -                  "safety": "Moderate",
      -                  "tranquility": "Very low"
      -                },
      -                "mb": "10431160000",
      -                "scores": {
      -                  "affluence": 43,
      -                  "convenience": 46,
      -                  "family": 52,
      -                  "hip": 50,
      -                  "lifestyle": 34,
      -                  "safety": 53,
      -                  "tranquility": 8
      -                },
      -                "street": "Floraville"
      -              }
      -            ],
      -            "n_microburbs": 63,
      -            "suburb": "Belmont North",
      -            "unit": "score_0_100"
      -          },
      -          "properties": {
      -            "definition": {
      -              "description": "How the scores are derived.",
      -              "title": "Definition",
      -              "type": "string"
      -            },
      -            "dimensions": {
      -              "description": "The seven dimensions, with what each measures.",
      -              "items": {
      -                "additionalProperties": true,
      -                "description": "One of the seven scored dimensions.",
      -                "properties": {
      -                  "description": {
      -                    "description": "What the dimension measures.",
      -                    "title": "Description",
      -                    "type": "string"
      -                  },
      -                  "key": {
      -                    "description": "Machine key, e.g. 'safety'.",
      -                    "title": "Key",
      -                    "type": "string"
      -                  },
      -                  "label": {
      -                    "description": "Display label, e.g. 'Safety'.",
      -                    "title": "Label",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "key",
      -                  "label",
      -                  "description"
      -                ],
      -                "title": "LivabilityDimension",
      -                "type": "object"
      -              },
      -              "title": "Dimensions",
      -              "type": "array"
      -            },
      -            "metric": {
      -              "description": "Always 'livability_scores'.",
      -              "title": "Metric",
      -              "type": "string"
      -            },
      -            "microburbs": {
      -              "description": "Per-microburb scores, ordered by mesh-block code.",
      -              "items": {
      -                "additionalProperties": true,
      -                "description": "Livability scores for one microburb (mesh block).",
      -                "properties": {
      -                  "levels": {
      -                    "additionalProperties": {
      -                      "type": "string"
      -                    },
      -                    "description": "Dimension key → human band for the same score: 'Very low' (<25), 'Low' (25-49), 'Moderate' (50-74), 'High' (75-89), 'Very high' (90+).",
      -                    "title": "Levels",
      -                    "type": "object"
      -                  },
      -                  "mb": {
      -                    "description": "ABS 2021 mesh-block code.",
      -                    "title": "Mb",
      -                    "type": "string"
      -                  },
      -                  "scores": {
      -                    "additionalProperties": {
      -                      "type": "integer"
      -                    },
      -                    "description": "Dimension key → score 0-100, higher is better. Dimensions with no score for this microburb are absent.",
      -                    "title": "Scores",
      -                    "type": "object"
      -                  },
      -                  "street": {
      -                    "anyOf": [
      -                      {
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "Modal street name for the mesh block, title-cased.",
      -                    "title": "Street"
      -                  }
      -                },
      -                "required": [
      -                  "mb",
      -                  "scores",
      -                  "levels"
      -                ],
      -                "title": "LivabilityMb",
      -                "type": "object"
      -              },
      -              "title": "Microburbs",
      -              "type": "array"
      -            },
      -            "n_microburbs": {
      -              "description": "Microburbs with at least one score.",
      -              "title": "N Microburbs",
      -              "type": "integer"
      -            },
      -            "suburb": {
      -              "description": "Canonical SAL name.",
      -              "title": "Suburb",
      -              "type": "string"
      -            },
      -            "unit": {
      -              "description": "Always 'score_0_100'.",
      -              "title": "Unit",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "suburb",
      -            "metric",
      -            "unit",
      -            "definition",
      -            "dimensions",
      -            "n_microburbs",
      -            "microburbs"
      -          ],
      -          "title": "SuburbLivabilityMap",
      -          "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[SuburbLivabilityMap]",
      -  "type": "object",
      -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbLivabilityMap_"
      -}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 establish read-only, idempotent, non-destructive, closed-world behavior, so the description only needs to add operating context — and it does, disclosing the 20¢ per-call price and clarifying that no geometry is returned. It does not address response size (mesh-block counts per suburb can be large) or ordering/pagination.

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 core output statement, followed by the reconciliation note and the pricing line. Slightly dense in the dimension list, but each sentence carries content and there is no filler.

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 does the work of describing the return payload: per-mesh-block scores across seven named dimensions with bands, values only. Cost and the geometry-join requirement are covered; what a 'human band' actually contains and typical record volume are the remaining gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% — 'suburb_name' is typed only as a string with no description in the schema. The description never clarifies expected format, case sensitivity, or whether a name versus an identifier is accepted, so the one required parameter remains ambiguous at call time.

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?

States a specific resource (livability scores per mesh block within a suburb), enumerates the seven dimensions, and gives the value range (0-100) plus the accompanying human band. The line 'Averaging a dimension across the mesh blocks reproduces the suburb figure at /lifestyle/livability' cleanly separates it from the suburb-level sibling.

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?

Implies when to reach for it: when mesh-block granularity is needed rather than the suburb aggregate, and it warns 'Values only; polygons come from /shapes/mesh-blocks', which is actionable guidance for joining geometry. It does not explicitly name the suburb-level tool as the alternative or state when not to use this one.

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