Skip to main content
Glama

Microburbs Australian Property Data

Suburb · Bushfire coverage

suburbs_risks_bushfire
Read-onlyIdempotent

Share of the suburb AREA covered by bushfire-prone designation.

Area, not properties — and the two differ a lot. Belmont North is 45.72% by area but 23.62% by property count, because designated land is not evenly built on. If you want "what share of homes here are affected", which is the figure our own reports headline, use GET /v1/suburbs/{suburb_name}/risks/property-hazard-counts — it returns a count and pct per hazard against the suburb's actual dwellings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen true, add a `geojson` FeatureCollection of the bushfire polygons clipped to the suburb boundary (default false — response unchanged).
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": "One suburb-level risk record (bushfire or flood).\n\n`coverage_pct` is the share of the SAL covered by the modelled\nrisk overlay. `risk_band` is a coarse low/moderate/high band — only\npopulated for flood today; bushfire reports the raw percentage.",
      -          "example": {
      -            "area_level": "suburb",
      -            "area_name": "Belmont North",
      -            "coverage_pct": 45.72,
      -            "name": "Bushfire",
      -            "value_unit": "% of suburb area"
      -          },
      -          "properties": {
      -            "area_level": {
      -              "description": "Always 'suburb'.",
      -              "title": "Area Level",
      -              "type": "string"
      -            },
      -            "area_name": {
      -              "description": "Suburb (SAL) name.",
      -              "title": "Area Name",
      -              "type": "string"
      -            },
      -            "coverage_pct": {
      -              "description": "Share of suburb area inside the overlay (%).",
      -              "title": "Coverage Pct",
      -              "type": "number"
      -            },
      -            "geojson": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": true,
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "GeoJSON FeatureCollection of the hazard polygons for this layer, ST_Intersection-clipped to the suburb boundary and simplified for browser use. Present only when the request passes `?geojson=true`; absent (and the response byte-identical to before) otherwise.",
      -              "title": "Geojson"
      -            },
      -            "geojson_meta": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": true,
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Clip / simplify / truncation metadata for `geojson` (clip method, simplify tolerance, coordinate precision, feature cap, and whether the size cap truncated the output). Present only with `?geojson=true`.",
      -              "title": "Geojson Meta"
      -            },
      -            "name": {
      -              "description": "Risk overlay name — 'Bushfire' or 'Flood'.",
      -              "title": "Name",
      -              "type": "string"
      -            },
      -            "risk_band": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Coarse band — 'low' / 'moderate' / 'high'. Currently flood only.",
      -              "title": "Risk Band"
      -            },
      -            "value_unit": {
      -              "description": "Unit for coverage_pct — '% of suburb area'.",
      -              "title": "Value Unit",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "area_name",
      -            "area_level",
      -            "name",
      -            "coverage_pct",
      -            "value_unit"
      -          ],
      -          "title": "SuburbRisk",
      -          "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[SuburbRisk]",
      -  "type": "object",
      -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbRisk_"
      -}New value: +null
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare read-only/idempotent/non-destructive behavior. Beyond that, the description adds real value by flagging the area-vs-properties trap with a concrete Belmont North example. It does not detail response formatting, but for a simple metric endpoint the key behavioral risk is covered.

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 core metric is front-loaded, and the example earns its place by quantifying the area/property discrepancy. The prose is slightly longer than the two-sentence ideal but every sentence contributes to either comprehension or routing to the sibling tool.

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 read-only metric endpoint with no output schema, the description explains what is measured (area share), what it is not (property share), and where to go for the alternative. It does not spell out the exact response shape, but the percentage semantics are clear from the example and the tool title.

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?

The geojson parameter is fully documented in the schema, so no additional description is needed. The only schema-undocumented parameter, suburb_name, is left to inference, although the Belmont North example and the endpoint path placeholder in the alternative both illustrate the expected value. This is adequate but not generous.

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?

Opens with a precise metric: 'Share of the suburb AREA covered by bushfire-prone designation.' It explicitly contrasts area vs property count and names the sibling endpoint for the alternate metric, so an agent can pick the right tool without opening schemas.

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

Usage Guidelines5/5

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

States the exact condition for choosing the sibling: 'If you want what share of homes here are affected ... use GET /v1/suburbs/{suburb_name}/risks/property-hazard-counts.' The when-not-to-use guidance is explicit and actionable, and it doubles as clarification for this tool's area-based scope.

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