Property · All planning — bundle
properties_development_allPrice: 8¢ per call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| gnaf_id | Yes |
properties_development_allPrice: 8¢ per call.
| Name | Required | Description | Default |
|---|---|---|---|
| gnaf_id | 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": [
- {
- "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: +nullDoes the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, idempotentHint, and destructiveHint, but the description adds no behavioral context beyond the price. It does not contradict annotations, but it contributes nothing about data scope, return format, or edge cases. The description fails to disclose any meaningful behavior.
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?
The description is extremely short, but this is under-specification, not conciseness. The single sentence about pricing does not earn its place as a substitute for a functional description. It omits essential information and is not front-loaded with purpose.
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 tool that bundles all planning data for a property, with one required parameter and no output schema, the description is completely inadequate. An agent cannot determine what data is returned, how to interpret the result, or when to use it. The description leaves all critical context missing.
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 description coverage is 0% and the description does not explain the gnaf_id parameter at all. The name hints at a GNAF identifier, but the description provides no clarification of its format, semantics, or required value. The parameter is left entirely undefined.
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 contains only the price ('**Price: 8¢ per call.**') and provides no statement of what the tool does. The name and title hint at a planning bundle, but the description itself does not define the verb, resource, or scope. It fails to distinguish from many related planning tools.
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?
There is no guidance on when to use this tool versus the numerous sibling tools such as properties_development_zoning_code or properties_development_zoning_overlays. No context, alternatives, or exclusions are mentioned.
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.