Suburb · Zoning map (polygons)
suburbs_development_zoning_mapZoning polygons clipped to the suburb, with per-class and parent-group area shares.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| suburb_name | Yes |
suburbs_development_zoning_mapZoning polygons clipped to the suburb, with per-class and parent-group area shares.
| Name | Required | Description | Default |
|---|---|---|---|
| suburb_name | Yes |
Changes observed during successful MCP inspections.
Output 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": "Zoning polygons clipped to the suburb boundary, plus legend shares.",
- "example": {
- "area_level": "suburb",
- "area_name": "Belmont North",
- "geojson": {
- "features": [
- {
- "geometry": {
- "coordinates": [
- [
- [
- 151.6695,
- -33.0018
- ],
- [
- 151.6702,
- -33.0021
- ],
- [
- 151.6698,
- -33.0027
- ],
- [
- 151.6695,
- -33.0018
- ]
- ]
- ],
- "type": "Polygon"
- },
- "properties": {
- "color": "#27ae60",
- "lay_class": "Environmental Conservation",
- "parent": "Environmental",
- "sym_code": "C2"
- },
- "type": "Feature"
- }
- ],
- "type": "FeatureCollection"
- },
- "groups": [
- {
- "color": "#27ae60",
- "label": "Environmental",
- "pct": 24.3
- },
- {
- "color": "#e85d75",
- "label": "Residential",
- "pct": 64.1
- },
- {
- "color": "#f6c445",
- "label": "Commercial",
- "pct": 1.6
- },
- {
- "color": "#b8b8b8",
- "label": "Other",
- "pct": 10
- }
- ],
- "legend": [
- {
- "color": "#e85d75",
- "lay_class": "Low Density Residential",
- "parent": "Residential",
- "pct": 62.4,
- "sym_code": "R2"
- },
- {
- "color": "#27ae60",
- "lay_class": "Environmental Conservation",
- "parent": "Environmental",
- "pct": 21.9,
- "sym_code": "C2"
- }
- ]
- },
- "properties": {
- "area_level": {
- "description": "Always 'suburb'.",
- "title": "Area Level",
- "type": "string"
- },
- "area_name": {
- "description": "Suburb (SAL) name.",
- "title": "Area Name",
- "type": "string"
- },
- "geojson": {
- "description": "Zoning polygons. Feature properties: lay_class, sym_code, parent, color.",
- "properties": {
- "features": {
- "description": "Feature list.",
- "items": {
- "description": "RFC 7946 Feature — geometry + endpoint-specific properties.",
- "properties": {
- "geometry": {
- "additionalProperties": true,
- "description": "GeoJSON geometry (Polygon or MultiPolygon).",
- "title": "Geometry",
- "type": "object"
- },
- "properties": {
- "additionalProperties": true,
- "description": "Per-feature attributes — see the endpoint's example.",
- "title": "Properties",
- "type": "object"
- },
- "type": {
- "const": "Feature",
- "description": "Always 'Feature'.",
- "title": "Type",
- "type": "string"
- }
- },
- "required": [
- "type",
- "geometry",
- "properties"
- ],
- "title": "GeoJsonFeature",
- "type": "object"
- },
- "title": "Features",
- "type": "array"
- },
- "type": {
- "const": "FeatureCollection",
- "description": "Always 'FeatureCollection'.",
- "title": "Type",
- "type": "string"
- }
- },
- "required": [
- "type",
- "features"
- ],
- "title": "GeoJsonFeatureCollection",
- "type": "object"
- },
- "groups": {
- "description": "Parent-group area shares (Environmental / Residential / Commercial / Other).",
- "items": {
- "description": "Parent-group share of the suburb's zoned area.",
- "properties": {
- "color": {
- "description": "Hex colour for map styling.",
- "title": "Color",
- "type": "string"
- },
- "label": {
- "description": "Parent group name.",
- "title": "Label",
- "type": "string"
- },
- "pct": {
- "description": "Share of zoned area (%).",
- "title": "Pct",
- "type": "number"
- }
- },
- "required": [
- "label",
- "pct",
- "color"
- ],
- "title": "ZoningGroup",
- "type": "object"
- },
- "title": "Groups",
- "type": "array"
- },
- "legend": {
- "description": "Per-class area shares, largest first.",
- "items": {
- "additionalProperties": true,
- "description": "One zoning class with its share of the suburb's zoned area.",
- "properties": {
- "color": {
- "description": "Hex colour for map styling.",
- "title": "Color",
- "type": "string"
- },
- "lay_class": {
- "description": "Zoning layer class (e.g. 'Low Density Residential').",
- "title": "Lay Class",
- "type": "string"
- },
- "parent": {
- "description": "Parent group — Environmental / Residential / Commercial / Other.",
- "title": "Parent",
- "type": "string"
- },
- "pct": {
- "description": "Share of zoned area (%).",
- "title": "Pct",
- "type": "number"
- },
- "sym_code": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Zoning symbol code (e.g. 'R2').",
- "title": "Sym Code"
- }
- },
- "required": [
- "lay_class",
- "parent",
- "color",
- "pct"
- ],
- "title": "ZoningLegendRow",
- "type": "object"
- },
- "title": "Legend",
- "type": "array"
- }
- },
- "required": [
- "area_name",
- "area_level",
- "legend",
- "groups",
- "geojson"
- ],
- "title": "SuburbZoningMap",
- "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[SuburbZoningMap]",
- "type": "object",
- "x-fastmcp-top-level-schema": "ApiResponse_SuburbZoningMap_"
-}New value: +nullDoes the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral context: output is clipped to the suburb boundary and includes area-share computations. It does not describe the geometry format, projection, or whether the result is a GeoJSON feature collection, but annotations lower the burden here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that packs the object, scope, and computed fields with no filler. The core spatial scoping comes before the secondary area-share detail, and nothing in the sentence is redundant with the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only spatial lookup, the description covers what the tool returns and how it is scoped. There is no output schema, so a mention of the exact response shape would be helpful, but the missing detail is minor for an agent deciding whether and how to call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description never mentions the suburb_name parameter or how it should be supplied. The parameter name and the phrase 'clipped to the suburb' make the role inferable, but there is no guidance on accepted values, name format, or how to resolve a valid suburb identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear deliverable: zoning polygons clipped to a suburb, plus per-class and parent-group area shares. It distinguishes this from property-level zoning tools like properties_development_zoning_code by explicitly scoping to the suburb. It lacks an explicit verb like 'returns', but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to choose this tool over related siblings such as suburbs_development_all, suburbs_development_density, or suburbs_shapes_*. There are no conditions, exclusions, or references to alternative tools, so an agent must infer usage from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.