Skip to main content
Glama

PlanComply SANS 10400 Building Compliance

pre_check_building_plan

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

Input Schema

NameRequiredDescriptionDefault
municipalityYesTarget South African municipality for plan submission (e.g. "City of Johannesburg", "Tshwane", "City of Cape Town", "Ekurhuleni", "eThekwini").
project_nameNoName of the building or architectural project.
building_classNoOccupancy classification (e.g. "H4 Single Dwelling House", "H3 Multi-Dwelling", "G1 Offices", "F1 Retail"). Default is "H4 Single Dwelling House".
has_sans_formsNoWhether SANS 10400 Form 1 and Form 2 (if structural work included) are prepared.
has_sacap_declarationNoWhether the drawing title block contains the registered architectural professional full name, registration number, category, and signature.
habitable_room_height_mmNoSpecified clear finished floor-to-ceiling height in habitable rooms in millimetres (min. 2,400 mm).
has_rodding_eyes_at_bendsNoWhether rodding eyes or inspection chambers are provided at drainage bends > 45° and junctions.
external_wall_thickness_mmNoExternal wall thickness in millimetres (standard cavity wall is min. 270 mm).
has_renewable_water_heatingNoWhether min. 50% solar water heating or heat pump is specified as required by SANS 10400-XA.
gully_height_above_ground_mmNoHeight of sewer gully head coping above finished ground level in millimetres (min. 150 mm).
has_safety_glass_below_800mmNoWhether safety glass (SANS 1263-1) is specified for all glazing with sill < 800 mm from FFL.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • changedInput schema / properties / external_wall_thickness_mm / description
      Previous value: -"External wall thickness in millimetres (standard cavity wall is min. 270 mm). [Optional: omit to use server default filter]."New value: +"External wall thickness in millimetres (standard cavity wall is min. 270 mm)."
    • changedInput schema / properties / gully_height_above_ground_mm / description
      Previous value: -"Height of sewer gully head coping above finished ground level in millimetres (min. 150 mm). [Optional: omit to use server default filter]."New value: +"Height of sewer gully head coping above finished ground level in millimetres (min. 150 mm)."
    • changedInput schema / properties / habitable_room_height_mm / description
      Previous value: -"Specified clear finished floor-to-ceiling height in habitable rooms in millimetres (min. 2,400 mm). [Optional: omit to use server default filter]."New value: +"Specified clear finished floor-to-ceiling height in habitable rooms in millimetres (min. 2,400 mm)."
    • changedInput schema / properties / has_rodding_eyes_at_bends / description
      Previous value: -"Whether rodding eyes or inspection chambers are provided at drainage bends > 45° and junctions. [Optional: omit to use server default filter]."New value: +"Whether rodding eyes or inspection chambers are provided at drainage bends > 45° and junctions."
    • changedInput schema / properties / has_sacap_declaration / description
      Previous value: -"Whether the drawing title block contains the registered architectural professional full name, registration number, category, and signature. [Optional: omit to use server default filter]."New value: +"Whether the drawing title block contains the registered architectural professional full name, registration number, category, and signature."
    • changedInput schema / properties / has_safety_glass_below_800mm / description
      Previous value: -"Whether safety glass (SANS 1263-1) is specified for all glazing with sill < 800 mm from FFL. [Optional: omit to use server default filter]."New value: +"Whether safety glass (SANS 1263-1) is specified for all glazing with sill < 800 mm from FFL."
    • changedInput schema / properties / has_sans_forms / description
      Previous value: -"Whether SANS 10400 Form 1 and Form 2 (if structural work included) are prepared. [Optional: omit to use server default filter]."New value: +"Whether SANS 10400 Form 1 and Form 2 (if structural work included) are prepared."
    • changedInput schema / properties / municipality / description
      Previous value: -"Target South African municipality for plan submission (e.g. \"City of Johannesburg\", \"Tshwane\", \"City of Cape Town\", \"Ekurhuleni\", \"eThekwini\"). [Required: non-empty valid value must be supplied]."New value: +"Target South African municipality for plan submission (e.g. \"City of Johannesburg\", \"Tshwane\", \"City of Cape Town\", \"Ekurhuleni\", \"eThekwini\")."
    • changedInput schema / properties / project_name / description
      Previous value: -"Name of the building or architectural project. [Optional: omit to use server default filter]."New value: +"Name of the building or architectural project."
  2. Changed9 schema fields changed
    • changedInput schema / properties / external_wall_thickness_mm / description
      Previous value: -"External wall thickness in millimetres (standard cavity wall is min. 270 mm)."New value: +"External wall thickness in millimetres (standard cavity wall is min. 270 mm). [Optional: omit to use server default filter]."
    • changedInput schema / properties / gully_height_above_ground_mm / description
      Previous value: -"Height of sewer gully head coping above finished ground level in millimetres (min. 150 mm)."New value: +"Height of sewer gully head coping above finished ground level in millimetres (min. 150 mm). [Optional: omit to use server default filter]."
    • changedInput schema / properties / habitable_room_height_mm / description
      Previous value: -"Specified clear finished floor-to-ceiling height in habitable rooms in millimetres (min. 2,400 mm)."New value: +"Specified clear finished floor-to-ceiling height in habitable rooms in millimetres (min. 2,400 mm). [Optional: omit to use server default filter]."
    • changedInput schema / properties / has_rodding_eyes_at_bends / description
      Previous value: -"Whether rodding eyes or inspection chambers are provided at drainage bends > 45° and junctions."New value: +"Whether rodding eyes or inspection chambers are provided at drainage bends > 45° and junctions. [Optional: omit to use server default filter]."
    • changedInput schema / properties / has_sacap_declaration / description
      Previous value: -"Whether the drawing title block contains the registered architectural professional full name, registration number, category, and signature."New value: +"Whether the drawing title block contains the registered architectural professional full name, registration number, category, and signature. [Optional: omit to use server default filter]."
    • changedInput schema / properties / has_safety_glass_below_800mm / description
      Previous value: -"Whether safety glass (SANS 1263-1) is specified for all glazing with sill < 800 mm from FFL."New value: +"Whether safety glass (SANS 1263-1) is specified for all glazing with sill < 800 mm from FFL. [Optional: omit to use server default filter]."
    • changedInput schema / properties / has_sans_forms / description
      Previous value: -"Whether SANS 10400 Form 1 and Form 2 (if structural work included) are prepared."New value: +"Whether SANS 10400 Form 1 and Form 2 (if structural work included) are prepared. [Optional: omit to use server default filter]."
    • changedInput schema / properties / municipality / description
      Previous value: -"Target South African municipality for plan submission (e.g. \"City of Johannesburg\", \"Tshwane\", \"City of Cape Town\", \"Ekurhuleni\", \"eThekwini\")."New value: +"Target South African municipality for plan submission (e.g. \"City of Johannesburg\", \"Tshwane\", \"City of Cape Town\", \"Ekurhuleni\", \"eThekwini\"). [Required: non-empty valid value must be supplied]."
    • changedInput schema / properties / project_name / description
      Previous value: -"Name of the building or architectural project."New value: +"Name of the building or architectural project. [Optional: omit to use server default filter]."
  3. First observed

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral burden. It usefully discloses that the tool returns a compliance readiness score, defect warnings, and a submission checklist, but it does not state whether the operation is read-only, whether data is stored, or any auth/rate-limit constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It covers the action and the main outputs efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The schema fully documents the 11 parameters, and the description names the return components. However, for a complex pre-submission validation tool with no annotations or output schema, it lacks operational context such as how it relates to sibling validation tools and what the output format or limits are.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 11 parameters are already documented in the input schema. The description adds no additional parameter meaning beyond what the schema provides, which matches the baseline of 3 when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: automated multi-point regulatory validation on building plan specifications. It also names the return artifacts, making the tool's role clear, though it does not explicitly distinguish itself from siblings such as check_municipal_requirements or get_common_rejection_pitfalls.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'pre_check' name and 'compliance readiness score' imply use before submission, but the description gives no explicit when-to-use guidance, exclusions, or sibling alternatives. The intended usage is inferable but not spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources