Public building permits, property assessments, parcels and development intelligence.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Retrieve a permit using the numeric PropertyLabs canonical permit ID and city slug. Use this for a permit already referenced by a public PropertyLabs /permit/{city}/{id} URL. Returns only fields allowed on the public permit page; applicant and contractor identities remain gated.
Required PropertyLabs city slug from the public permit URL.
Numeric PropertyLabs canonical permit ID from a public PropertyLabs permit URL.
Retrieve a permit using the numeric PropertyLabs canonical permit ID and city slug. Use this for a permit already referenced by a public PropertyLabs /permit/{city}/{id} URL. Returns only fields allowed on the public permit page; applicant and contractor identities remain gated.
| Argument | Type | Description |
|---|---|---|
| city* | string | Required PropertyLabs city slug from the public permit URL. |
| canonical_id* | string | Numeric PropertyLabs canonical permit ID from a public PropertyLabs permit URL. |
{
"type": "object",
"required": [
"canonical_id",
"city"
],
"properties": {
"city": {
"type": "string",
"description": "Required PropertyLabs city slug from the public permit URL."
},
"canonical_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Numeric PropertyLabs canonical permit ID from a public PropertyLabs permit URL."
}
},
"additionalProperties": false
}Look up the public PropertyLabs permit history for a specific civic address in a specific city. Use this for address-level construction history and activity. This follows the same public field boundary as PropertyLabs address pages and does not return applicant names, contractor names or permit numbers.
| Argument | Type | Description |
|---|---|---|
| city* | string | Required PropertyLabs city slug, for example 'calgary', 'edmonton', 'toronto' or 'vancouver'. |
| address* | string | Specific civic address, for example 8882 170 Street NW. |
{
"type": "object",
"required": [
"address",
"city"
],
"properties": {
"city": {
"type": "string",
"description": "Required PropertyLabs city slug, for example 'calgary', 'edmonton', 'toronto' or 'vancouver'."
},
"address": {
"type": "string",
"maxLength": 180,
"minLength": 4,
"description": "Specific civic address, for example 8882 170 Street NW."
}
},
"additionalProperties": false
}Get an aggregate, city-scoped sample of permit activity matching a developer, applicant, builder or contractor name. Only applicant/developer/contractor party-field matches are counted. Anonymous results are aggregate only and never return company-matched project addresses, permit numbers, coordinates or raw records.
| Argument | Type | Description |
|---|---|---|
| city* | string | Required PropertyLabs city slug. Company activity is never queried across the full archive anonymously. |
| company* | string | Developer, applicant, builder or contractor name. |
{
"type": "object",
"required": [
"company",
"city"
],
"properties": {
"city": {
"type": "string",
"description": "Required PropertyLabs city slug. Company activity is never queried across the full archive anonymously."
},
"company": {
"type": "string",
"maxLength": 160,
"minLength": 2,
"description": "Developer, applicant, builder or contractor name."
}
},
"additionalProperties": false
}