Skip to main content
Glama

Building Compliance Agency — Municipal Plan & Occupancy

Estimate Scrutiny Fee

estimate_scrutiny_fee
Read-onlyIdempotent

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

NameRequiredDescriptionDefault
municipalityYesGauteng metropolitan municipality [Required: non-empty valid value must be supplied].
floor_area_sqmYesTotal floor area in square meters (sqm) [Required: non-empty valid value must be supplied].
building_classificationYesSANS 10400 occupancy classification (e.g., H4 for dwelling house, G1 for offices) [Required: non-empty valid value must be supplied].

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / building_classification / description
      Previous value: -"SANS 10400 occupancy classification (e.g., H4 for dwelling house, G1 for offices)"New value: +"SANS 10400 occupancy classification (e.g., H4 for dwelling house, G1 for offices) [Required: non-empty valid value must be supplied]."
    • changedInput schema / properties / floor_area_sqm / description
      Previous value: -"Total floor area in square meters (sqm)"New value: +"Total floor area in square meters (sqm) [Required: non-empty valid value must be supplied]."
    • changedInput schema / properties / municipality / description
      Previous value: -"Gauteng metropolitan municipality"New value: +"Gauteng metropolitan municipality [Required: non-empty valid value must be supplied]."
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Adds genuinely new context beyond the annotations: public unauthenticated access and a 60 requests/min per IP rate limit, plus explicit zero state mutation. Annotations already cover readOnly/idempotent/destructive, and the description does not add further detail such as error behavior or numeric precision, so it stops short of a 5.

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

Conciseness3/5

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

The purpose is front-loaded and easy to scan, but the 'When to use' sentence is boilerplate that repeats the tool name, and the Returns section is generic filler rather than specifics for this fee calculator.

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

Completeness4/5

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

No output schema exists, and the description accounts for the return shape (status, matched records or computed metrics, action URLs), plus safety, auth, and rate-limit context. For a read-only 3-parameter lookup, that covers what an agent needs to invoke it correctly.

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% and both enums are documented in the schema with examples (H4 dwelling house, G1 offices), so the baseline applies. The description only restates the three required parameter names without adding format, unit, or constraint meaning beyond the schema.

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

Purpose5/5

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

The description states a specific verb and resource ('estimates municipal building plan scrutiny fees in ZAR') plus concrete inputs (floor area, municipality, SANS 10400 classification) and geography. It is clearly distinguishable from check_zoning_requirements and submit_compliance_inquiry.

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?

It names both siblings and says not to use this tool when another fits better, which is useful routing. But the positive condition is circular ('call this tool when you specifically need to execute estimate_scrutiny_fee'), giving no real scenario-level criterion for choosing it.

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