Skip to main content
Glama

Microburbs Australian Property Data

Neighbouring suburb boundaries

suburbs_shapes_neighbours
Read-onlyIdempotent

The 12 nearest suburbs (by centroid distance) as a GeoJSON FeatureCollection — each with its boundary polygon and distance in km. These are the nearest suburbs, not only those sharing a border: in a large rural suburb they can be tens of kilometres away.

Price: 15¢ 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_shapes_neighbours"
  }
}

Input 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

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuine value beyond that: the result count is capped at 12, distances are in km, and each call costs 15¢. However, for a 50%-covered schema it says nothing about failure modes for unknown or ambiguous suburb names, which is the main behavioral gap.

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 tight sentences plus a separate bolded price line. The most decision-relevant fact (12 nearest by centroid, with the rural caveat) leads, and nothing is redundant.

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

Completeness5/5

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

For a two-parameter read tool with no output schema, the description supplies the return shape (FeatureCollection of polygons plus km distances) and the cost. Combined with annotations covering safety, an agent has enough to decide and call correctly; only ambiguity-handling for suburb_name is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% because suburb_name has no schema description, but the description compensates by establishing what the tool does with that name (resolve a suburb and return its 12 nearest). The geojson toggle is already well documented in the schema and is not repeated. Expected format for suburb_name (name vs code, case handling) remains unstated.

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?

States a specific verb-equivalent operation and resource: the 12 nearest suburbs by centroid distance, returned as a GeoJSON FeatureCollection with boundary polygon and distance in km. It also pre-empts confusion with adjacency tools by noting these are nearest-by-centroid, not border-sharing, which separates it from suburbs_shapes_boundary and neighbours-style siblings.

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

Usage Guidelines4/5

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

The description clarifies when this tool is the right one (you want nearby suburbs, including distant ones in rural areas) and corrects the common assumption that neighbours means adjacent. It does not explicitly name an alternative for the single-suburb-boundary case, so routing is inferred rather than spelled out.

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