Skip to main content
Glama

Microburbs Australian Property Data

Suburb · Noise-map regions

suburbs_shapes_noise_heatmap
Read-onlyIdempotent

Precomputed noise colour regions clipped to the suburb, plus cell-centre heat points.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
geojsonNoWhen false, geometry is dropped — every Feature keeps its `properties` but its `geometry` is null. Use it to fetch the counts and per-feature attributes without the coordinates (default true — 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": "Noise-map colour regions clipped to the suburb boundary.",
      -          "example": {
      -            "area_level": "suburb",
      -            "area_name": "Belmont North",
      -            "count": 6,
      -            "geojson": {
      -              "features": [
      -                {
      -                  "geometry": {
      -                    "coordinates": [
      -                      [
      -                        [
      -                          151.66,
      -                          -32.99
      -                        ],
      -                        [
      -                          151.67,
      -                          -32.99
      -                        ],
      -                        [
      -                          151.67,
      -                          -33
      -                        ],
      -                        [
      -                          151.66,
      -                          -32.99
      -                        ]
      -                      ]
      -                    ],
      -                    "type": "Polygon"
      -                  },
      -                  "properties": {
      -                    "color": "#990000",
      -                    "fill_opacity": 0.7
      -                  },
      -                  "type": "Feature"
      -                }
      -              ],
      -              "type": "FeatureCollection"
      -            },
      -            "heat": [
      -              [
      -                -32.9931,
      -                151.6688,
      -                0.8
      -              ]
      -            ],
      -            "intensity_definition": "Relative noise intensity, 0-1 (scaled composite of road-traffic and noisy-POI proximity; 1 = noisiest cell in the source grid). Not a decibel measurement."
      -          },
      -          "properties": {
      -            "area_level": {
      -              "const": "suburb",
      -              "description": "Always 'suburb'.",
      -              "title": "Area Level",
      -              "type": "string"
      -            },
      -            "area_name": {
      -              "description": "Canonical ABS SAL name.",
      -              "title": "Area Name",
      -              "type": "string"
      -            },
      -            "count": {
      -              "description": "Number of colour-region features returned.",
      -              "title": "Count",
      -              "type": "integer"
      -            },
      -            "geojson": {
      -              "additionalProperties": true,
      -              "description": "GeoJSON FeatureCollection — precomputed noise colour regions clipped to the suburb polygon. Feature properties are render-ready styling: `color` (hex fill) and `fill_opacity`; the numeric intensity values live in `heat`. Geometry is null on every Feature when the request passes `?geojson=false`.",
      -              "title": "Geojson",
      -              "type": "object"
      -            },
      -            "heat": {
      -              "description": "Cell-centre points inside the suburb as `[lat, lng, intensity]` triples, ready for heatmap-style rendering. `intensity` is the relative 0-1 noise score described by intensity_definition.",
      -              "items": {
      -                "items": {
      -                  "type": "number"
      -                },
      -                "type": "array"
      -              },
      -              "title": "Heat",
      -              "type": "array"
      -            },
      -            "intensity_definition": {
      -              "description": "What the intensity numbers mean — a relative 0-1 noise score (composite road-traffic + noisy-POI proximity), not decibels.",
      -              "title": "Intensity Definition",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "area_name",
      -            "area_level",
      -            "count",
      -            "intensity_definition",
      -            "geojson",
      -            "heat"
      -          ],
      -          "title": "SuburbNoiseHeatmap",
      -          "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[SuburbNoiseHeatmap]",
      -  "type": "object",
      -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbNoiseHeatmap_"
      -}New value: +null
  2. First observed

TDQS

B3.4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds modest behavioral context by noting the data is 'precomputed' and 'clipped to the suburb', but it does not disclose output structure or caveats. There is no contradiction with the annotations.

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?

A single sentence with no filler; the core payload is stated up front and the description is appropriately brief for a simple read-only GeoJSON retrieval tool. It reads as a fragment because it lacks a verb, but it is not verbose or redundant.

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?

With no output schema, the description names the two output components (colour regions and heat points) but does not specify their structure, properties, or coordinate system. Given the read-only annotations and the single required parameter, this is adequate but leaves some ambiguity about the exact returned data.

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?

Schema coverage is 50%: the geojson parameter is well documented in the schema, while suburb_name has no schema description. The phrase 'clipped to the suburb' helps clarify that suburb_name selects the clipping area, adding some meaning beyond the schema. The description does not explicitly name either parameter, so it only partially compensates for the gap.

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 identifies the resource (noise colour regions for a suburb) and the two payload components (regions plus cell-centre heat points). It lacks an explicit verb like 'returns' or 'fetches' and doesn't explicitly distinguish itself from sibling shape tools, but the resource is specific enough to make the purpose clear.

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?

Usage is implied by 'noise colour regions clipped to the suburb' — an agent can reasonably infer this tool is for retrieving a suburb's noise heatmap geometry. However, there is no explicit when-to-use/when-not-to-use guidance and no mention of alternatives among the many suburbs_shapes_* siblings.

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