
UK waste codes, HAVS, noise, first aid, paperwork and construction statistics.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Return a retained HSE series for construction in Great Britain: worker deaths and the rate per 100,000 workers with the long-run trend, kinds of fatal accident such as falls from height, employee deaths, self-reported and RIDDOR-reported injuries, or work-related ill health. Preserves each series’ period, units, provisional or revised status, confidence intervals, source file and publication date. This does not query a live HSE feed.
Dataset series to return; defaults to the latest headline figures.
Return a retained HSE series for construction in Great Britain: worker deaths and the rate per 100,000 workers with the long-run trend, kinds of fatal accident such as falls from height, employee deaths, self-reported and RIDDOR-reported injuries, or work-related ill health. Preserves each series’ period, units, provisional or revised status, confidence intervals, source file and publication date. This does not query a live HSE feed.
| Argument | Type | Description |
|---|---|---|
| series | string | Dataset series to return; defaults to the latest headline figures. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"series": {
"enum": [
"latest",
"deaths",
"fatal-accident-kinds",
"employment",
"self-reported-injury",
"reported-injuries",
"ill-health"
],
"type": "string",
"default": "latest",
"description": "Dataset series to return; defaults to the latest headline figures."
}
},
"additionalProperties": false
}Find UK List of Waste (EWC) codes for a waste, skip or load from one to three material words such as “plasterboard”, “mixed rubble” or “contaminated soil”, from one or more codes, or from a code prefix. Search each material separately, not a sentence; match says how many words the result covers, and a weak match returns no waste. Returns official entries with hazardous and mirror status, partner codes, source lineage and any assessment needed. Use the returned entries as candidates: origin, process and composition still determine the classification. To start a note with chosen codes, pass them to start_document.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum matched waste groups and official entries to return; defaults to 5. |
| query* | string | One to three material words, one or more EWC/LoW codes, or a code prefix; common spaced, hyphenated and unspaced formats are accepted. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "Maximum matched waste groups and official entries to return; defaults to 5."
},
"query": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "One to three material words, one or more EWC/LoW codes, or a code prefix; common spaced, hyphenated and unspaced formats are accepted."
}
},
"additionalProperties": false
}Estimate first-aid cover for each shift from HSE guidance: how many first-aiders or appointed persons, which course, whether the first-aiders already there are enough, and whether a first-aid room is worth having. Construction site by default; also factory, office, shop, nursery (EYFS) and school. Returns roles, training, shortages, practical steps, factors, source lineage and a calculator link with the same inputs. This starts a workplace needs assessment; it is not a statutory staffing quota.
| Argument | Type | Description |
|---|---|---|
| work | string | Workplace setting; defaults to construction site. |
| shifts* | array | Highest number of people present at once on each shift. |
| factors | array | Relevant factor ids returned by this tool for the selected workplace. |
| receptionClass | boolean | For a school: whether it has a reception or nursery class. |
| firstAidersAvailable | array | First-aiders already available on each shift, in the same order. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"shifts"
],
"properties": {
"work": {
"enum": [
"site",
"factory",
"office",
"shop",
"nursery",
"school"
],
"type": "string",
"default": "site",
"description": "Workplace setting; defaults to construction site."
},
"shifts": {
"type": "array",
"items": {
"type": "integer",
"maximum": 10000,
"minimum": 1
},
"maxItems": 4,
"minItems": 1,
"description": "Highest number of people present at once on each shift."
},
"factors": {
"type": "array",
"items": {
"type": "string",
"maxLength": 30,
"minLength": 1
},
"default": [],
"maxItems": 5,
"description": "Relevant factor ids returned by this tool for the selected workplace."
},
"receptionClass": {
"type": "boolean",
"default": false,
"description": "For a school: whether it has a reception or nursery class."
},
"firstAidersAvailable": {
"type": "array",
"items": {
"type": "integer",
"maximum": 10000,
"minimum": 0
},
"maxItems": 4,
"description": "First-aiders already available on each shift, in the same order."
}
},
"additionalProperties": false
}Calculate one person’s daily hand-arm vibration (HAVS) exposure from the tools they use and for how long: A(8), HSE points, low/high range, and whether it passes the action value (2.5 m/s² A(8), 100 points) or the limit value (5 m/s², 400 points). For each tool give its own vibration figure in m/s², or an HSE category and variant to use HSE’s typical figure and range. Time means trigger time: the tool running in the person’s hands. Returns a link that opens the same calculation in the HAVS calculator.
| Argument | Type | Description |
|---|---|---|
| tools* | array | Tools or tasks used by one person during one day; 1 to 20 entries. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"tools"
],
"properties": {
"tools": {
"type": "array",
"items": {
"type": "object",
"required": [
"minutes"
],
"properties": {
"label": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Optional task or tool label used in the result."
},
"minutes": {
"type": "integer",
"maximum": 1440,
"minimum": 1,
"description": "Actual exposure time in minutes, not the whole shift."
},
"variant": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "HSE variant, needed when the category has several: drill (standard, hole-saw, core, impact); impact-wrench (small-drive, one-inch-drive); angle-grinder (small, flap-disc, large); sander (random-orbital, orbital); chipping-hammer (weld, stone); needle-scaler (standard, reduced); plate-compactor (standard, reduced); brushcutter (saw-head, strimmer-head)."
},
"category": {
"enum": [
"other",
"drill",
"impact-wrench",
"stapler",
"angle-grinder",
"die-grinder",
"straight-grinder",
"pedestal-grinder",
"cut-off-saw",
"reciprocating-saw",
"jigsaw",
"nibbler",
"sander",
"polisher",
"router",
"breaker",
"demolition-hammer",
"pneumatic-hammer",
"chipping-hammer",
"stone-hammer",
"rock-drill",
"scabbler",
"needle-scaler",
"plate-compactor",
"water-jetting-gun",
"brushcutter",
"chainsaw",
"hedge-trimmer",
"mower"
],
"type": "string",
"description": "HSE tool category, used for HSE’s typical figure when vibration is omitted. Use other with a vibration value for anything else."
},
"vibration": {
"type": "number",
"maximum": 100,
"minimum": 0.1,
"description": "Your own vibration value, m/s². The website rounds this input to two decimal places."
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1,
"description": "Tools or tasks used by one person during one day; 1 to 20 entries."
}
},
"additionalProperties": false
}Calculate one person’s daily noise exposure (LEP,d) from measured task levels (LAeq in dB(A)) and how long each lasts, or from dosemeter readings, and which action value it reaches (80 and 85 dB(A)). Optionally gives the weekly LEP,w, compares peak dB(C), and estimates noise at the ear against the 87 dB(A) limit from hearing protection SNR or H/M/L with each task’s C-weighted level. Do not use sound power LwA or per-shot values; omitted peak or protection measurements remain explicitly unassessed. Returns a link that opens the same calculation in the noise calculator.
| Argument | Type | Description |
|---|---|---|
| peak | number | Highest measured C-weighted peak sound pressure level in dB(C). |
| week | any | Repeat the calculated day this many days, or supply the daily LEP,d for each exposed day. |
| tasks* | array | Measured tasks for one person in one day; 1 to 10 entries. |
| protector | any | Hearing-protector attenuation from its SNR or H/M/L ratings. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"tasks"
],
"properties": {
"peak": {
"type": "number",
"maximum": 200,
"minimum": 60,
"description": "Highest measured C-weighted peak sound pressure level in dB(C)."
},
"week": {
"anyOf": [
{
"type": "object",
"required": [
"days"
],
"properties": {
"days": {
"type": "integer",
"maximum": 7,
"minimum": 1,
"description": "Number of days, from 1 to 7, on which this calculated daily exposure repeats."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"levels"
],
"properties": {
"levels": {
"type": "array",
"items": {
"type": "number",
"maximum": 140,
"minimum": 40
},
"maxItems": 7,
"minItems": 1,
"description": "Daily LEP,d values in dB(A), one for each exposed day, maximum 7."
}
},
"additionalProperties": false
}
],
"description": "Repeat the calculated day this many days, or supply the daily LEP,d for each exposed day."
},
"tasks": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"required": [
"minutes",
"level"
],
"properties": {
"label": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Short human-readable label or stable slug, up to 60 characters."
},
"level": {
"type": "number",
"maximum": 140,
"minimum": 40,
"description": "Measured task-equivalent continuous A-weighted sound level, LAeq in dB(A)."
},
"levelC": {
"type": "number",
"maximum": 160,
"minimum": 40,
"description": "Measured C-weighted task level in dB(C), needed to estimate protection at the ear."
},
"minutes": {
"type": "integer",
"maximum": 1440,
"minimum": 1,
"description": "Actual exposure time in minutes, not the whole shift."
},
"protectionWorn": {
"type": "boolean",
"default": false,
"description": "Whether hearing protection is worn during this task; defaults to false."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"unit",
"reading",
"measuredMinutes"
],
"properties": {
"kind": {
"type": "string",
"const": "dosemeter"
},
"unit": {
"enum": [
"pa2h",
"dose85",
"dose80"
],
"type": "string",
"description": "pa2h: sound exposure in Pa²h. dose85 or dose80: percentage dose referenced to 85 or 80 dB(A) over 8 hours."
},
"label": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Short human-readable label or stable slug, up to 60 characters."
},
"levelC": {
"type": "number",
"maximum": 160,
"minimum": 40,
"description": "Measured C-weighted task level in dB(C), needed to estimate protection at the ear."
},
"minutes": {
"type": "integer",
"maximum": 1440,
"minimum": 1,
"description": "Exposure time represented. Defaults to measuredMinutes."
},
"reading": {
"type": "number",
"minimum": 0,
"description": "Dosemeter reading in that unit: 0.0001 to 10000 Pa²h, or 0.0001 to 100000%."
},
"protectionWorn": {
"type": "boolean",
"default": false,
"description": "Whether hearing protection is worn during this task; defaults to false."
},
"measuredMinutes": {
"type": "integer",
"maximum": 1440,
"minimum": 1,
"description": "How long the dosemeter measured."
}
},
"additionalProperties": false
}
]
},
"maxItems": 10,
"minItems": 1,
"description": "Measured tasks for one person in one day; 1 to 10 entries."
},
"protector": {
"oneOf": [
{
"type": "object",
"required": [
"method",
"snr"
],
"properties": {
"snr": {
"type": "number",
"maximum": 60,
"minimum": 1,
"description": "Hearing-protector attenuation rating in decibels."
},
"method": {
"type": "string",
"const": "snr"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"method",
"h",
"m",
"l"
],
"properties": {
"h": {
"type": "number",
"maximum": 60,
"minimum": 1,
"description": "Hearing-protector attenuation rating in decibels."
},
"l": {
"type": "number",
"maximum": 60,
"minimum": 1,
"description": "Hearing-protector attenuation rating in decibels."
},
"m": {
"type": "number",
"maximum": 60,
"minimum": 1,
"description": "Hearing-protector attenuation rating in decibels."
},
"method": {
"type": "string",
"const": "hml"
}
},
"additionalProperties": false
}
],
"description": "Hearing-protector attenuation from its SNR or H/M/L ratings."
}
},
"additionalProperties": false
}Return how much a type of power tool vibrates and how loud makers declare it, such as an angle grinder, SDS drill or breaker: the median and spread of declared figures across models, the matching HSE vibration category and variants, and HSE in-use noise comparisons where available. Omit type to list the types. It does not return maker-model rows or quotes; declared LpA is not measured task LAeq.
| Argument | Type | Description |
|---|---|---|
| type | string | Tool-type slug returned by this tool, for example angle-grinder; omit to list all available types. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"type": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Tool-type slug returned by this tool, for example angle-grinder; omit to list all available types."
}
},
"additionalProperties": false
}Return an anonymous complyonsite.com link that opens a waste transfer note, hazardous waste consignment note or RAMS ready to fill in, plus the blank template and a worked example as ready-made PDFs. Waste-note links prefill validated EWC codes; RAMS links select a job and optional supported operation. The person completes, signs and downloads the document on the site. The tool does not create, save, sign, issue or submit a document.
No arguments.
{
"type": "object",
"oneOf": [
{
"type": "object",
"required": [
"document"
],
"properties": {
"codes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Short human-readable label or stable slug, up to 60 characters."
},
"default": [],
"maxItems": 5,
"description": "Non-hazardous EWC codes to prefill; defaults to none, maximum 5."
},
"document": {
"type": "string",
"const": "waste-transfer-note",
"description": "Open the non-hazardous waste transfer note."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"document"
],
"properties": {
"codes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Short human-readable label or stable slug, up to 60 characters."
},
"default": [],
"maxItems": 5,
"description": "Hazardous EWC codes to prefill; defaults to none, maximum 5."
},
"document": {
"type": "string",
"const": "consignment-note",
"description": "Open the hazardous waste consignment note."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"document"
],
"properties": {
"job": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "RAMS job: painting-and-decorating, cleaning, electrical, fire-alarm, plumbing, ventilation, hot-works, groundworks, drainage, concrete, landscaping, roofing, glazing, working-at-height, scaffolding, abrasive-cleaning, ductwork-access-panel-installation, acoustic-panel-installation, mastic-asphalt-roofing, bird-proofing, building-conservation-cleaning, catering-equipment, chimneys, cladding, window-cleaning, closed-system-flushing, concrete-breakout, controlled-breakout, drone-surveys, electrofusion-welding, flood-work, floor-removal, concrete-floor-cutting, formwork, kitchen-extraction, leadwork, line-marking, lintels, liquid-roofing, living-roofs, pest-work, power-flushing, raised-floors, removing-plaster, resin-flooring, rodent-proofing, rooflights, security-fencing, pipe-insulation, roof-sheeting, specialist-coatings, staircase-installation, steel-fixing, stonework, street-furniture, strip-and-reroof, stump-grinding, concrete-floor-grinding, tarmac-laying, temporary-site-services, timber-treatment, dewatering, wet-rooms, demolition, asbestos-removal, confined-space, crane-lifting, cherry-picker, scissor-lift, boom-lift, mewp, mobile-scaffold-tower, ladder, welding, cutting, grinding, excavation, trench, drylining, suspended-ceiling, drilling, core-drilling, cctv-installation, joinery, carpentry, bricklaying, plastering, damp-proofing, loft-insulation, flooring, tiling, strip-out, temporary-works, manual-handling, loading-and-unloading, lifting, hiab."
},
"document": {
"type": "string",
"const": "rams",
"description": "Open the RAMS flow."
},
"operation": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Supported operation slug belonging to the selected job."
}
},
"additionalProperties": false
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Return which paperwork a waste movement needs: in the UK from the nation and whether the waste is hazardous, or any listed document by id, including Ireland, the Netherlands, the US, Canada and Australia. A document id takes precedence when both forms are supplied. Results cover the document, parties, the items the preparation tool asks for, retention, pre-notification where it applies, electronic and signature status, regulator route, the ComplyOnSite tool that prepares it, and source lineage. Preparation tools do not issue, submit or confirm acceptance of official documents.
| Argument | Type | Description |
|---|---|---|
| detail | boolean | With document: also return the form’s full field, guide and FAQ specification. Large; only when filling the form in. |
| document | string | A document id returned by this tool, for example us-asbestos-wsr or sct-special-waste. |
| hazardous | boolean | Whether the waste is hazardous; use together with jurisdiction. |
| jurisdiction | string | UK jurisdiction; use together with hazardous, or omit both to list documents. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"detail": {
"type": "boolean",
"default": false,
"description": "With document: also return the form’s full field, guide and FAQ specification. Large; only when filling the form in."
},
"document": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "A document id returned by this tool, for example us-asbestos-wsr or sct-special-waste."
},
"hazardous": {
"type": "boolean",
"description": "Whether the waste is hazardous; use together with jurisdiction."
},
"jurisdiction": {
"enum": [
"gb-eng",
"gb-wls",
"gb-sct",
"gb-nir"
],
"type": "string",
"description": "UK jurisdiction; use together with hazardous, or omit both to list documents."
}
},
"additionalProperties": false
}