Agent Data Platform MCP
Provides AI agents with queryable access to NSW open government data, including Development Applications, Complying Development Certificates, and Property Planning Reports. Agents can search applications, resolve addresses, and get planning reports via MCP tools, with usage billed via x402 on Base.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://agent-data-platform.langtools.workers.dev/mcpWhat its tools do
12 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (11)
Can change data (1)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Find development applications near a specific address
- Search NSW development applications by council or suburb
- Get planning controls and zoning for a NSW property
- Resolve a NSW street address to official coordinates
Source and maintenance
Protocol and capabilities
- Server
- agent-data-platform 0.1.4
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 12 advertised
- Resources
- 4 advertised
- Resource templates
- 0 advertised
- Prompts
- 4 advertised
{
"tools": {
"listChanged": true
},
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
12 advertised
nsw_da_get_summary — Get counts of NSW development applications by status, application type and council.
Get counts of NSW development applications by status, application type and council. Call it before nsw_da_search_applications or nsw_da_search_nearby_applications: it returns the total loaded and by_status, by_application_type and by_council lists of { key, count }, whose keys are the exact filter values those tools accept. Filters are optional and combine with AND; without them the counts cover all of NSW. Counts refresh every 6 hours while the history backfill extends coverage back to 2021. Free, no payment needed. Source: NSW Department of Planning, Housing and Infrastructure (NSW Planning Portal), CC BY 4.0.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"status": {
"type": [
"string",
"number"
],
"description": "Application status, exact and case-sensitive; valid values are the keys of by_status in nsw_da_get_summary (e.g. Determined)"
},
"council": {
"type": [
"string",
"number"
],
"description": "Council name or part of it, case-insensitive; matches every council whose name contains it. Full names are in by_council of nsw_da_get_summary (e.g. Parramatta)"
},
"application_type": {
"type": [
"string",
"number"
],
"description": "Application type, exact and case-sensitive; valid values are the keys of by_application_type in nsw_da_get_summary (e.g. Development Application)"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"meta",
"attribution"
],
"properties": {
"data": {
"description": "Result: a list of applications for search and nearby tools, one record or summary object otherwise"
},
"meta": {
"type": "object",
"description": "Paging and query details, e.g. limit, offset, has_more, count",
"additionalProperties": {}
},
"attribution": {
"type": "object",
"required": [
"publisher",
"licence",
"licenceUrl",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Attribution text to show alongside the data"
},
"licence": {
"type": "string"
},
"publisher": {
"type": "string"
},
"licenceUrl": {
"type": "string"
}
},
"description": "Source attribution; keep it when presenting the data",
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Get counts of NSW development applications by status, application type and council.",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}nsw_da_search_applications — Search NSW development applications by council, suburb, postcode or lodgement date, newest lodgement first.
Search NSW development applications by council, suburb, postcode or lodgement date, newest lodgement first. Returns up to 100 development applications per call with address, status, cost, dwellings, storeys and development types, plus has_more for paging with offset. status, application_type, development_type and min_cost must be combined with council, suburb or postcode. Use get_application for the full record of a result. Costs $0.01 per call, paid via x402 in USDC on Base; the first 3 paid-tool calls per day are free for MCP clients while a shared daily allowance lasts. Without x402 support, later calls return the payment requirements as an error result. Failed calls are not charged. Source: NSW Department of Planning, Housing and Infrastructure (NSW Planning Portal), CC BY 4.0.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": [
"string",
"number"
],
"description": "Page size, 1-100 (default 20)"
},
"offset": {
"type": [
"string",
"number"
],
"description": "Number of results to skip, 0-1000 (default 0)"
},
"status": {
"type": [
"string",
"number"
],
"description": "Application status, exact and case-sensitive; valid values are the keys of by_status in nsw_da_get_summary (e.g. Determined)"
},
"suburb": {
"type": [
"string",
"number"
],
"description": "Suburb of the primary address, case-insensitive (e.g. ERMINGTON)"
},
"council": {
"type": [
"string",
"number"
],
"description": "Council name or part of it, case-insensitive; matches every council whose name contains it. Full names are in by_council of nsw_da_get_summary (e.g. Parramatta)"
},
"min_cost": {
"type": [
"string",
"number"
],
"description": "Minimum estimated cost of development in AUD (e.g. 1000000)"
},
"postcode": {
"type": [
"string",
"number"
],
"description": "4-digit postcode of the primary address (e.g. 2115)"
},
"lodged_to": {
"type": [
"string",
"number"
],
"description": "Lodgement date upper bound, yyyy-mm-dd (e.g. 2026-06-30)"
},
"lodged_from": {
"type": [
"string",
"number"
],
"description": "Lodgement date lower bound, yyyy-mm-dd (e.g. 2026-01-01)"
},
"application_type": {
"type": [
"string",
"number"
],
"description": "Application type, exact and case-sensitive; valid values are the keys of by_application_type in nsw_da_get_summary (e.g. Development Application)"
},
"development_type": {
"type": [
"string",
"number"
],
"description": "Development type, partial match (e.g. dwelling)"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"meta",
"attribution"
],
"properties": {
"data": {
"description": "Result: a list of applications for search and nearby tools, one record or summary object otherwise"
},
"meta": {
"type": "object",
"description": "Paging and query details, e.g. limit, offset, has_more, count",
"additionalProperties": {}
},
"attribution": {
"type": "object",
"required": [
"publisher",
"licence",
"licenceUrl",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Attribution text to show alongside the data"
},
"licence": {
"type": "string"
},
"publisher": {
"type": "string"
},
"licenceUrl": {
"type": "string"
}
},
"description": "Source attribution; keep it when presenting the data",
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Search NSW development applications by council, suburb, postcode or lodgement date, newest lodgement first.",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}nsw_da_get_application — Get the full record of one of the NSW development applications by its Planning Portal application number (PAN).
Get the full record of one of the NSW development applications by its Planning Portal application number (PAN). Returns every location with lot and plan, all development types, submission, lodgement, determination and exhibition dates, cost, dwellings, storeys, lots and the remaining source fields. Take PAN numbers from search_applications or search_nearby_applications. An unknown number returns not_found and is not charged. Costs $0.005 per call, paid via x402 in USDC on Base; the first 3 paid-tool calls per day are free for MCP clients while a shared daily allowance lasts. Without x402 support, later calls return the payment requirements as an error result. Failed calls are not charged. Source: NSW Department of Planning, Housing and Infrastructure (NSW Planning Portal), CC BY 4.0.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"pan"
],
"properties": {
"pan": {
"type": [
"string",
"number"
],
"description": "Planning Portal application number (PAN) (e.g. PAN-624302)"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"meta",
"attribution"
],
"properties": {
"data": {
"description": "Result: a list of applications for search and nearby tools, one record or summary object otherwise"
},
"meta": {
"type": "object",
"description": "Paging and query details, e.g. limit, offset, has_more, count",
"additionalProperties": {}
},
"attribution": {
"type": "object",
"required": [
"publisher",
"licence",
"licenceUrl",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Attribution text to show alongside the data"
},
"licence": {
"type": "string"
},
"publisher": {
"type": "string"
},
"licenceUrl": {
"type": "string"
}
},
"description": "Source attribution; keep it when presenting the data",
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Get the full record of one of the NSW development applications by its Planning Portal application number (PAN).",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}nsw_da_search_nearby_applications — Find NSW development applications within 2 km of a street address or latitude/longitude, nearest first.
Find NSW development applications within 2 km of a street address or latitude/longitude, nearest first. Pass address (e.g. '10 Brigalow Ave, Casula') and it is geocoded against the official NSW address register, or pass lat and lng. Returns the distance in metres for each result plus the same fields as search_applications; meta.geocode shows the matched address. An unknown or ambiguous address returns an error with suggestions and is not charged. lodged_from limits results to recent applications. Costs $0.02 per call, paid via x402 in USDC on Base; the first 3 paid-tool calls per day are free for MCP clients while a shared daily allowance lasts. Without x402 support, later calls return the payment requirements as an error result. Failed calls are not charged. Source: NSW Department of Planning, Housing and Infrastructure (NSW Planning Portal), CC BY 4.0.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"type": [
"string",
"number"
],
"description": "Latitude (WGS84); required unless address is given (e.g. -33.81)"
},
"lng": {
"type": [
"string",
"number"
],
"description": "Longitude (WGS84); required unless address is given (e.g. 151.06)"
},
"limit": {
"type": [
"string",
"number"
],
"description": "Max results, 1-100 (default 20)"
},
"address": {
"type": [
"string",
"number"
],
"description": "NSW street address with suburb; alternative to lat/lng (e.g. 10 Brigalow Ave, Casula NSW 2170)"
},
"radius_m": {
"type": [
"string",
"number"
],
"description": "Radius in metres, 1-2000 (default 500)"
},
"lodged_from": {
"type": [
"string",
"number"
],
"description": "Lodgement date lower bound, yyyy-mm-dd"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"meta",
"attribution"
],
"properties": {
"data": {
"description": "Result: a list of applications for search and nearby tools, one record or summary object otherwise"
},
"meta": {
"type": "object",
"description": "Paging and query details, e.g. limit, offset, has_more, count",
"additionalProperties": {}
},
"attribution": {
"type": "object",
"required": [
"publisher",
"licence",
"licenceUrl",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Attribution text to show alongside the data"
},
"licence": {
"type": "string"
},
"publisher": {
"type": "string"
},
"licenceUrl": {
"type": "string"
}
},
"description": "Source attribution; keep it when presenting the data",
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Find NSW development applications within 2 km of a street address or latitude/longitude, nearest first.",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}nsw_da_resolve_address — Resolve a NSW street address to its official form and latitude/longitude.
Resolve a NSW street address to its official form and latitude/longitude. Matches the address against the NSW address register and returns matched_address, lat and lng. Use it to check an address before nsw_da_search_nearby_applications, nsw_cdc_search_nearby_applications or nsw_property_get_planning_report, which accept the same address or the returned lat and lng. An ambiguous address returns an error with suggested matches; an unknown one returns address_not_found. Free, no payment needed. Source: NSW Spatial Services, CC BY 4.0.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": [
"string",
"number"
],
"description": "Street number, street and suburb; a trailing state and postcode are accepted and ignored (e.g. 10 Brigalow Ave, Casula NSW 2170)"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"meta",
"attribution"
],
"properties": {
"data": {
"description": "Result: a list of applications for search and nearby tools, one record or summary object otherwise"
},
"meta": {
"type": "object",
"description": "Paging and query details, e.g. limit, offset, has_more, count",
"additionalProperties": {}
},
"attribution": {
"type": "object",
"required": [
"publisher",
"licence",
"licenceUrl",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Attribution text to show alongside the data"
},
"licence": {
"type": "string"
},
"publisher": {
"type": "string"
},
"licenceUrl": {
"type": "string"
}
},
"description": "Source attribution; keep it when presenting the data",
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Resolve a NSW street address to its official form and latitude/longitude.",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}nsw_cdc_get_summary — Get counts of NSW complying development certificates (CDCs) by status, application type and council.
Get counts of NSW complying development certificates (CDCs) by status, application type and council. Call it before nsw_cdc_search_applications or nsw_cdc_search_nearby_applications: it returns the total loaded and by_status, by_application_type and by_council lists of { key, count }, whose keys are the exact filter values those tools accept. Filters are optional and combine with AND; without them the counts cover all of NSW. Counts refresh every 6 hours while the history backfill extends coverage back to 2021. Free, no payment needed. Source: NSW Department of Planning, Housing and Infrastructure (NSW Planning Portal), CC BY 4.0.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"status": {
"type": [
"string",
"number"
],
"description": "Application status, exact and case-sensitive; valid values are the keys of by_status in nsw_cdc_get_summary (e.g. Approved)"
},
"council": {
"type": [
"string",
"number"
],
"description": "Council name or part of it, case-insensitive; matches every council whose name contains it. Full names are in by_council of nsw_cdc_get_summary (e.g. Parramatta)"
},
"application_type": {
"type": [
"string",
"number"
],
"description": "Application type, exact and case-sensitive; valid values are the keys of by_application_type in nsw_cdc_get_summary (e.g. Complying Development Certificate Application)"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"meta",
"attribution"
],
"properties": {
"data": {
"description": "Result: a list of applications for search and nearby tools, one record or summary object otherwise"
},
"meta": {
"type": "object",
"description": "Paging and query details, e.g. limit, offset, has_more, count",
"additionalProperties": {}
},
"attribution": {
"type": "object",
"required": [
"publisher",
"licence",
"licenceUrl",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Attribution text to show alongside the data"
},
"licence": {
"type": "string"
},
"publisher": {
"type": "string"
},
"licenceUrl": {
"type": "string"
}
},
"description": "Source attribution; keep it when presenting the data",
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Get counts of NSW complying development certificates (CDCs) by status, application type and council.",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}nsw_cdc_search_applications — Search NSW complying development certificates (CDCs) by council, suburb, postcode or lodgement date, newest lodgement first.
Search NSW complying development certificates (CDCs) by council, suburb, postcode or lodgement date, newest lodgement first. Returns up to 100 complying development certificates (CDCs) per call with address, status, cost, dwellings, storeys and development types, plus has_more for paging with offset. status, application_type, development_type and min_cost must be combined with council, suburb or postcode. Use get_application for the full record of a result. Costs $0.01 per call, paid via x402 in USDC on Base; the first 3 paid-tool calls per day are free for MCP clients while a shared daily allowance lasts. Without x402 support, later calls return the payment requirements as an error result. Failed calls are not charged. Source: NSW Department of Planning, Housing and Infrastructure (NSW Planning Portal), CC BY 4.0.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": [
"string",
"number"
],
"description": "Page size, 1-100 (default 20)"
},
"offset": {
"type": [
"string",
"number"
],
"description": "Number of results to skip, 0-1000 (default 0)"
},
"status": {
"type": [
"string",
"number"
],
"description": "Application status, exact and case-sensitive; valid values are the keys of by_status in nsw_cdc_get_summary (e.g. Approved)"
},
"suburb": {
"type": [
"string",
"number"
],
"description": "Suburb of the primary address, case-insensitive (e.g. ERMINGTON)"
},
"council": {
"type": [
"string",
"number"
],
"description": "Council name or part of it, case-insensitive; matches every council whose name contains it. Full names are in by_council of nsw_cdc_get_summary (e.g. Parramatta)"
},
"min_cost": {
"type": [
"string",
"number"
],
"description": "Minimum estimated cost of development in AUD (e.g. 1000000)"
},
"postcode": {
"type": [
"string",
"number"
],
"description": "4-digit postcode of the primary address (e.g. 2115)"
},
"lodged_to": {
"type": [
"string",
"number"
],
"description": "Lodgement date upper bound, yyyy-mm-dd (e.g. 2026-06-30)"
},
"lodged_from": {
"type": [
"string",
"number"
],
"description": "Lodgement date lower bound, yyyy-mm-dd (e.g. 2026-01-01)"
},
"application_type": {
"type": [
"string",
"number"
],
"description": "Application type, exact and case-sensitive; valid values are the keys of by_application_type in nsw_cdc_get_summary (e.g. Complying Development Certificate Application)"
},
"development_type": {
"type": [
"string",
"number"
],
"description": "Development type, partial match (e.g. dwelling)"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"meta",
"attribution"
],
"properties": {
"data": {
"description": "Result: a list of applications for search and nearby tools, one record or summary object otherwise"
},
"meta": {
"type": "object",
"description": "Paging and query details, e.g. limit, offset, has_more, count",
"additionalProperties": {}
},
"attribution": {
"type": "object",
"required": [
"publisher",
"licence",
"licenceUrl",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Attribution text to show alongside the data"
},
"licence": {
"type": "string"
},
"publisher": {
"type": "string"
},
"licenceUrl": {
"type": "string"
}
},
"description": "Source attribution; keep it when presenting the data",
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Search NSW complying development certificates (CDCs) by council, suburb, postcode or lodgement date, newest lodgement first.",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}nsw_cdc_get_application — Get the full record of one of the NSW complying development certificates (CDCs) by its Planning Portal CDC number.
Get the full record of one of the NSW complying development certificates (CDCs) by its Planning Portal CDC number. Returns every location with lot and plan, all development types, submission, lodgement, determination and exhibition dates, cost, dwellings, storeys, lots and the remaining source fields. Take CDC numbers from search_applications or search_nearby_applications. An unknown number returns not_found and is not charged. Costs $0.005 per call, paid via x402 in USDC on Base; the first 3 paid-tool calls per day are free for MCP clients while a shared daily allowance lasts. Without x402 support, later calls return the payment requirements as an error result. Failed calls are not charged. Source: NSW Department of Planning, Housing and Infrastructure (NSW Planning Portal), CC BY 4.0.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"cdc"
],
"properties": {
"cdc": {
"type": [
"string",
"number"
],
"description": "Planning Portal CDC number (e.g. CDC-388198)"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"meta",
"attribution"
],
"properties": {
"data": {
"description": "Result: a list of applications for search and nearby tools, one record or summary object otherwise"
},
"meta": {
"type": "object",
"description": "Paging and query details, e.g. limit, offset, has_more, count",
"additionalProperties": {}
},
"attribution": {
"type": "object",
"required": [
"publisher",
"licence",
"licenceUrl",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Attribution text to show alongside the data"
},
"licence": {
"type": "string"
},
"publisher": {
"type": "string"
},
"licenceUrl": {
"type": "string"
}
},
"description": "Source attribution; keep it when presenting the data",
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Get the full record of one of the NSW complying development certificates (CDCs) by its Planning Portal CDC number.",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}nsw_cdc_search_nearby_applications — Find NSW complying development certificates (CDCs) within 2 km of a street address or latitude/longitude, nearest first.
Find NSW complying development certificates (CDCs) within 2 km of a street address or latitude/longitude, nearest first. Pass address (e.g. '10 Brigalow Ave, Casula') and it is geocoded against the official NSW address register, or pass lat and lng. Returns the distance in metres for each result plus the same fields as search_applications; meta.geocode shows the matched address. An unknown or ambiguous address returns an error with suggestions and is not charged. lodged_from limits results to recent applications. Costs $0.02 per call, paid via x402 in USDC on Base; the first 3 paid-tool calls per day are free for MCP clients while a shared daily allowance lasts. Without x402 support, later calls return the payment requirements as an error result. Failed calls are not charged. Source: NSW Department of Planning, Housing and Infrastructure (NSW Planning Portal), CC BY 4.0.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"type": [
"string",
"number"
],
"description": "Latitude (WGS84); required unless address is given (e.g. -33.81)"
},
"lng": {
"type": [
"string",
"number"
],
"description": "Longitude (WGS84); required unless address is given (e.g. 151.06)"
},
"limit": {
"type": [
"string",
"number"
],
"description": "Max results, 1-100 (default 20)"
},
"address": {
"type": [
"string",
"number"
],
"description": "NSW street address with suburb; alternative to lat/lng (e.g. 10 Brigalow Ave, Casula NSW 2170)"
},
"radius_m": {
"type": [
"string",
"number"
],
"description": "Radius in metres, 1-2000 (default 500)"
},
"lodged_from": {
"type": [
"string",
"number"
],
"description": "Lodgement date lower bound, yyyy-mm-dd"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"meta",
"attribution"
],
"properties": {
"data": {
"description": "Result: a list of applications for search and nearby tools, one record or summary object otherwise"
},
"meta": {
"type": "object",
"description": "Paging and query details, e.g. limit, offset, has_more, count",
"additionalProperties": {}
},
"attribution": {
"type": "object",
"required": [
"publisher",
"licence",
"licenceUrl",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Attribution text to show alongside the data"
},
"licence": {
"type": "string"
},
"publisher": {
"type": "string"
},
"licenceUrl": {
"type": "string"
}
},
"description": "Source attribution; keep it when presenting the data",
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Find NSW complying development certificates (CDCs) within 2 km of a street address or latitude/longitude, nearest first.",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}nsw_property_get_planning_report — Get the planning controls, lot and development applications for a NSW address in one call.
Get the planning controls, lot and development applications for a NSW address in one call. Pass address (e.g. '5A Atkins Rd, Ermington') or lat and lng. Returns the lot and plan, zoning, maximum building height, floor space ratio, minimum lot size, heritage listings and special planning areas, each linked to its planning instrument, plus development applications and CDCs on the site and within radius_m (default 200, max 500), 10 of each, nearest first. Council DCP controls such as setbacks are not included. An unknown or ambiguous address returns an error with suggestions and is not charged. Costs $0.05 per call, paid via x402 in USDC on Base; the first 3 paid-tool calls per day are free for MCP clients while a shared daily allowance lasts. Without x402 support, later calls return the payment requirements as an error result. Failed calls are not charged. Source: NSW Department of Planning, Housing and Infrastructure; NSW Spatial Services, CC BY 3.0 AU and CC BY 4.0.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"type": [
"string",
"number"
],
"description": "Latitude, instead of address"
},
"lng": {
"type": [
"string",
"number"
],
"description": "Longitude, instead of address"
},
"address": {
"type": [
"string",
"number"
],
"description": "NSW street address with suburb (e.g. 5A Atkins Rd, Ermington)"
},
"radius_m": {
"type": [
"string",
"number"
],
"description": "Radius for nearby applications in metres (default 200, max 500)"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"meta",
"attribution"
],
"properties": {
"data": {
"description": "Result: a list of applications for search and nearby tools, one record or summary object otherwise"
},
"meta": {
"type": "object",
"description": "Paging and query details, e.g. limit, offset, has_more, count",
"additionalProperties": {}
},
"attribution": {
"type": "object",
"required": [
"publisher",
"licence",
"licenceUrl",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Attribution text to show alongside the data"
},
"licence": {
"type": "string"
},
"publisher": {
"type": "string"
},
"licenceUrl": {
"type": "string"
}
},
"description": "Source attribution; keep it when presenting the data",
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Get the planning controls, lot and development applications for a NSW address in one call.",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}nsw_property_get_development_activity — Get what is being built near a NSW address: development applications and CDCs, summarised.
Get what is being built near a NSW address: development applications and CDCs, summarised. Answers questions such as "what is being built near this address" in one call. Pass address or lat and lng. Merges development applications and complying development certificates lodged within radius_m (default 500, max 2000) in the last months (default 24, max 120) and returns totals (applications, new dwellings, total cost), counts by status, development type and year, the 5 largest by cost, and the newest limit applications (default 20, max 50) with distance, status, cost and dates. Use nsw_property_get_planning_report for the zoning and controls of the site itself, and nsw_da_get_application or nsw_cdc_get_application for one record in full. capped is true when more than 2000 records of one kind matched; the summary then covers the nearest ones. An unknown or ambiguous address returns an error with suggestions and is not charged. Costs $0.03 per call, paid via x402 in USDC on Base; the first 3 paid-tool calls per day are free for MCP clients while a shared daily allowance lasts. Without x402 support, later calls return the payment requirements as an error result. Failed calls are not charged. Source: NSW Department of Planning, Housing and Infrastructure; NSW Spatial Services, CC BY 3.0 AU and CC BY 4.0.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lat": {
"type": [
"string",
"number"
],
"description": "Latitude in decimal degrees, instead of address"
},
"lng": {
"type": [
"string",
"number"
],
"description": "Longitude in decimal degrees, instead of address"
},
"limit": {
"type": [
"string",
"number"
],
"description": "Newest applications to list, 1-50 (default 20); totals cover all matches"
},
"months": {
"type": [
"string",
"number"
],
"description": "Lodgement window in months back from today, 1-120 (default 24)"
},
"address": {
"type": [
"string",
"number"
],
"description": "Street number, street and suburb; or pass lat and lng (e.g. 5A Atkins Rd, Ermington)"
},
"radius_m": {
"type": [
"string",
"number"
],
"description": "Search radius in metres, 1-2000 (default 500)"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"meta",
"attribution"
],
"properties": {
"data": {
"description": "Result: a list of applications for search and nearby tools, one record or summary object otherwise"
},
"meta": {
"type": "object",
"description": "Paging and query details, e.g. limit, offset, has_more, count",
"additionalProperties": {}
},
"attribution": {
"type": "object",
"required": [
"publisher",
"licence",
"licenceUrl",
"text"
],
"properties": {
"text": {
"type": "string",
"description": "Attribution text to show alongside the data"
},
"licence": {
"type": "string"
},
"publisher": {
"type": "string"
},
"licenceUrl": {
"type": "string"
}
},
"description": "Source attribution; keep it when presenting the data",
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Get what is being built near a NSW address: development applications and CDCs, summarised.",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}request_data — Request data that is not covered yet
Request Australian data that these tools do not provide yet (another state, dataset, field or filter), so the maintainers can consider it for a future release. Free. Describe the data and, optionally, the task it is for. Do not include personal information. Requests are stored anonymously and read by the maintainers; the result is only a confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"request"
],
"properties": {
"request": {
"type": "string",
"description": "The data you need, e.g. 'development applications in Victoria' or 'sale prices'"
},
"use_case": {
"type": "string",
"description": "Optional: the task you need it for"
}
},
"additionalProperties": false
}{
"title": "Request data that is not covered yet",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}Prompts
4 advertised
nsw_da_development_near_address — Development activity near an address
Find and summarise development applications and complying development certificates around an address in NSW.
- address
- Street address in NSW, e.g. 5A Atkins Road, Ermington (required)
- radius_m
- Search radius in metres, up to 2000 (default 500)
nsw_da_council_overview — Council development overview
Summarise development application activity in one NSW council area.
- council
- Council name or part of it, e.g. Parramatta (required)
nsw_da_track_application — Track a development application
Explain the status and key details of one application (DA or CDC).
- pan
- Planning Portal number, e.g. PAN-624302 (DA) or CDC-388198 (CDC) (required)
nsw_property_due_diligence — Planning check for a property
Summarise the planning controls and development activity for a NSW property, e.g. before buying.
- address
- Street address in NSW, e.g. 5A Atkins Road, Ermington (required)
Resources
4 advertised
llms_txt — Platform overview for agents
What the platform offers, how payment works and where the docs are.
https://agent-data-platform.langtools.workers.dev/llms.txtnsw_da_docs — NSW Development Applications: documentation
Endpoints, MCP tools, parameters, prices and attribution for NSW Development Applications.
https://agent-data-platform.langtools.workers.dev/docs/nsw-da.mdnsw_cdc_docs — NSW Complying Development Certificates: documentation
Endpoints, MCP tools, parameters, prices and attribution for NSW Complying Development Certificates.
https://agent-data-platform.langtools.workers.dev/docs/nsw-cdc.mdnsw_property_docs — NSW Property Planning Report: documentation
Endpoints, MCP tools, parameters, prices and attribution for NSW Property Planning Report.
https://agent-data-platform.langtools.workers.dev/docs/nsw-property.md30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 965 ms
- 95th percentile latency
- 965 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 965 ms · metadata changed · 12 tool(s), 4 resource(s), 0 resource template(s), 4 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http agent-data-platform-mcp-workers https://agent-data-platform.langtools.workers.dev/mcpCodex
codex mcp add agent-data-platform-mcp-workers --url https://agent-data-platform.langtools.workers.dev/mcpCursor
{
"mcpServers": {
"agent-data-platform-mcp-workers": {
"url": "https://agent-data-platform.langtools.workers.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"agent-data-platform-mcp-workers": {
"type": "streamableHttp",
"url": "https://agent-data-platform.langtools.workers.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"agent-data-platform-mcp-workers": {
"type": "http",
"url": "https://agent-data-platform.langtools.workers.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http agent-data-platform-mcp-workers https://agent-data-platform.langtools.workers.dev/mcpClaude Desktop
https://agent-data-platform.langtools.workers.dev/mcpWindsurf
{
"mcpServers": {
"agent-data-platform-mcp-workers": {
"serverUrl": "https://agent-data-platform.langtools.workers.dev/mcp"
}
}
}Let your agent find its tools
Find servers like Agent Data Platform MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.