Skip to main content
Glama

Microburbs Australian Property Data

Suburb · Regional & neighbour cohort ranks

suburbs_demographics_cohorts
Read-onlyIdempotent

How the suburb ranks inside its SA4 region and against its touching neighbours on renter share, welfare dependency, overseas-born parents and public housing.

Price: 10¢ 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_demographics_cohorts"
  }
}

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": "SA4-cohort percentile ranks + neighbour comparisons for four\ndemographic metrics (renters, welfare, overseas-born, public housing).",
      -          "example": {
      -            "metrics": [
      -              {
      -                "field": "mib_perc_renters",
      -                "label": "Renter share",
      -                "neighbours": {
      -                  "dramatic": {
      -                    "delta_pct": 258,
      -                    "suburb": "Windale",
      -                    "value_pct": 39.4
      -                  },
      -                  "highest_in_group": false,
      -                  "lowest_in_group": false,
      -                  "n": 7
      -                },
      -                "sa4": {
      -                  "delta_pct": 34,
      -                  "n": 135,
      -                  "percentile": 34,
      -                  "position": "bottom"
      -                },
      -                "value_pct": 11
      -              }
      -            ],
      -            "n_neighbours": 7,
      -            "sa4": {
      -              "cohort_size": 148,
      -              "name": "Newcastle and Lake Macquarie"
      -            },
      -            "suburb": "Belmont North"
      -          },
      -          "properties": {
      -            "metrics": {
      -              "description": "Per-metric comparisons.",
      -              "items": {
      -                "additionalProperties": true,
      -                "description": "One ranked metric with its SA4 + neighbour comparisons.",
      -                "properties": {
      -                  "field": {
      -                    "description": "suburb_finder field code.",
      -                    "title": "Field",
      -                    "type": "string"
      -                  },
      -                  "label": {
      -                    "description": "Human metric name.",
      -                    "title": "Label",
      -                    "type": "string"
      -                  },
      -                  "neighbours": {
      -                    "anyOf": [
      -                      {
      -                        "additionalProperties": true,
      -                        "description": "Touching-suburb comparison for one metric.",
      -                        "properties": {
      -                          "dramatic": {
      -                            "anyOf": [
      -                              {
      -                                "additionalProperties": true,
      -                                "description": "Largest-delta neighbouring suburb (|delta| >= 25%).",
      -                                "properties": {
      -                                  "delta_pct": {
      -                                    "description": "Percent difference vs the subject (signed).",
      -                                    "title": "Delta Pct",
      -                                    "type": "integer"
      -                                  },
      -                                  "suburb": {
      -                                    "description": "Neighbouring SAL name.",
      -                                    "title": "Suburb",
      -                                    "type": "string"
      -                                  },
      -                                  "value_pct": {
      -                                    "anyOf": [
      -                                      {
      -                                        "type": "number"
      -                                      },
      -                                      {
      -                                        "type": "null"
      -                                      }
      -                                    ],
      -                                    "description": "Neighbour's value (%).",
      -                                    "title": "Value Pct"
      -                                  }
      -                                },
      -                                "required": [
      -                                  "suburb",
      -                                  "delta_pct"
      -                                ],
      -                                "title": "DramaticNeighbour",
      -                                "type": "object"
      -                              },
      -                              {
      -                                "type": "null"
      -                              }
      -                            ],
      -                            "description": "Largest-delta neighbour (only when mixed)."
      -                          },
      -                          "highest_in_group": {
      -                            "description": "True when every neighbour is at or below the suburb.",
      -                            "title": "Highest In Group",
      -                            "type": "boolean"
      -                          },
      -                          "lowest_in_group": {
      -                            "description": "True when every neighbour is at or above the suburb.",
      -                            "title": "Lowest In Group",
      -                            "type": "boolean"
      -                          },
      -                          "n": {
      -                            "description": "Touching suburbs with a value.",
      -                            "title": "N",
      -                            "type": "integer"
      -                          }
      -                        },
      -                        "required": [
      -                          "n",
      -                          "lowest_in_group",
      -                          "highest_in_group"
      -                        ],
      -                        "title": "CohortNeighbours",
      -                        "type": "object"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "Touching-suburb comparison."
      -                  },
      -                  "sa4": {
      -                    "anyOf": [
      -                      {
      -                        "additionalProperties": true,
      -                        "description": "SA4-cohort percentile position for one metric.",
      -                        "properties": {
      -                          "delta_pct": {
      -                            "description": "Distance from the tail — 6 reads as 'Top 6%'.",
      -                            "title": "Delta Pct",
      -                            "type": "integer"
      -                          },
      -                          "n": {
      -                            "description": "SA4 cohort suburbs with a value.",
      -                            "title": "N",
      -                            "type": "integer"
      -                          },
      -                          "percentile": {
      -                            "description": "Share of SA4 cohort strictly below the suburb (0-100).",
      -                            "title": "Percentile",
      -                            "type": "integer"
      -                          },
      -                          "position": {
      -                            "description": "Which tail the suburb sits in.",
      -                            "enum": [
      -                              "top",
      -                              "bottom"
      -                            ],
      -                            "title": "Position",
      -                            "type": "string"
      -                          }
      -                        },
      -                        "required": [
      -                          "percentile",
      -                          "position",
      -                          "delta_pct",
      -                          "n"
      -                        ],
      -                        "title": "CohortSa4Rank",
      -                        "type": "object"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "SA4 percentile rank."
      -                  },
      -                  "value_pct": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "The suburb's value (%).",
      -                    "title": "Value Pct"
      -                  }
      -                },
      -                "required": [
      -                  "field",
      -                  "label"
      -                ],
      -                "title": "CohortMetric",
      -                "type": "object"
      -              },
      -              "title": "Metrics",
      -              "type": "array"
      -            },
      -            "n_neighbours": {
      -              "description": "Touching suburbs in the cohort.",
      -              "title": "N Neighbours",
      -              "type": "integer"
      -            },
      -            "sa4": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": true,
      -                  "description": "The suburb's SA4 cohort.",
      -                  "properties": {
      -                    "cohort_size": {
      -                      "anyOf": [
      -                        {
      -                          "type": "integer"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "description": "Suburbs in the SA4 cohort.",
      -                      "title": "Cohort Size"
      -                    },
      -                    "name": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "description": "SA4 region name.",
      -                      "title": "Name"
      -                    }
      -                  },
      -                  "title": "CohortSa4",
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "SA4 cohort metadata."
      -            },
      -            "suburb": {
      -              "description": "Canonical SAL name.",
      -              "title": "Suburb",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "suburb",
      -            "n_neighbours",
      -            "metrics"
      -          ],
      -          "title": "SuburbCohorts",
      -          "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[SuburbCohorts]",
      -  "type": "object",
      -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbCohorts_"
      -}New value: +null
  2. First observed

TDQS

B3/5.0
Behavior3/5

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

The annotations already establish that this is a read-only, idempotent, non-destructive, closed-world operation. The description adds useful behavioral context by disclosing the 10¢ per-call price and the comparative scope, but it does not explain rank direction, scale, or what the response contains. With annotations covering safety, this is adequate but incomplete.

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?

The description is short, front-loads the comparative ranking purpose, and then lists the metrics and price without filler. The price disclosure is prominent and useful, though the line break and bold pricing give it a slightly promotional structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries more burden to explain return values, but it only says the suburb 'ranks' without defining rank direction, scale, or how ties and missing data are handled. It does identify the metric set and the SA4/neighbour comparison scope, making it minimally usable. For a comparatively complex ranking tool, more output semantics are needed.

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?

The required suburb_name parameter has zero schema description coverage, so the description should compensate but does not. It refers to 'the suburb' without explaining accepted formats, matching behavior, ambiguity handling, or whether SA4 context is inferred from the suburb. For a single required input, this leaves meaningful semantic gaps.

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 comparative operation: ranking a suburb inside its SA4 region and against touching neighbours. It also names the exact cohort metrics being ranked, which distinguishes it from raw demographic-profile siblings. It stops short of explicitly naming an alternative tool or making the distinction unmistakable.

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

Usage Guidelines2/5

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

The description explains what is ranked but gives no guidance on when to choose this tool over siblings such as suburbs_demographics_all or suburbs_demographics_underclass_drag. There are no exclusions, prerequisites, or alternative-routing instructions.

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