Skip to main content
Glama

The New Engineer — HVAC

size_expansion_vessel

Read-onlyIdempotent

DETERMINISTIC: the same inputs always give the same result — from any AI, on any day. Figures come from the standard's tables and formulas, never from a language model's estimate. Every step is auditable.

Size the expansion vessel and pressurisation of a closed heating or chilled-water circuit to EN 12828: static height, minimum pressure p0, fill pressure pa, final pressure pe, expansion volume, water reserve, nominal vessel volume with the standard vessel to buy, safety valve setting together with the minimum it must not fall below, pressure class of the lowest equipment, intermediate vessel when needed.

Heights become pressures through the real density of the fluid, at the
temperature that matters for each: the coldest for p0, the design
temperature for the valve and the lowest point. Water and glycols
therefore give different figures for the same height.

Use it whenever the user asks to size or check an expansion vessel,
pressurisation unit, pre-charge pressure or safety valve — in any
language: vase d'expansion, maintien de pression, Ausdehnungsgefäss,
Druckhaltung, vaso di espansione, vaso de expansión.

Needs the installation water volume and THREE heights, all measured
from the point where the expansion vessel connects to the network:
  - the highest point of the installation, above it;
  - the lowest point, usually below it (negative) or level with it;
  - the safety valve, which always sits on the heat generator or
    chiller. If the user does not know it, it is assumed 1 m above
    the vessel connection, and the result says so.
Ask the user for the volume and the three heights before calling.
NEVER invent a height: if the lowest point or the valve height is
unknown, omit it. The result is then marked provisional and lists
the questions to ask. Build your answer on `answer_outline`: it
carries the assumptions, the questions and the link to the website,
which measures all of these on the user's IFC model.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fluidNoHeat-transfer fluid: 'eau' (Water), 'meg' (MEG), 'mpg' (MPG), 'tyfocor' (TYFOCOR L (MPG)). Omit: plain water.
languageNoThe user's language, for labels and alerts.en
glycol_pctNoGlycol concentration in %, ignored for water. Defaults to 30 %.
installationNo'chauffage' for heating, 'refroidissement' for cooling / chilled water. Omit: heating.
pressurisationNoType of pressurisation: 'statique' (Pressure-maintained by gas cushion (Statico)), 'compresseur' (Compressor-driven (Compresso)), 'pompe' (Pump-driven (Transfero)). Omit: gas-cushion vessel.
min_temperature_cNoLOWEST temperature the fluid can reach, °C — including a breakdown, not just normal running. Omit and the filling temperature is used; in a glycol mix the calculation already goes down to the frost protection point.
flow_temperature_cNoFlow temperature, °C. Omit: 80 in heating, 6 in cooling.
design_temperature_cNoHottest the fluid ever gets, standstill included. Omit: the warmer of flow and return in heating, 40 °C in cooling.
return_temperature_cNoReturn temperature, °C. Omit: 60 in heating, 12 in cooling.
filling_temperature_cNoTemperature at which the circuit is filled, °C. Omit: 10.
installation_volume_lYesTotal water content of the closed circuit, in litres: pipes, emitters, generator, buffer tank. THIS IS THE WATER, NOT THE VESSEL. If you know the vessel and want the water content, this is the wrong tool: call water_content_from_vessel.
lowest_point_from_unit_mNoHeight of the REAL lowest point of the installation - the lowest drain - relative to the point where the expansion vessel connects to the network, in metres. NEGATIVE when below it, 0 when the vessel connects at the lowest point. Taken as given: no margin is added. Ask the user. NEVER invent it: if the user has not given it, omit it - the result is then marked provisional and returns the question to ask.
safety_valve_from_unit_mNoHeight of the safety valve relative to the point where the expansion vessel connects to the network, in metres. The safety valve always sits on the heat generator (boiler, heat pump) or chiller - tell the user so, it helps them find it. Ask for it; if they cannot say, omit it: it is then assumed 1 m above the vessel connection, and the result says so.
safety_valve_setting_barNoSafety valve setting in bar, one of the standard settings. Omit to take the smallest standard setting that works here. A setting below the minimum the installation needs is raised, and the result says so.
highest_point_above_unit_mNoHeight of the REAL highest point of the installation - the top air vent - above the point where the expansion vessel connects to the network, in metres. Taken as given: no margin is added. NEEDED FOR A STATIC VESSEL ONLY: a compressor or pump unit holds the pressure itself, and heights play no part in its sizing — do not ask for them.
minimum_required_pressure_barNoPressure the installation requires at the pressurisation unit whatever the height - against cavitation at a pump suction, for instance. p0 never falls below it. Omit: zero.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / properties / highest_point_above_unit_m / anyOf
      Added value: +[
      +  {
      +    "maximum": 300,
      +    "minimum": -50,
      +    "type": "number"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / highest_point_above_unit_m / default
      Added value: +null
    • changedInput schema / properties / highest_point_above_unit_m / description
      Previous value: -"Height of the REAL highest point of the installation - the top air vent - above the point where the expansion vessel connects to the network, in metres. Taken as given: no margin is added."New value: +"Height of the REAL highest point of the installation - the top air vent - above the point where the expansion vessel connects to the network, in metres. Taken as given: no margin is added. NEEDED FOR A STATIC VESSEL ONLY: a compressor or pump unit holds the pressure itself, and heights play no part in its sizing — do not ask for them."
    • removedInput schema / properties / highest_point_above_unit_m / maximum
      Removed value: -300
    • removedInput schema / properties / highest_point_above_unit_m / minimum
      Removed value: --50
    • removedInput schema / properties / highest_point_above_unit_m / type
      Removed value: -"number"
    • addedInput schema / properties / min_temperature_c
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 100,
      +      "minimum": -50,
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "LOWEST temperature the fluid can reach, °C — including a breakdown, not just normal running. Omit and the filling temperature is used; in a glycol mix the calculation already goes down to the frost protection point.",
      +  "title": "Min Temperature C"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "installation_volume_l",
      -  "highest_point_above_unit_m"
      -]New value: +[
      +  "installation_volume_l"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / installation_volume_l / description
      Previous value: -"Total water content of the closed circuit, in litres: pipes, emitters, generator, buffer tank."New value: +"Total water content of the closed circuit, in litres: pipes, emitters, generator, buffer tank. THIS IS THE WATER, NOT THE VESSEL. If you know the vessel and want the water content, this is the wrong tool: call water_content_from_vessel."
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantially beyond them: deterministic provenance ('figures come from the standard's tables and formulas, never from a language model's estimate'), the provisional-result behavior when heights are omitted, the documented assumption that an unknown valve height defaults to 1 m above the connection, and the note that no margin is added to measured heights.

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?

Information-dense and reasonably front-loaded, but the ALL-CAPS 'DETERMINISTIC' preamble occupies the most valuable opening position before the core purpose, and the 'never invent a height / omit it' instruction is repeated later in the body and again in the schema descriptions. Slight redundancy, but nearly every sentence carries engineering-relevant content for a 16-parameter tool.

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?

For a complex, 16-parameter tool this is complete: an output schema exists so return values need not be re-explained, yet the description still points the agent at `answer_outline` for assumptions, open questions and the reference link, and it explicitly marks when results are provisional. Nothing an agent needs to call or to report back is missing.

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 the schema itself already carries the tri-height explanation, sign conventions, defaults and 'NEVER invent it' warnings. The description restates much of that (three heights measured from the vessel connection, static-only caveat for the highest point, glycol/water density effects) rather than adding new semantic detail, so this lands at the high-coverage baseline.

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?

Names a specific verb and resource (size expansion vessel and pressurisation of a closed heating/chilled-water circuit to EN 12828) and enumerates the concrete outputs: static height, p0, pa, pe, expansion volume, nominal vessel volume, safety valve setting, pressure class. A sibling such as water_content_from_vessel is explicitly ruled out ('if you know the vessel and want the water content, this is the wrong tool'), so the agent can separate the two without opening a schema.

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?

States the trigger conditions ('whenever the user asks to size or check an expansion vessel, pressurisation unit, pre-charge pressure or safety valve — in any language') with multilingual synonyms, gives the mandatory precondition ('Ask the user for the volume and the three heights before calling'), and supplies exclusions ('NEVER invent a height... if unknown, omit it'). When to use, what to gather first, and what not to fabricate are all explicit.

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