Skip to main content
Glama

Estimate energy performance

cao_energie
Read-only

WHEN someone asks what a house will COST TO RUN, what it costs the climate, or whether it will overheat in summer. From the CAO scene: the heating need by the degree-day method (envelope and ventilation heat-loss coefficients, solar gains per orientation corrected by shading factors MEASURED on the scene's own sun paths, internal gains, and the EN ISO 13790 gain-utilisation factor), domestic hot water, and the resulting consumption in final and primary energy for the chosen generator; an order-of-magnitude embodied carbon figure (Ic construction) from the bill of quantities times YOUR emission factors; and a summer check comparing August solar gains against what one night of ventilation can remove. Climate data (degree-days, irradiation) and carbon factors come from the caller — nothing is guessed. This is NOT a French DPE nor the regulatory RE 2020 calculation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mursNoWalls: plan segments extruded vertically. Every coordinate in this whole scene is in MILLIMETRES, in a single plan frame whose origin you choose — X to the right, Y upward, Z up from the floor. Keep one consistent origin across murs/boites/plan: the generators never recentre anything for you.
planNo2D reference lines — drawn flat, never extruded and never counted in the quantities. Use them for axes, plot limits or setting-out marks.
boitesNoBoxes (furniture, volumes): a rectangular block placed by its CENTRE, not by a corner. Millimetres, same frame as murs[].
climatNo{dju_base18, irradiation_saison_chauffe_kwh_m2: {sud, est, ouest, nord}, irradiation_aout_kwh_m2_jour: {...}} — Météo-France and PVGIS.
georefNoOptional Lambert-93 (EPSG:2154) false origin for IfcMapConversion. Local millimetres are scaled by 0.001 to CRS metres. Do not invent coordinates: omit est/nord if unknown (origin stays 0). orientation is the angle in degrees of project X from map East, counterclockwise.
cerclesNoCircles on the 2D plan, alongside plan[] lines: each has a centre and a radius, in the same unit as the plan. Use for round shapes a polyline would render badly — fillets, posts, manholes.
optionsNonord_deg, g_vitrage, inertie_kj_m2k, occupants…
reseauxNoPlumbing pipe runs (EF/EC/EU/EV/EP/chauffage) — used only by cao_pdf (technical plan + linear-meter quantities per type).
systemeNo{chauffage: {type, cop|rendement}, ecs: {...}, ventilation: 'simple_flux'|'double_flux'}.
toituresNoRoofs — used only by cao_pdf. WITHOUT this field: a flat roof is auto-generated over the footprint of ALL walls (legacy default). WITH it: compose freely — each entry can target a subset of walls (via `murs`), letting you build an L-shaped building's roof, or add a dormer on top of a main roof.
plomberieNoSanitary fixtures (sink, WC, shower…) — used only by cao_pdf. Same positioning as electricite.
decorationNoPaint/finish per wall — used only by cao_pdf. Colors the elevations (exterior face) and the axonometric view (face auto-detected by orientation relative to the building's centroid).
ouverturesNoDoors/windows embedded in a wall — used only by cao_pdf (elevations + axonometric view), no effect on dxf/metres.
electriciteNoElectrical symbols (outlets, switches, lights…) — used only by cao_pdf (dedicated technical plan + quantities), no effect on dxf/metres/render. Position: attached to a wall (`mur`+`position`, like ouvertures) or free (`x`,`y`).
compositionsNoNamed wall/slab layer sets declared by the project. A key that matches an inferred kind (mur_exterieur, refend, cloison, plancher, toiture) or murs[].composition drops the Hypothese flag. Each value is {libelle, couches: [{cle, epaisseur?}]}. cle: enduit, bloc_beton, isolant, ba13, ossature, enduit_platre, beton_arme, tuile, charpente, etancheite. Omit epaisseur on the load-bearing layer.
facteurs_carboneNo{item code: kgCO2e per unit}, same codes as cao_devis.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare read-only, non-destructive, non-open-world behavior, and the description adds real context: climate data and carbon factors come from the caller and 'nothing is guessed,' plus that shading factors are measured on the scene's own sun paths. It does not address failure modes or validation limits, so it falls short of a 5, but it adds meaningful behavioral context beyond the annotations.

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

Conciseness4/5

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

Front-loaded with a WHEN clause and organized into method → inputs → exclusions, so the key routing signal arrives first. It is dense and heavy with parentheticals, making it a wall of text, but for a 16-parameter tool with no output schema nearly every clause carries information.

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

Completeness5/5

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

There is no output schema, so the description must convey return content — and it does, listing the computed outputs (heating need, DHW, final/primary consumption, embodied carbon, summer check). Combined with its statement of external data dependencies, an agent has enough to call and interpret the tool correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description goes further by clarifying the role of caller-supplied inputs — climat (degree-days, irradiation), facteurs_carbone (emission factors), and systeme (generator) — and explains that quantities are derived from the bill of quantities, linking semantics to specific parameter groups. This is useful context beyond the schema text.

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 names a specific verb+resource (estimating energy performance) and enumerates exactly what is computed: heating need via degree-day method, DHW, final/primary energy, embodied carbon, and a summer overheating check. It explicitly differentiates from the sibling cao_re2020 by stating it is 'NOT a French DPE nor the regulatory RE 2020 calculation,' so an agent can route correctly.

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

Usage Guidelines5/5

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

The WHEN clause specifies the triggering user intents (cost to run, climate cost, summer overheating) and the closing sentence gives an explicit exclusion and implicit alternative (cao_re2020). Both when-to-use and when-not-to-use are stated, which is the top of the scale.

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