Skip to main content
Glama

Microburbs Australian Property Data

Construction activity by mesh block (by suburb)

suburbs_development_construction_activity
Read-onlyIdempotent

Satellite-detected construction change per mesh block plus a suburb rollup.

Price: 20¢ 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_development_construction_activity"
  }
}

Input Schema

NameRequiredDescriptionDefault
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": "Satellite-detected construction activity per mesh block + rollup.",
      -          "example": {
      -            "area_level": "suburb",
      -            "area_name": "Belmont North",
      -            "mesh_blocks": [
      -              {
      -                "construction_score": 0.0849,
      -                "mb_code": "10436570000",
      -                "ndbi_2019": -0.148,
      -                "ndbi_2023": -0.1056,
      -                "ndbi_change": 0.0423,
      -                "ndvi_change": -0.0426
      -              }
      -            ],
      -            "summary": {
      -              "active_mb_count": 3,
      -              "avg_construction_score": -0.0456,
      -              "avg_ndbi_change": -0.02,
      -              "mb_count": 66
      -            }
      -          },
      -          "properties": {
      -            "area_level": {
      -              "description": "Always 'suburb'.",
      -              "title": "Area Level",
      -              "type": "string"
      -            },
      -            "area_name": {
      -              "description": "Suburb (SAL) name.",
      -              "title": "Area Name",
      -              "type": "string"
      -            },
      -            "mesh_blocks": {
      -              "description": "Per-mesh-block rows, highest score first.",
      -              "items": {
      -                "additionalProperties": true,
      -                "description": "Whether a mesh block looks like it has been built on lately, judged\nfrom satellite imagery.\n\nThe method: compare two satellite readings of the same ground, one from\n2019 and one from 2023. Hard surfaces (roofs, concrete, cleared pads)\nreflect light differently from vegetation, so more hard surface plus\nless greenery is the fingerprint of building work. Every number below is\na **dimensionless index, not a count of dwellings** — it tells you where\nsomething changed, never what or how many.\n\nTwo limits worth stating to any end user: the window is a single\n2019→2023 comparison, so this is a *presence* signal rather than a\ntimeline and it cannot date anything; and dry ground can read like bare\nconstruction ground, which is exactly why `construction_score` also\nrequires vegetation to have fallen.",
      -                "properties": {
      -                  "construction_score": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "The headline 'has building happened here' indicator: how much the built-up index rose *net of* how much vegetation fell (`ndbi_change − ndvi_change`). A dimensionless signed index in roughly −1…+1, and in practice much nearer zero than that. Positive means hard surface gained while greenery was lost — the signature of construction; negative means the reverse. Rank mesh blocks by it rather than reading an absolute value, and remember it measures surface change, not dwellings built.",
      -                    "title": "Construction Score"
      -                  },
      -                  "mb_code": {
      -                    "description": "ABS mesh-block code for the small area these readings cover, as a digit string. Mesh blocks are the smallest ABS geography — roughly a block of 30–60 dwellings.",
      -                    "title": "Mb Code",
      -                    "type": "string"
      -                  },
      -                  "ndbi_2019": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "The 2019 baseline built-up reading (NDBI — Normalised Difference Built-up Index): a dimensionless ratio in −1…+1 where higher means more hard surface and lower means more vegetation or water. Given so you can see the starting point, e.g. a bare paddock vs an already dense block.",
      -                    "title": "Ndbi 2019"
      -                  },
      -                  "ndbi_2023": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "The same built-up reading for 2023, on the identical −1…+1 scale. The difference against `ndbi_2019` is `ndbi_change`.",
      -                    "title": "Ndbi 2023"
      -                  },
      -                  "ndbi_change": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "Change in built-up surface between 2019 and 2023 — `ndbi_2023 − ndbi_2019`, so positive means more hard surface (roofs, concrete, cleared ground) at the end of the window. Dimensionless, typically a small fraction. On its own it is confounded by dry conditions, since bare dry soil also reads as built-up; `construction_score` is the de-confounded version.",
      -                    "title": "Ndbi Change"
      -                  },
      -                  "ndvi_change": {
      -                    "anyOf": [
      -                      {
      -                        "type": "number"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "Change in vegetation cover 2019→2023 (NDVI, the greenness counterpart to NDBI, also dimensionless). Negative means vegetation was lost — land cleared — which alongside a rising `ndbi_change` is the strongest sign of development. Positive means the area got greener.",
      -                    "title": "Ndvi Change"
      -                  }
      -                },
      -                "required": [
      -                  "mb_code"
      -                ],
      -                "title": "ConstructionMb",
      -                "type": "object"
      -              },
      -              "title": "Mesh Blocks",
      -              "type": "array"
      -            },
      -            "summary": {
      -              "description": "Suburb rollup.",
      -              "properties": {
      -                "active_mb_count": {
      -                  "description": "Mesh blocks with a positive construction score.",
      -                  "title": "Active Mb Count",
      -                  "type": "integer"
      -                },
      -                "avg_construction_score": {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "description": "Mean construction score across mesh blocks (signed composite index, ~-1 to +1; positive = net building activity).",
      -                  "title": "Avg Construction Score"
      -                },
      -                "avg_ndbi_change": {
      -                  "anyOf": [
      -                    {
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "description": "Mean NDBI change across mesh blocks.",
      -                  "title": "Avg Ndbi Change"
      -                },
      -                "mb_count": {
      -                  "description": "Mesh blocks with satellite coverage.",
      -                  "title": "Mb Count",
      -                  "type": "integer"
      -                }
      -              },
      -              "required": [
      -                "mb_count",
      -                "active_mb_count"
      -              ],
      -              "title": "ConstructionSummary",
      -              "type": "object"
      -            }
      -          },
      -          "required": [
      -            "area_name",
      -            "area_level",
      -            "summary",
      -            "mesh_blocks"
      -          ],
      -          "title": "SuburbConstructionActivity",
      -          "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[SuburbConstructionActivity]",
      -  "type": "object",
      -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbConstructionActivity_"
      -}New value: +null
  2. First observed

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare this a read-only, idempotent, non-destructive, closed-world operation, so the safety profile is covered. The description adds two genuinely useful facts beyond that: the data source is satellite detection, and each call costs 20¢. It does not disclose the time period covered, what a 'change' measures, or how the suburb rollup relates to the mesh-block rows.

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?

Two short sentences with the substantive description front-loaded and the pricing note separated out. Nothing is padded, though the bolded price line reads as promotional formatting rather than explanatory content.

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

Completeness2/5

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

With no output schema, 0% parameter coverage, and a paid call, the description should carry more weight than it does. It never explains the temporal scope, units of construction activity, what fields the suburb rollup contains, or the expected input format, leaving real ambiguity about what an agent will receive for its 20¢.

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?

Schema description coverage is 0% and the description never mentions the single required suburb_name parameter. It does not say whether the value is a plain name, an exact match, or a code, nor what happens on ambiguous or unknown suburbs. Only the self-explanatory parameter name prevents a lower score.

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 names a concrete data product: satellite-detected construction change at mesh-block level with a suburb-level rollup. That is more specific than the title alone and tells an agent what the output granularity is. It stops short of differentiating itself from nearby siblings such as suburbs_development_all or suburbs_mesh_blocks_building.

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?

There is no statement of when to choose this tool over the many development/mesh-block siblings, no prerequisites, and no exclusions. The only usage-relevant signal is an implied one from the name and title. An agent must infer the use case entirely.

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