Dangerous goods packaging tools: UN number lookup, UN mark decoder, ADR points, IBC dates, bunds
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.
Total the ADR 1.1.3.6 points for a vehicle load and say whether it stays within the small-load exemption (1,000 points, or the quantity limit for one transport category), and what still applies. Covers 92 UN numbers. If any line cannot be read the whole load is refused, never totalled without it.
One item per substance
Total the ADR 1.1.3.6 points for a vehicle load and say whether it stays within the small-load exemption (1,000 points, or the quantity limit for one transport category), and what still applies. Covers 92 UN numbers. If any line cannot be read the whole load is refused, never totalled without it.
| Argument | Type | Description |
|---|---|---|
| lines* | array | One item per substance |
{
"type": "object",
"required": [
"lines"
],
"properties": {
"lines": {
"type": "array",
"items": {
"type": "object",
"required": [
"un",
"quantity_per_package"
],
"properties": {
"un": {
"type": "string",
"description": "UN number, e.g. \"1203\""
},
"packages": {
"type": "integer",
"default": 1,
"description": "Number of packages"
},
"packing_group": {
"enum": [
"I",
"II",
"III"
],
"type": "string",
"description": "Packing group from section 14 of the safety data sheet. Needed where the UN number has entries in more than one transport category, such as 1263 paint"
},
"quantity_per_package": {
"type": "number",
"description": "Litres or kg in each package"
}
}
},
"description": "One item per substance"
}
}
}Apply the secondary containment rule for a country or region to the containers stored together, and return the minimum sump capacity in litres, the rule that governs, and spill pallets that pass. Regions: England, Wales, Scotland, Northern Ireland, Ireland, Germany, France, Netherlands, Spain, United States, Canada, Australia, New Zealand, Singapore, Japan, or world.
| Argument | Type | Description |
|---|---|---|
| ibcs | integer | Number of 1,000-litre IBCs |
| mode | string | bund (default) or tray |
| drums | integer | Number of 205-litre drums |
| other | integer | Number of other containers |
| small | integer | Number of smaller containers |
| liquid | string | oil (fuel, diesel, petrol), flam (flammable), other (chemicals); waste in the US |
| region | string | e.g. "gb-eng", "England", "us", "Texas", "Germany" |
| otherSize | number | Litres in each other container |
| smallSize | number |
Read a UN packaging mark part by part (packaging code, performance level, density or gross mass, test pressure, year, state, maker; IBC, large packaging, salvage and reconditioned marks too). Add a UN number to check whether the container may carry that substance under ADR 2025.
| Argument | Type | Description |
|---|---|---|
| un | string | Optional UN number to check the mark against |
| mark* | string | The mark as printed, e.g. "UN 3H1/Y1.9/150/26/D/BAM 12345" |
{
"type": "object",
"required": [
"mark"
],
"properties": {
"un": {
"type": "string",
"description": "Optional UN number to check the mark against"
},
"mark": {
"type": "string",
"description": "The mark as printed, e.g. \"UN 3H1/Y1.9/150/26/D/BAM 12345\""
}
}
}Work out an IBC's next leakproofness test, 2.5-year and 5-year inspections, the last month it may be filled and (UN/ADR, plastic and composite IBCs) the end of its five-year life. Dates as MM/YYYY, "March 2024" or YYYY-MM.
| Argument | Type | Description |
|---|---|---|
| code | string | IBC code, e.g. 31HA1, if no mark |
| insp | string | Month of the last inspection |
| leak | string | Month of the last leakproofness test |
| made | string | Month of manufacture |
| mark | string | The IBC UN mark; code and month of manufacture are read from it |
| bottle | string | Month the inner receptacle was replaced (remanufactured composite IBCs) |
| regime | string | un (UN Model Regulations and ADR, default) or us (49 CFR 180.352) |
| repair | string | Month of the last repair |
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "IBC code, e.g. 31HA1, if no mark"
},
"insp": {
"type": "string",
"description": "Month of the last inspection"
},
"leak": {
"type": "string",
"description": "Month of the last leakproofness test"
},
"made": {
"type": "string",
"description": "Month of manufacture"
},
"mark": {
"type": "string",
"description": "The IBC UN mark; code and month of manufacture are read from it"
},
"bottle": {
"type": "string",
"description": "Month the inner receptacle was replaced (remanufactured composite IBCs)"
},
"regime": {
"enum": [
"un",
"us"
],
"type": "string",
"description": "un (UN Model Regulations and ADR, default) or us (49 CFR 180.352)"
},
"repair": {
"type": "string",
"description": "Month of the last repair"
}
}
}Work out how much water (people x days x litres a day, Sphere and national advice) or fuel (distance and consumption, or hours and consumption, or generator kVA) to hold, with a margin, and how many jerry cans that takes.
| Argument | Type | Description |
|---|---|---|
| can | string | A product slug from our range to size in |
| kva | number | |
| days | number | |
| load | number | Generator scenario: load in per cent, with kva |
| mode | string | |
| rate | number | Water, custom scenario: litres a person a day |
| hours | number | |
| units | string | us for miles and US gallons |
| weeks | number | Number of weeks, if no days |
| people | number | |
Look up a dangerous goods UN number (or substance name) in ADR 2025 Table A and its packing instructions. Returns class, packing group, limited quantity, UN mark level and, for each container type (jerrican, drum, IBC, composite), the UN codes allowed and the largest size in litres. Covers 72 UN numbers of liquids.
| Argument | Type | Description |
|---|---|---|
| un | string | UN number, e.g. "1203" or "UN 1203" |
| name | string | Substance name instead of a UN number, e.g. "acetone" |
{
"type": "object",
"properties": {
"un": {
"type": "string",
"description": "UN number, e.g. \"1203\" or \"UN 1203\""
},
"name": {
"type": "string",
"description": "Substance name instead of a UN number, e.g. \"acetone\""
}
}
}| Litres in each smaller container |
{
"type": "object",
"properties": {
"ibcs": {
"type": "integer",
"description": "Number of 1,000-litre IBCs"
},
"mode": {
"enum": [
"bund",
"tray"
],
"type": "string",
"description": "bund (default) or tray"
},
"drums": {
"type": "integer",
"description": "Number of 205-litre drums"
},
"other": {
"type": "integer",
"description": "Number of other containers"
},
"small": {
"type": "integer",
"description": "Number of smaller containers"
},
"liquid": {
"type": "string",
"description": "oil (fuel, diesel, petrol), flam (flammable), other (chemicals); waste in the US"
},
"region": {
"type": "string",
"description": "e.g. \"gb-eng\", \"England\", \"us\", \"Texas\", \"Germany\""
},
"otherSize": {
"type": "number",
"description": "Litres in each other container"
},
"smallSize": {
"type": "number",
"description": "Litres in each smaller container"
}
}
}| volume |
| number |
| reserve | number | Margin in per cent |
| units_n | number | Vehicles, boats or machines |
| distance | number | km (miles with units=us) |
| scenario | string | Water: relief, acute, protracted, survival, nl, se, no, fi, dk, de, custom. Fuel: road, overland, marine, generator, agri, direct. |
| returnTrip | string | Fuel, overland scenario: 1 to count the return leg |
| consumption | number | L/100 km (distance) or L/h (time); with units=us, miles per US gallon or US gallons an hour |
{
"type": "object",
"properties": {
"can": {
"type": "string",
"description": "A product slug from our range to size in"
},
"kva": {
"type": "number"
},
"days": {
"type": "number"
},
"load": {
"type": "number",
"description": "Generator scenario: load in per cent, with kva"
},
"mode": {
"enum": [
"water",
"fuel"
],
"type": "string"
},
"rate": {
"type": "number",
"description": "Water, custom scenario: litres a person a day"
},
"hours": {
"type": "number"
},
"units": {
"enum": [
"metric",
"us"
],
"type": "string",
"description": "us for miles and US gallons"
},
"weeks": {
"type": "number",
"description": "Number of weeks, if no days"
},
"people": {
"type": "number"
},
"volume": {
"type": "number"
},
"reserve": {
"type": "number",
"description": "Margin in per cent"
},
"units_n": {
"type": "number",
"description": "Vehicles, boats or machines"
},
"distance": {
"type": "number",
"description": "km (miles with units=us)"
},
"scenario": {
"type": "string",
"description": "Water: relief, acute, protracted, survival, nl, se, no, fi, dk, de, custom. Fuel: road, overland, marine, generator, agri, direct."
},
"returnTrip": {
"enum": [
"0",
"1"
],
"type": "string",
"description": "Fuel, overland scenario: 1 to count the return leg"
},
"consumption": {
"type": "number",
"description": "L/100 km (distance) or L/h (time); with units=us, miles per US gallon or US gallons an hour"
}
}
}