Property · Surrounding properties (200 m)
properties_surroundings_propertiesEvery GNAF property within 200 m of the subject, with lat/lng and mesh block.
Price: 15¢ per call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| gnaf_id | Yes |
properties_surroundings_propertiesEvery GNAF property within 200 m of the subject, with lat/lng and mesh block.
Price: 15¢ 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": [
- {
- "additionalProperties": true,
- "description": "Every GNAF property within 200 m of the subject.",
- "example": {
- "count": 128,
- "gnaf_pid": "GANSW704360755",
- "properties": [
- {
- "address": "9 The Barbette",
- "gnaf_pid": "GANSW704355807",
- "is_subject": false,
- "lat": -33.80427291,
- "lng": 151.21837048,
- "mb": "10843130000"
- },
- {
- "address": "90 The Bulwark",
- "gnaf_pid": "GANSW704360755",
- "is_subject": true,
- "lat": -33.80247931,
- "lng": 151.21971516,
- "mb": "10843090000"
- }
- ],
- "radius_m": 200
- },
- "properties": {
- "count": {
- "description": "Number of properties returned.",
- "title": "Count",
- "type": "integer"
- },
- "gnaf_pid": {
- "description": "The subject property's GNAF PID.",
- "title": "Gnaf Pid",
- "type": "string"
- },
- "properties": {
- "description": "Properties inside the box, subject included.",
- "items": {
- "additionalProperties": true,
- "description": "One property inside the search box.",
- "properties": {
- "address": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "Street address (title-cased).",
- "title": "Address"
- },
- "gnaf_pid": {
- "description": "GNAF PID of this property.",
- "title": "Gnaf Pid",
- "type": "string"
- },
- "is_subject": {
- "description": "True for the subject property itself.",
- "title": "Is Subject",
- "type": "boolean"
- },
- "lat": {
- "description": "Latitude (EPSG:4326).",
- "title": "Lat",
- "type": "number"
- },
- "lng": {
- "description": "Longitude (EPSG:4326).",
- "title": "Lng",
- "type": "number"
- },
- "mb": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "ABS 2021 mesh-block code the property sits in.",
- "title": "Mb"
- }
- },
- "required": [
- "gnaf_pid",
- "lat",
- "lng",
- "is_subject"
- ],
- "title": "SurroundingProperty",
- "type": "object"
- },
- "title": "Properties",
- "type": "array"
- },
- "radius_m": {
- "description": "Radius of the search box around the subject, metres.",
- "title": "Radius M",
- "type": "integer"
- }
- },
- "required": [
- "gnaf_pid",
- "radius_m",
- "count",
- "properties"
- ],
- "title": "SurroundingProperties",
- "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[SurroundingProperties]",
- "type": "object",
- "x-fastmcp-top-level-schema": "ApiResponse_SurroundingProperties_"
-}New value: +nullDoes the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is safe. The description adds the cost per call (15¢), which is useful, and the fixed 200-meter radius. However, it doesn't disclose any potential pagination limits, whether results are sorted, or if the call can fail without a valid GNAF ID. With annotations covering safety, the description's addition is moderate but not comprehensive.
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 concise, consisting of one sentence for the core function and one for pricing. It is front-loaded with the essential information and has no filler words. Every word earns its place, making it highly efficient.
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 simple single-parameter read-only tool, the description suffices to understand the purpose but lacks details on input format (e.g., GNAF ID specification) and output structure (since no output schema exists). An agent might need to infer these from naming conventions or rely on trial, but the tool's simplicity mitigates the risk. It is complete enough for basic usage but not fully self-contained.
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%, so the description must compensate for the single parameter 'gnaf_id'. It does not explain what format the GNAF ID should take or where to obtain it, which is a gap. However, the parameter name is self-explanatory for a domain-aware agent, and the description's context of 'subject' property implies it is the identifier of the target property. This is marginal improvement over the schema, earning a baseline 3.
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 clearly states the tool returns GNAF properties within 200 meters of a given property, including lat/lng and mesh block data. It uses a specific verb ('surrounding properties') and resource, and is distinguished from sibling tools like 'properties_neighbours' by the explicit distance filter and data attributes, though it doesn't name a specific alternative.
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?
The description conveys its primary use case (spatial proximity analysis) and implies when to use it (when nearby GNAF properties are needed), but it does not explicitly state when not to use it or suggest alternatives such as 'properties_neighbours' or 'properties_surroundings_parcels'. The context is clear enough for an agent to infer, but lacks explicit routing guidance.
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.