Use BuildData from an AI assistant (MCP)
BuildData runs a remote MCP server. Claude, ChatGPT, Cursor, GitHub Copilot in VS Code and other MCP clients can search permits, major projects and addresses on your behalf, with your API key set once: in the client's configuration, or on a BuildData sign-in page for claude.ai and ChatGPT connectors.
Documentation menu
Cookbook
OverviewNew permit leadsHighest-value permitsFurnace and rewire permitsPermits near a pointMegaproject pipelineProjects near a siteZoning at an addressEverything at one addressEndpoints
GET/zoneGET/geocodeGET/reverse-geocodeGET/zoningPOST/permit/estimateGET/contractor/statsGET/contractor/coverageGET/contractorGET/propertyGET/address/normalizeGET/opening_soonGET/openingGET/businessGET/business/statsGET/business/coverageGET/contractor/{name_normalized}GET/permitGET/inspectionGET/licenceGET/development_permitGET/planning_applicationGET/assessmentGET/major_projectGET/heritage_statusGET/occupancy_permitGET/permit/statsGET/inspection/statsGET/licence/statsGET/development_permit/statsGET/planning_application/statsGET/assessment/statsGET/major_project/statsGET/heritage_status/statsGET/occupancy_permit/statsGET/permit/coverageGET/inspection/coverageGET/licence/coverageGET/development_permit/coverageGET/planning_application/coverageGET/assessment/coverageGET/major_project/coverageGET/heritage_status/coverageGET/occupancy_permit/coverageGET/permit/{record_id}/historyGET/permit/{record_id}GET/inspection/{record_id}GET/licence/{record_id}GET/development_permit/{record_id}GET/planning_application/{record_id}GET/assessment/{record_id}GET/major_project/{record_id}GET/heritage_status/{record_id}GET/occupancy_permit/{record_id}Your key goes in the client's configuration, never in a chat message. Anything typed into a conversation stays in its history and is sent to the model provider. If a key has been pasted into a chat, replace it from your dashboard.
The server
| Setting | Value |
|---|---|
| URL | https://api.builddata.ca/mcp |
| Transport | Streamable HTTP, stateless, JSON responses |
| Key | Authorization: Bearer YOUR_KEY or X-API-Key: YOUR_KEY, or OAuth sign-in for connectors |
No key yet? Sign up free, no card needed. Customers copy theirs from the dashboard. Replace YOUR_KEY in the snippets below with it.
Claude Code
Run once in a terminal:
claude mcp add --transport http builddata https://api.builddata.ca/mcp --header "Authorization: Bearer YOUR_KEY"Claude Desktop
A connector added in claude.ai (below) also appears in Claude Desktop, with nothing to install. To use a config file instead, open Settings, Developer, Edit Config, and add this to claude_desktop_config.json. It needs Node.js, which runs the mcp-remote bridge. Restart Claude Desktop afterwards.
{
"mcpServers": {
"builddata": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.builddata.ca/mcp",
"--header",
"Authorization:${BUILDDATA_AUTH}"
],
"env": {
"BUILDDATA_AUTH": "Bearer YOUR_KEY"
}
}
}
}Claude on the web and mobile (claude.ai)
In claude.ai, open Settings, Connectors, and choose Add custom connector. Name it BuildData, paste https://api.builddata.ca/mcp as the URL, leave the OAuth fields under Advanced settings empty, and add it. Claude then opens a BuildData page: paste your key there, not in the chat, and choose Connect. The connector works in Claude on the web, in the desktop app and on mobile. To disconnect, remove the connector, or rotate your key from the dashboard, which disconnects every assistant using it. On Team and Enterprise plans an owner adds the connector first, in the organization's settings.
Cursor
Add this to ~/.cursor/mcp.json, or to .cursor/mcp.json in one project:
{
"mcpServers": {
"builddata": {
"url": "https://api.builddata.ca/mcp",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}VS Code and GitHub Copilot
Add this to .vscode/mcp.json. VS Code asks for the key the first time the server starts and stores it encrypted, so it never sits in the file or in a Copilot chat:
{
"inputs": [
{
"type": "promptString",
"id": "builddata-key",
"description": "BuildData API key",
"password": true
}
],
"servers": {
"builddata": {
"type": "http",
"url": "https://api.builddata.ca/mcp",
"headers": {
"Authorization": "Bearer ${input:builddata-key}"
}
}
}
}Any other client
Most clients that speak Streamable HTTP accept a server URL and headers in this shape:
{
"mcpServers": {
"builddata": {
"type": "http",
"url": "https://api.builddata.ca/mcp",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}ChatGPT
In ChatGPT, turn on developer mode under Settings, Apps & Connectors, Advanced settings. Then create a connector: paste https://api.builddata.ca/mcp as the MCP server URL and choose OAuth for authentication. ChatGPT opens a BuildData page where you paste your key and choose Connect. In a business workspace an admin may need to allow custom connectors first.
Tools
Each tool calls the REST route beside it with your key, so it returns what that route returns, trimmed to 25 rows by default with a hint for the next page.
| Tool | What it answers | REST route |
|---|---|---|
search_permits | Building permits by city, type, trade, status, date, value, keyword or contractor. | /permit |
lookup_address | Every record on file at one street address, grouped by dataset. | /property |
major_projects | Major capital projects by city, sector, stage, minimum cost or keyword. | /major_project |
development_permits | Development permits, the land-use approval that comes before a building permit. | /development_permit |
planning_applications | Rezonings, site plans, subdivisions and variances filed with a city. | /planning_application |
business_openings | Businesses licensed in a city for the first time. | /opening |
coverage | Which cities a dataset holds, record counts, and a city's recent activity. | /permit/coverage |
rotate_key | Replaces a leaked key. The new key is emailed to the account owner, never shown in the chat; reconnect with it. | /auth/rotate-key |
Quota and the free tier
Every tool call is one API request against your key's daily quota, the same as calling the route yourself. Connecting and listing the tools cost nothing. On the free tier, records first published in the last 30 days are held back and each answer says so, which the assistant will pass on.
Things to ask
- New construction permits in Calgary over $1M issued since January.
- Everything on file at 7236 10 Street NE, Calgary.
- Hospital projects under construction in Ontario.
- Which cities publish development permits?