Building Compliance Agency — Municipal Plan & Occupancy

Building plan approvals, occupancy certificates, and municipal compliance readiness tools.

Should I use this

Quality & Safety

B
Description quality
100%
Schema completeness
100%
Naming quality
93%
Poisoning risk
40%
Permission match
100%
Protocol compliance
100%

Findings (4)

  • HIGHTool poisoning patterns detected
  • LOWTool description contains negative instruction about its own usein estimate_scrutiny_fee
  • LOWTool description contains negative instruction about its own usein check_zoning_requirements
  • LOWTool description contains negative instruction about its own usein submit_compliance_inquiry

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,162Tokens (tool definitions)
~2.2 KBTypical response size
Moderate attention impact (0.91% of 128k context)

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-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools