Skip to main content
Glama

Microburbs Australian Property Data

Cultural Integration (by suburb)

suburbs_demographics_cultural_integration
Read-onlyIdempotent

Shown in the suburb report as the 'Cultural Integration' card in the Demographics section.

Suburb cultural-integration composite (0-100) with national percentile and tier, plus the per-mesh-block scores behind it.

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_demographics_cultural_integration"
  }
}

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": "Cultural-integration composite — suburb tier + per-microburb scores.",
      -          "example": {
      -            "cg_impact_pct_yr": 0.43,
      -            "least_integrated": {
      -              "score_100": 51.5,
      -              "street": "Kalaroo Rd"
      -            },
      -            "microburbs": [
      -              {
      -                "mb": "10664530000",
      -                "score_100": 68.2,
      -                "street": "Marquis St"
      -              }
      -            ],
      -            "most_integrated": {
      -              "score_100": 68.2,
      -              "street": "Marquis St"
      -            },
      -            "n_microburbs": 77,
      -            "percentile": 79.7,
      -            "score_100": 61.8,
      -            "suburb": "Belmont North",
      -            "tier": "Top",
      -            "tier_growth_pct_4y": 1.7
      -          },
      -          "properties": {
      -            "cg_impact_pct_yr": {
      -              "description": "Capital-growth impact, % per year (tier growth / 4).",
      -              "title": "Cg Impact Pct Yr",
      -              "type": "number"
      -            },
      -            "least_integrated": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": true,
      -                  "description": "Most/least-integrated pocket callout.",
      -                  "properties": {
      -                    "score_100": {
      -                      "description": "Composite score, 0-100.",
      -                      "title": "Score 100",
      -                      "type": "number"
      -                    },
      -                    "street": {
      -                      "description": "Modal street of the pocket's MB.",
      -                      "title": "Street",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "street",
      -                    "score_100"
      -                  ],
      -                  "title": "IntegrationPocket",
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Lowest-scoring pocket."
      -            },
      -            "microburbs": {
      -              "description": "Per-microburb composite scores.",
      -              "items": {
      -                "additionalProperties": true,
      -                "description": "One microburb's cultural-integration composite.",
      -                "properties": {
      -                  "mb": {
      -                    "description": "ABS mesh-block code.",
      -                    "title": "Mb",
      -                    "type": "string"
      -                  },
      -                  "score_100": {
      -                    "description": "Composite score, 0-100.",
      -                    "title": "Score 100",
      -                    "type": "number"
      -                  },
      -                  "street": {
      -                    "anyOf": [
      -                      {
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ],
      -                    "description": "Modal street name in the MB.",
      -                    "title": "Street"
      -                  }
      -                },
      -                "required": [
      -                  "mb",
      -                  "score_100"
      -                ],
      -                "title": "CulturalIntegrationMb",
      -                "type": "object"
      -              },
      -              "title": "Microburbs",
      -              "type": "array"
      -            },
      -            "most_integrated": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": true,
      -                  "description": "Most/least-integrated pocket callout.",
      -                  "properties": {
      -                    "score_100": {
      -                      "description": "Composite score, 0-100.",
      -                      "title": "Score 100",
      -                      "type": "number"
      -                    },
      -                    "street": {
      -                      "description": "Modal street of the pocket's MB.",
      -                      "title": "Street",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "street",
      -                    "score_100"
      -                  ],
      -                  "title": "IntegrationPocket",
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Highest-scoring pocket."
      -            },
      -            "n_microburbs": {
      -              "description": "Microburbs with a composite score.",
      -              "title": "N Microburbs",
      -              "type": "integer"
      -            },
      -            "percentile": {
      -              "description": "National percentile (0-100).",
      -              "title": "Percentile",
      -              "type": "number"
      -            },
      -            "score_100": {
      -              "description": "Suburb composite score, 0-100.",
      -              "title": "Score 100",
      -              "type": "number"
      -            },
      -            "suburb": {
      -              "description": "Canonical SAL name.",
      -              "title": "Suburb",
      -              "type": "string"
      -            },
      -            "tier": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Tier bin: Top / Mid / Bottom.",
      -              "title": "Tier"
      -            },
      -            "tier_growth_pct_4y": {
      -              "description": "The tier's 4-year price growth (%).",
      -              "title": "Tier Growth Pct 4Y",
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "suburb",
      -            "score_100",
      -            "percentile",
      -            "tier_growth_pct_4y",
      -            "cg_impact_pct_yr",
      -            "n_microburbs",
      -            "microburbs"
      -          ],
      -          "title": "SuburbCulturalIntegration",
      -          "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[SuburbCulturalIntegration]",
      -  "type": "object",
      -  "x-fastmcp-top-level-schema": "ApiResponse_SuburbCulturalIntegration_"
      -}New value: +null
  2. First observed

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so safety is covered. The description adds genuinely useful non-annotation facts: the 0-100 normalisation, the presence of percentile/tier plus mesh-block detail, and a 20¢ per-call price the agent cannot learn elsewhere. It still omits failure behaviour for an unknown suburb name and any rate or quota context beyond price.

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?

Four short lines: location context first, then the returned content, then cost. Every element is relevant, and the bolded price is easy to scan. The first sentence is mildly redundant with the title but does frame where the metric surfaces.

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 necessary work of enumerating return values (composite, percentile, tier, mesh-block scores), which is the main risk for this tool. The remaining gaps are the suburb_name input format and the coverage boundary of which suburbs are valid.

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?

There is one required parameter, suburb_name, with 0% schema description coverage, so the description carries the full burden and provides nothing about accepted format (plain name, postcode, or slug), case sensitivity, or ambiguity handling for duplicate suburb names across states. The schema is a bare string with no enum or pattern, leaving the agent to guess.

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 the specific resource and output shape: a suburb-level cultural-integration composite on a 0-100 scale, with national percentile, tier, and the underlying per-mesh-block scores. An agent can tell this is a composite index tool rather than a raw cross-tab like the ancestry or birthplace-income siblings, though it never explicitly contrasts itself with those overlapping demographic tools.

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 when-to-use or when-not-to-use guidance, no indication of which suburbs are covered, and no pointer to a sibling for related breakdowns. The only contextual cue is that the result appears as a 'Cultural Integration' card in the suburb report, which describes placement rather than selection criteria.

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