Skip to main content
Glama

Microburbs Australian Property Data

Property · All planning — bundle

properties_development_all
Read-onlyIdempotent

The planning controls on this block: its zone (name, category, and in NSW the statutory code) and, in NSW only, the height of buildings and floor space ratio (FSR) limits at its address point. Zones are held for every state and the ACT.

Hazard overlays are under risks/all. Development applications in the surrounding area are a suburb-level call.

Price: 8¢ 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": {
      "gnaf_id": "<gnaf_id>"
    },
    "name": "properties_development_all"
  }
}

Input Schema

NameRequiredDescriptionDefault
gnaf_idYes

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": [
      -        {
      -          "description": "All planning — zoning + overlays.",
      -          "example": {
      -            "zoning_code": {
      -              "category": "Residential Zones",
      -              "code": "R2",
      -              "name": "Low Density Residential"
      -            },
      -            "zoning_overlays": [
      -              {
      -                "layer": "hob",
      -                "value": "10 m"
      -              },
      -              {
      -                "layer": "hob",
      -                "value": "5.5 m"
      -              },
      -              {
      -                "layer": "hob",
      -                "value": "8.5 m"
      -              }
      -            ]
      -          },
      -          "properties": {
      -            "zoning_code": {
      -              "anyOf": [
      -                {
      -                  "example": {
      -                    "category": "Residential Zones",
      -                    "code": "R2",
      -                    "name": "Low Density Residential"
      -                  },
      -                  "properties": {
      -                    "category": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "description": "Broader category bucket, e.g. 'Residential Zones', 'Business Zones'.",
      -                      "title": "Category"
      -                    },
      -                    "code": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "description": "Parenthesised code (e.g. 'R2', 'B4', 'IN1') when the council's feed includes one. Many regional NSW + Adelaide + QLD councils don't — in which case this is null and the human-readable label is on `name`.",
      -                      "title": "Code"
      -                    },
      -                    "name": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ],
      -                      "description": "Human-readable zone class, e.g. 'Low Density Residential'.",
      -                      "title": "Name"
      -                    }
      -                  },
      -                  "title": "ZoningCode",
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "zoning_overlays": {
      -              "anyOf": [
      -                {
      -                  "items": {
      -                    "additionalProperties": true,
      -                    "description": "One planning overlay intersecting the property's buffer.\n\n``layer`` is the overlay family (e.g. ``\"fsr\"`` Floor Space Ratio,\n``\"hob\"`` Height of Building). ``value`` is the numeric/string\nvalue that overlay carries at this point (e.g. ``\"1.5\"`` for FSR\nor ``\"9.5\"`` for HoB metres).",
      -                    "example": {
      -                      "layer": "fsr",
      -                      "value": "1.5"
      -                    },
      -                    "properties": {
      -                      "layer": {
      -                        "description": "Overlay layer code, e.g. 'fsr', 'hob'.",
      -                        "title": "Layer",
      -                        "type": "string"
      -                      },
      -                      "value": {
      -                        "anyOf": [
      -                          {
      -                            "type": "string"
      -                          },
      -                          {
      -                            "type": "null"
      -                          }
      -                        ],
      -                        "description": "Value at this point (e.g. '1.5' for FSR, '9.5' for HoB metres).",
      -                        "title": "Value"
      -                      }
      -                    },
      -                    "required": [
      -                      "layer"
      -                    ],
      -                    "title": "ZoningOverlay",
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "title": "Zoning Overlays"
      -            }
      -          },
      -          "title": "PlanningAll",
      -          "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[PlanningAll]",
      -  "type": "object",
      -  "x-fastmcp-top-level-schema": "ApiResponse_PlanningAll_"
      -}New value: +null
  2. First observed

TDQS

A4/5.0
Behavior4/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 genuinely non-redundant context: a per-call price of 8¢, and the fact that height/FSR coverage is jurisdictionally limited to NSW while zone coverage is national plus ACT — both things an agent cannot infer from the schema. It doesn't say anything about response shape or failure modes when a GNAF ID has no planning record.

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?

Front-loaded with the substantive payload definition, then degenerate scope, then sibling routing, with the price isolated at the end where it is easy to scan. Every sentence carries information; the only mild noise is the markdown backtick around `risks/all` in prose. Slightly long for two fields plus a caveat, but nothing is padded.

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?

With no output schema, the description does the work of naming the returned fields and their jurisdictional limits, which is the main risk for this tool. Annotations cover the safety profile and there is only one input, so the remaining gaps are the opaque `gnaf_id` and behaviour when no planning record exists. Adequate for a single-ID bundle lookup.

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?

The single parameter `gnaf_id` has 0% schema description coverage, so the description carries the full burden and says nothing about it — no format, no explanation of what a GNAF ID is, no hint on how to obtain one for a given address. The description's geography notes imply the ID is address-point based, but that is inference rather than stated meaning, leaving a real gap for a required identifier.

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 resource ('the planning controls on this block') and enumerates exactly what comes back: zone name, category, NSW statutory code, and NSW-only height of buildings and FSR at the address point. It also draws the boundary against two siblings, noting hazards live under `risks/all` and development applications are a suburb-level call, so an agent can separate this from `properties_development_zoning_code` or `suburbs_development_applications`.

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?

Explicit routing exists for two adjacent needs: hazard overlays go to `risks/all`, and DA context is a suburb-level call. It also states the jurisdictional scope for inclusion ('zones held for every state and the ACT', while height/FSR are NSW only), which tells an agent when the result will be thin. It stops short of naming the property-level zoning siblings as alternatives, but the exclusions it does give are clear.

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