Skip to main content
Glama

Microburbs Australian Property Data

Property · Budget 2026 exposure

properties_valuation_negative_gearing
Read-onlyIdempotent

Shown in the property report as the 'Budget 2026 exposure' card in the Valuation part of the Market section.

Negative-gearing stat at the finest available level: per-property cashflow scenarios (80% + 105% LVR), falling back to mesh-block then suburb investor-exposure.

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": {
      "gnaf_id": "<gnaf_id>"
    },
    "name": "properties_valuation_negative_gearing"
  }
}

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": [
      -        {
      -          "additionalProperties": true,
      -          "description": "Negative-gearing stat at the finest level available.\n\n``level='property'`` carries the per-property cashflow fields;\n``level='mb'`` / ``level='suburb'`` carry the area-exposure fields.\nFields for the other level are null.",
      -          "example": {
      -            "gross_yield_pct": 0.57,
      -            "is_negatively_geared": true,
      -            "level": "property",
      -            "lvr_default": 0.8,
      -            "net_cashflow_105lvr": -255336,
      -            "net_cashflow_80lvr": -189996,
      -            "net_cashflow_80lvr_wk": -3654,
      -            "rent_estimate_suspect": true
      -          },
      -          "properties": {
      -            "exposure": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Share of dwellings held by negatively-geared landlords, 0-1 (mb/suburb level).",
      -              "title": "Exposure"
      -            },
      -            "gross_yield_pct": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Gross rental yield, already a percent (property level).",
      -              "title": "Gross Yield Pct"
      -            },
      -            "is_negatively_geared": {
      -              "anyOf": [
      -                {
      -                  "type": "boolean"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Rent minus interest at 80% LVR is negative (property level).",
      -              "title": "Is Negatively Geared"
      -            },
      -            "level": {
      -              "description": "Resolution the stat was found at: per-property, mesh-block, or suburb.",
      -              "enum": [
      -                "property",
      -                "mb",
      -                "suburb"
      -              ],
      -              "title": "Level",
      -              "type": "string"
      -            },
      -            "lvr_default": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Headline-scenario LVR, 0-1 (property level).",
      -              "title": "Lvr Default"
      -            },
      -            "n_investor_candidates": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Number of investor candidates scored (mb/suburb level).",
      -              "title": "N Investor Candidates"
      -            },
      -            "net_cashflow_105lvr": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Net cashflow AUD/yr at the 105% equity-release scenario (property level).",
      -              "title": "Net Cashflow 105Lvr"
      -            },
      -            "net_cashflow_80lvr": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Net cashflow AUD/yr at the headline 80% LVR (property level).",
      -              "title": "Net Cashflow 80Lvr"
      -            },
      -            "net_cashflow_80lvr_wk": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Net cashflow AUD/wk at 80% LVR (property level).",
      -              "title": "Net Cashflow 80Lvr Wk"
      -            },
      -            "private_rental_share": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Private-rental share of dwellings, 0-1 (suburb level only).",
      -              "title": "Private Rental Share"
      -            },
      -            "realistic_lvr": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Mean LVR among candidates, 0-1 (mb level only).",
      -              "title": "Realistic Lvr"
      -            },
      -            "rent_estimate_suspect": {
      -              "anyOf": [
      -                {
      -                  "type": "boolean"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Upstream rent under-predicts — yield/cashflow indicative only (property level).",
      -              "title": "Rent Estimate Suspect"
      -            },
      -            "sal": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Suburb (SAL) name (mb/suburb level).",
      -              "title": "Sal"
      -            },
      -            "share_tax_loss_making": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Share of investor candidates that are tax-loss-making, 0-1 (mb/suburb level).",
      -              "title": "Share Tax Loss Making"
      -            },
      -            "tier": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Exposure tier (e.g. 'Very high', 'High', 'Medium', 'Low') (mb/suburb level).",
      -              "title": "Tier"
      -            }
      -          },
      -          "required": [
      -            "level"
      -          ],
      -          "title": "NegativeGearing",
      -          "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[NegativeGearing]",
      -  "type": "object",
      -  "x-fastmcp-top-level-schema": "ApiResponse_NegativeGearing_"
      -}New value: +null
  2. First observed

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, non-destructive and closed-world, so the description's job is marginal. It nonetheless adds two things annotations cannot convey: a cost signal ('20¢ per call') and the crucial caveat that results may silently degrade to mesh-block or suburb granularity. What it does not disclose is the billing/error behavior when a lookup fails, or the shape of the returned scenario set.

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?

Short and largely front-loaded, with the fallback hierarchy and price stated compactly. The opening report-card sentence consumes prime real estate for a fact of limited operational value, but nothing is wasted overall.

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 carries the burden of explaining returns, and it only partially does so: it names the 80%/105% LVR cashflow scenarios but not the fields, units, or what 'Budget 2026 exposure' specifically denotes. For a single-parameter, no-output-schema tool this is adequate but not complete.

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 coverage is 0% for the single required parameter gnaf_id, and the description never mentions it. The agent gets no confirmation that gnaf_id is a property-level G-NAF identifier, nor whether it accepts an address string. Only the parameter name itself carries meaning, so the description does not compensate for the coverage 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 states a concrete resource ('negative-gearing stat' for a property) and a resolution scope ('finest available level'), with an explicit fallback chain to mesh-block then suburb investor-exposure. That granularity ladder distinguishes it from the suburb-level sibling suburbs_market_negative_gearing_map. The leading sentence about the report card placement is less informative than the second, but the purpose is still recoverable.

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 rather than stated: by naming the finest available level with fallbacks, it hints the tool is the property-grain alternative to suburb aggregates, but it never names an alternative tool or says when not to use it. There is no guidance on gnaf_id prerequisites or what happens when no property-grain data exists beyond the fallback mention.

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