Skip to main content
Glama

Microburbs Australian Property Data

Suburb · Crime — rate per mesh block

suburbs_crime_by_mesh_block
Read-onlyIdempotent

Total crime rate for every mesh block in the suburb, keyed by ABS mesh-block code. Values are predicted incidents per 100,000 residents per year (see the payload's unit / definition keys).

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": "Total crime rate per mesh block (choropleth-ready).",
      -          "example": {
      -            "area_level": "suburb",
      -            "area_name": "Belmont North",
      -            "definition": "Sum of the 8 modelled per-category crime rates for the mesh block (model trained on QLD Police mesh-block incidents averaged over 2020-2022, predicted for all Australian mesh blocks).",
      -            "mesh_blocks": {
      -              "10431160000": 12128.8,
      -              "10431170000": 1755.8,
      -              "10431200000": 2050.2
      -            },
      -            "metric": "total_predicted_crime_rate",
      -            "period": "annual",
      -            "unit": "predicted incidents per 100,000 residents per year"
      -          },
      -          "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"
      -            },
      -            "definition": {
      -              "description": "One-sentence definition of the metric, including model provenance.",
      -              "title": "Definition",
      -              "type": "string"
      -            },
      -            "mesh_blocks": {
      -              "additionalProperties": {
      -                "type": "number"
      -              },
      -              "description": "ABS 2021 mesh-block code → total crime rate: sum of all 8 modelled crime-type rates, predicted incidents per 100,000 residents per year.",
      -              "title": "Mesh Blocks",
      -              "type": "object"
      -            },
      -            "metric": {
      -              "description": "Always 'total_predicted_crime_rate' — what the mesh_blocks values measure.",
      -              "title": "Metric",
      -              "type": "string"
      -            },
      -            "period": {
      -              "description": "Always 'annual' — the rates are yearly figures.",
      -              "title": "Period",
      -              "type": "string"
      -            },
      -            "unit": {
      -              "description": "Unit of the mesh_blocks values — always 'predicted incidents per 100,000 residents per year'.",
      -              "title": "Unit",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "area_name",
      -            "area_level",
      -            "metric",
      -            "unit",
      -            "period",
      -            "definition",
      -            "mesh_blocks"
      -          ],
      -          "title": "CrimeByMeshBlock",
      -          "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[CrimeByMeshBlock]",
      -  "type": "object",
      -  "x-fastmcp-top-level-schema": "ApiResponse_CrimeByMeshBlock_"
      -}New value: +null
  2. First observed

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already signal a safe read-only, idempotent operation. The description adds useful behavioral context beyond that: values are predicted incidents per 100,000 residents per year and are keyed by ABS mesh-block code, which tells the agent what the returned data means.

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?

Two sentences, no filler; the core result is first, then the keying and unit details. Every sentence earns its place.

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 simple one-parameter read-only tool with no output schema, the description covers the result shape, the keying, and the units so an agent can interpret the response. It does not discuss edge cases such as missing mesh blocks, but overall it is sufficiently complete.

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?

With schema description coverage at 0%, the description must compensate for the single suburb_name parameter, but it only refers to 'the suburb' without explaining accepted formats, case sensitivity, or how the name maps to ABS mesh blocks. The parameter's semantics are mostly left to inference from its name.

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 exactly what the tool returns — total crime rate per mesh block for a suburb, keyed by ABS mesh-block code — which is specific and distinct from suburb-level crime tools like suburbs_crime_summary. However, it does not explicitly name those siblings or contrast itself, so it stops short of full differentiation.

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?

No guidance on when to choose this tool over suburbs_crime_breakdown or suburbs_crime_summary. The mesh-block granularity is implied by the description, but there is no explicit when/when-not statement or alternative routing.

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