Plan Comply — SANS 10400 Building Plan Pre-Screening AI

SANS 10400 architectural building plan compliance checks, municipal checklists, and SLA lookups.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
87%
Naming quality
97%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,431Tokens (tool definitions)
~1.8 KBTypical response size
Moderate attention impact (1.12% 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": {
    "plancomply-mcp": {
      "url": "https://api.plancomply.co.za/mcp"
    }
  }
}

Remote endpoints

https://api.plancomply.co.za/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_sans_rules(sans_part, category, query)

Search and query South African National Building Regulations (SANS 10400) clauses by Part (A to XA) or category (Dimensions, Glazing, Fire, Ventilation, Drainage, Stairs, Walls, Documentation).

Input Schema

{
  "type": "object",
  "properties": {
    "sans_part": {
      "type": "string",
      "description": "SANS 10400 Part identifier (e.g. \"Part A\", \"Part C\", \"Part K\", \"Part M\", \"Part N\", \"Part O\", \"Part P\", \"Part S\", \"Part T\", \"Part XA\")."
    },
    "category": {
      "type": "string",
      "description": "Category filter (e.g. \"Dimensions\", \"Glazing\", \"Stairways\", \"Fire Safety\", \"Drainage\", \"Walls\", \"Energy Efficiency\")."
    },
    "query": {
      "type": "string",
      "description": "Optional keyword search term to match within rule titles, descriptions, and guidance notes."
    }
  }
}
🟢check_municipal_requirements(municipality)

Retrieve submission document checklists, statutory forms (Form 1/2), geotechnical/dolomite rules, and common rejection delay factors for South African metropolitan municipalities.

Input Schema

{
  "type": "object",
  "properties": {
    "municipality": {
      "type": "string",
      "description": "Municipality name or abbreviation (e.g. \"City of Johannesburg\", \"COJ\", \"Tshwane\", \"Pretoria\", \"City of Cape Town\", \"COCT\", \"Ekurhuleni\", \"eThekwini\", \"Durban\")."
    }
  },
  "required": [
    "municipality"
  ]
}
🟢get_common_rejection_pitfalls(category)

Retrieve top 25 common reasons municipal building control examiners reject building plans in South Africa, accompanied by verified remediation steps.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "all",
        "documentation",
        "zoning",
        "glazing",
        "lighting_ventilation",
        "drainage",
        "stairs",
        "safety",
        "fire",
        "parking",
        "accessibility",
        "energy"
      ],
      "description": "Optional category filter. Defaults to all."
    }
  }
}
🟢calculate_sans_fenestration(room_name, floor_area_m2, actual_glazed_area_m2, actual_openable_area_m2)

Calculate SANS 10400-O statutory natural lighting (min. 10% floor area) and natural ventilation (min. 5% openable sash area) compliance for habitable rooms.

Input Schema

{
  "type": "object",
  "properties": {
    "room_name": {
      "type": "string",
      "description": "Name or label of the habitable room (e.g. \"Bedroom 1\", \"Living Room\", \"Study\")."
    },
    "floor_area_m2": {
      "type": "number",
      "description": "Internal floor area of the habitable room in square metres (m²)."
    },
    "actual_glazed_area_m2": {
      "type": "number",
      "description": "Total installed window glazed area in square metres (m²)."
    },
    "actual_openable_area_m2": {
      "type": "number",
      "description": "Total installed clear openable window sash ventilation area in square metres (m²)."
    }
  },
  "required": [
    "floor_area_m2"
  ]
}
🟢calculate_stair_compliance(riser_mm, going_mm, headroom_mm, balustrade_height_mm, baluster_gap_mm)

Evaluate stairway geometry and life safety against SANS 10400-M standards (riser max 200 mm, going min 250 mm, 2R + G formula 570-650 mm, headroom min 2,100 mm).

Input Schema

{
  "type": "object",
  "properties": {
    "riser_mm": {
      "type": "number",
      "description": "Stair riser vertical height in millimetres (must not exceed 200 mm)."
    },
    "going_mm": {
      "type": "number",
      "description": "Stair tread horizontal going in millimetres excluding nosing (must not be less than 250 mm)."
    },
    "headroom_mm": {
      "type": "number",
      "description": "Vertical headroom clearance in millimetres measured vertically from the nosing pitch line (must be min. 2,100 mm)."
    },
    "balustrade_height_mm": {
      "type": "number",
      "description": "Height of balustrade in millimetres (min. 1,000 mm on landings, 850 mm on flights)."
    },
    "baluster_gap_mm": {
      "type": "number",
      "description": "Maximum clear gap between vertical balusters in millimetres (must not exceed 100 mm)."
    }
  },
  "required": [
    "riser_mm",
    "going_mm"
  ]
}
🟢get_credit_pricing

Retrieve official Plan Comply pre-submission plan audit credit packages, volume discounts, and checkout details.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢pre_check_building_plan(project_name, municipality, building_class, habitable_room_height_mm, external_wall_thickness_mm, ...)

Run an automated multi-point regulatory validation on building plan specifications and return a compliance readiness score, defect warnings, and submission checklist.

Input Schema

{
  "type": "object",
  "properties": {
    "project_name": {
      "type": "string",
      "description": "Name of the building or architectural project."
    },
    "municipality": {
      "type": "string",
      "description": "Target South African municipality for plan submission (e.g. \"City of Johannesburg\", \"Tshwane\", \"City of Cape Town\", \"Ekurhuleni\", \"eThekwini\")."
    },
    "building_class": {
      "type": "string",
      "description": "Occupancy classification (e.g. \"H4 Single Dwelling House\", \"H3 Multi-Dwelling\", \"G1 Offices\", \"F1 Retail\"). Default is \"H4 Single Dwelling House\"."
    },
    "habitable_room_height_mm": {
      "type": "number",
      "description": "Specified clear finished floor-to-ceiling height in habitable rooms in millimetres (min. 2,400 mm)."
    },
    "external_wall_thickness_mm": {
      "type": "number",
      "description": "External wall thickness in millimetres (standard cavity wall is min. 270 mm)."
    },
    "has_safety_glass_below_800mm": {
      "type": "boolean",
      "description": "Whether safety glass (SANS 1263-1) is specified for all glazing with sill < 800 mm from FFL."
    },
    "has_sacap_declaration": {
      "type": "boolean",
      "description": "Whether the drawing title block contains the registered architectural professional full name, registration number, category, and signature."
    },
    "has_sans_forms": {
      "type": "boolean",
      "description": "Whether SANS 10400 Form 1 and Form 2 (if structural work included) are prepared."
    },
    "has_renewable_water_heating": {
      "type": "boolean",
      "description": "Whether min. 50% solar water heating or heat pump is specified as required by SANS 10400-XA."
    },
    "has_rodding_eyes_at_bends": {
      "type": "boolean",
      "description": "Whether rodding eyes or inspection chambers are provided at drainage bends > 45° and junctions."
    },
    "gully_height_above_ground_mm": {
      "type": "number",
      "description": "Height of sewer gully head coping above finished ground level in millimetres (min. 150 mm)."
    }
  },
  "required": [
    "municipality"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools