Skip to main content
Glama

Microburbs Australian Property Data

Neighbouring suburb boundaries

suburbs_shapes_neighbours
Read-onlyIdempotent

Neighbouring suburbs as a GeoJSON FeatureCollection — each with its boundary polygon and distance in km.

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": "Neighbouring suburbs with their boundary polygons.",
      -          "example": {
      -            "area_level": "suburb",
      -            "area_name": "Belmont North",
      -            "count": 2,
      -            "geojson": {
      -              "features": [
      -                {
      -                  "geometry": {
      -                    "coordinates": [
      -                      [
      -                        [
      -                          151.65,
      -                          -33.02
      -                        ],
      -                        [
      -                          151.66,
      -                          -33.02
      -                        ],
      -                        [
      -                          151.66,
      -                          -33.03
      -                        ],
      -                        [
      -                          151.65,
      -                          -33.02
      -                        ]
      -                      ]
      -                    ],
      -                    "type": "Polygon"
      -                  },
      -                  "properties": {
      -                    "dist_km": 1.2,
      -                    "sa3": "Lake Macquarie - East",
      -                    "suburb": "Belmont (NSW)"
      -                  },
      -                  "type": "Feature"
      -                }
      -              ],
      -              "type": "FeatureCollection"
      -            }
      -          },
      -          "properties": {
      -            "area_level": {
      -              "const": "suburb",
      -              "description": "Always 'suburb'.",
      -              "title": "Area Level",
      -              "type": "string"
      -            },
      -            "area_name": {
      -              "description": "Canonical ABS SAL name of the subject suburb.",
      -              "title": "Area Name",
      -              "type": "string"
      -            },
      -            "count": {
      -              "description": "Number of neighbouring suburbs returned.",
      -              "title": "Count",
      -              "type": "integer"
      -            },
      -            "geojson": {
      -              "additionalProperties": true,
      -              "description": "GeoJSON FeatureCollection — one Feature per neighbouring suburb. Properties: `suburb` (SAL name), `sa3`, `dist_km` (centroid distance in km). Geometry is null on every Feature when the request passes `?geojson=false`.",
      -              "title": "Geojson",
      -              "type": "object"
      -            }
      -          },
      -          "required": [
      -            "area_name",
      -            "area_level",
      -            "count",
      -            "geojson"
      -          ],
      -          "title": "SuburbNeighbours",
      -          "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[SuburbNeighbours]",
      -  "type": "object",
      -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbNeighbours_"
      -}New value: +null
  2. First observed

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows it's a safe read operation. The description adds that output is GeoJSON with boundary and distance, which is useful but not deep behavioral detail (e.g., no mention of response complexity or data source).

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?

One concise sentence that front-loads the core purpose and output format. No waste; every word contributes.

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?

For a read-only, single-required-parameter tool with no output schema, the description is adequate but thin. It does not mention that the output could be large (geometry included by default) or that setting 'geojson' to false is a way to reduce payload, which would be useful context for an agent deciding on efficiency.

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 has a detailed description in the schema, but 'suburb_name' has none. The tool description does not add meaning for 'suburb_name' either, so the agent must infer it from the tool name. It partially compensates by naming the resource, but the parameter semantics are not fully clarified.

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 clearly states it returns neighbouring suburbs as a GeoJSON FeatureCollection with boundary polygon and distance in km. It identifies the resource (neighbouring suburbs) and the format. However, it does not explicitly differentiate from the many other suburbs_shapes_* siblings, though the name itself makes the scope fairly clear.

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 is provided on when to use this tool vs. alternatives like suburbs_shapes_boundary or suburbs_hero_neighbours. The description only says what it returns, not under what circumstances an agent should choose it.

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