Building Compliance Agency — Municipal Plan & Occupancy
Building plan approvals, occupancy certificates, and municipal compliance readiness tools.
Should I use this
Quality & Safety
Findings (4)
- HIGH
- LOWin estimate_scrutiny_fee
- LOWin check_zoning_requirements
- LOWin submit_compliance_inquiry
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"buildingcompliance-mcp": {
"url": "https://buildingcompliance.co.za/mcp"
}
}
}Remote endpoints
https://buildingcompliance.co.za/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢estimate_scrutiny_fee(floor_area_sqm, municipality, building_classification)
Estimates municipal building plan scrutiny fees (ZAR) in Gauteng based on total floor area (sqm), municipality, and SANS 10400 occupancy classification. When to use: Call this tool when you specifically need to execute 'estimate_scrutiny_fee' on Building Compliance Agency (buildingcompliance.co.za). Do NOT use this tool when another specialized tool fits better (use 'check_zoning_requirements' or 'submit_compliance_inquiry' for their respective operations). Parameters: floor_area_sqm (required), municipality (required), building_classification (required). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.
Input Schema
{
"type": "object",
"properties": {
"floor_area_sqm": {
"type": "number",
"description": "Total floor area in square meters (sqm) [Required: non-empty valid value must be supplied]."
},
"municipality": {
"type": "string",
"enum": [
"Johannesburg",
"Tshwane",
"Ekurhuleni"
],
"description": "Gauteng metropolitan municipality [Required: non-empty valid value must be supplied]."
},
"building_classification": {
"type": "string",
"enum": [
"A1",
"B1",
"E1",
"F1",
"G1",
"H1",
"H3",
"H4"
],
"description": "SANS 10400 occupancy classification (e.g., H4 for dwelling house, G1 for offices) [Required: non-empty valid value must be supplied]."
}
},
"required": [
"floor_area_sqm",
"municipality",
"building_classification"
]
}🟢check_zoning_requirements(municipality, zoning_category)
Retrieves typical municipal coverage, Floor Area Ratio (FAR), height, and parking requirements for a given Gauteng municipality and zoning category. When to use: Call this tool when you specifically need to execute 'check_zoning_requirements' on Building Compliance Agency (buildingcompliance.co.za). Do NOT use this tool when another specialized tool fits better (use 'estimate_scrutiny_fee' or 'submit_compliance_inquiry' for their respective operations). Parameters: municipality (required), zoning_category (required). Behavior & Side Effects: Strictly read-only, idempotent query with zero state mutation; public unauthenticated access allowed; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.
Input Schema
{
"type": "object",
"properties": {
"municipality": {
"type": "string",
"enum": [
"Johannesburg",
"Tshwane",
"Ekurhuleni"
],
"description": "Target metropolitan municipality [Required: non-empty valid value must be supplied]."
},
"zoning_category": {
"type": "string",
"enum": [
"Residential 1",
"Residential 2",
"Residential 3",
"Residential 4",
"Business 1",
"Business 4",
"Industrial 1",
"Commercial"
],
"description": "Town planning zoning category [Required: non-empty valid value must be supplied]."
}
},
"required": [
"municipality",
"zoning_category"
]
}🟡submit_compliance_inquiry(client_name, email, phone, service_required, property_details)
Submits a compliance consultation or quote request for council building plan approval, archive plan retrieval, occupancy certificates, fire clearance, SDP, or rezoning. When to use: Call this tool when you specifically need to execute 'submit_compliance_inquiry' on Building Compliance Agency (buildingcompliance.co.za). Do NOT use this tool when another specialized tool fits better (use 'estimate_scrutiny_fee' or 'check_zoning_requirements' for their respective operations). Parameters: client_name (required), email (required), phone (required), service_required (required), property_details (optional). Behavior & Side Effects: Creates a live record/session in the backend database; no authentication required for public initiation; rate-limited to 60 requests/min per IP. Returns: Structured JSON object containing status, matched records or computed metrics, and canonical action URLs.
Input Schema
{
"type": "object",
"properties": {
"client_name": {
"type": "string",
"description": "Full name of the property owner, architect, or developer [Required: non-empty valid value must be supplied]."
},
"email": {
"type": "string",
"description": "Contact email address [Required: non-empty valid value must be supplied]."
},
"phone": {
"type": "string",
"description": "Contact phone number (South African format)"
},
"service_required": {
"type": "string",
"enum": [
"Building Plan Submission",
"Obtain Approved Plans",
"Occupancy Certificates",
"Fire Clearance Certificates",
"Site Development Plans",
"Council Drawings",
"Rezoning Applications",
"Consent Use Applications",
"Township Establishment"
],
"description": "Primary compliance or town planning service requested [Required: non-empty valid value must be supplied]."
},
"property_details": {
"type": "string",
"description": "Erf number, suburb, municipality (Johannesburg, Tshwane, Ekurhuleni), and project summary [Optional: omit to use server default filter]."
}
},
"required": [
"client_name",
"email",
"phone",
"service_required"
]
}Community
Evidence