Skip to main content
Glama

Check a gas safety record or commissioning record before issuing it

check_gas_record
Read-onlyIdempotent

Checks a filled landlord gas safety record (CP12) or a boiler commissioning record and lists errors and warnings: missing required fields, failed tightness, flue, ventilation or safety device checks, CO/CO2 ratio over the limits, gas rate off the rated input, meter pressure out of range, an unsafe appliance marked safe, and the correct next due date (keeping the anniversary for checks done up to 2 months early). Gas safety record fields: property_address, landlord_name, landlord_address, engineer_name, gas_safe_registration_number, engineer_licence_number, check_date, previous_record_expiry_date, next_check_due, engineer_signature, tightness_test_passed, emergency_control_accessible, meter_standing_pressure_mbar, meter_working_pressure_mbar, appliances[] {type, make, model, location, flue_type, flue_check_passed, ventilation_satisfactory, safety_devices_ok, co_ppm, co2_percent, co_co2_ratio, rated_heat_input_kw_gross, measured_gas_rate_m3_h, inlet_working_pressure_mbar, status (safe, ncs, at_risk, immediately_dangerous), safe_to_use, action_taken}. Commissioning fields: property_address, engineer_name, commissioning_date, boiler_type, system_flushed, inhibitor_added, inhibitor_name, filter_fitted, water_hardness_ppm, scale_reducer_fitted, condensate_external_pipe_mm, controls_time_and_temperature, combi_extra_measure, co_alarm_fitted, building_regs_notified, dhw_flow_l_min, dhw_temp_rise_c, appliances[] {make, model, serial_number, co_ppm, co2_percent, min_rate {co_ppm, co2_percent}, rated_heat_input_kw_gross, measured_gas_rate_m3_h}. Up to 30 appliances.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "record_type": "<record_type>",
      "record": "<record>"
    },
    "name": "check_gas_record"
  }
}

Input Schema

NameRequiredDescriptionDefault
tradeNoOptional. The plumber or heating engineer's own business details (Nero Trade Profile v1, the same shape as Spark Pack and Nero Work). Used to prefill records and to give a stable nero_trade_ref. Not stored by Flow Pack.
recordYesThe filled fields (see the description).
record_typeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds real domain behaviour the annotations cannot: the anniversary-preservation rule for checks done up to 2 months early, and a hard cap of 30 appliances. However, it says nothing about the shape of the error list, severity handling, or how borderline results are reported beyond 'errors and warnings'.

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 opening sentence is well front-loaded and the field inventory earns its place because the schema defers to it. But the field lists are delivered as one dense run-on block with no separators or grouping, which makes it hard to scan; restructuring into per-record-type sections would cost nothing.

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?

For a stateless validation check with no output schema, the description is nearly self-sufficient: it defines the input vocabulary fully and signals the output is a list of errors and warnings. The main residual gap is return-value detail — whether there is an overall pass/fail flag or severity ordering an agent could branch on.

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?

The `record` parameter's schema is effectively opaque ('The filled fields (see the description)'), so the description carries the entire field contract — every gas safety and commissioning field, including nested appliance fields and the `status` values. That is substantial added meaning, though it stops short of stating field-level constraints such as required-vs-optional per record type.

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?

States a concrete verb and two specific resources ('landlord gas safety record (CP12)' and 'boiler commissioning record') and enumerates the classes of defect it looks for. The title adds the essential framing ('before issuing it'), and no sibling tool (sizing, triage, trade_profile) performs validation, so the boundary is unambiguous.

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

Usage Guidelines4/5

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

The title supplies a clear usage moment: run it on a filled record before issuing it. The body reinforces this by saying the record must be 'filled'. There is no explicit when-not guidance or named alternative, but for a validation tool the trigger condition is clear enough to act on.

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.