Fortitude21 Dangerous Goods Tools
Dangerous goods packaging tools: UN number lookup, UN mark decoder, ADR points, IBC dates, bunds
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"dangerous-goods": {
"url": "https://fortitude21.com/mcp"
}
}
}远程端点
https://fortitude21.com/mcpstreamable-http它能做什么
工具清单
工具(6)
🟢un_number_packaging(un, name)
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.
输入模式
{
"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\""
}
}
}🟢decode_un_packaging_mark(mark, un)
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.
输入模式
{
"type": "object",
"properties": {
"mark": {
"type": "string",
"description": "The mark as printed, e.g. \"UN 3H1/Y1.9/150/26/D/BAM 12345\""
},
"un": {
"type": "string",
"description": "Optional UN number to check the mark against"
}
},
"required": [
"mark"
]
}🟢ibc_inspection_dates(mark, code, made, leak, insp, ...)
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.
输入模式
{
"type": "object",
"properties": {
"mark": {
"type": "string",
"description": "The IBC UN mark; code and month of manufacture are read from it"
},
"code": {
"type": "string",
"description": "IBC code, e.g. 31HA1, if no mark"
},
"made": {
"type": "string",
"description": "Month of manufacture"
},
"leak": {
"type": "string",
"description": "Month of the last leakproofness test"
},
"insp": {
"type": "string",
"description": "Month of the last inspection"
},
"regime": {
"type": "string",
"enum": [
"un",
"us"
],
"description": "un (UN Model Regulations and ADR, default) or us (49 CFR 180.352)"
}
}
}🟢adr_1000_points(lines)
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.
输入模式
{
"type": "object",
"properties": {
"lines": {
"type": "array",
"description": "One item per substance",
"items": {
"type": "object",
"properties": {
"un": {
"type": "string",
"description": "UN number, e.g. \"1203\""
},
"packing_group": {
"type": "string",
"enum": [
"I",
"II",
"III"
],
"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"
},
"packages": {
"type": "integer",
"description": "Number of packages",
"default": 1
}
},
"required": [
"un",
"quantity_per_package"
]
}
}
},
"required": [
"lines"
]
}🟢bund_size(region, liquid, drums, ibcs, small, ...)
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.
输入模式
{
"type": "object",
"properties": {
"region": {
"type": "string",
"description": "e.g. \"gb-eng\", \"England\", \"us\", \"Texas\", \"Germany\""
},
"liquid": {
"type": "string",
"description": "oil (fuel, diesel, petrol), flam (flammable), other (chemicals); waste in the US"
},
"drums": {
"type": "integer",
"description": "Number of 205-litre drums"
},
"ibcs": {
"type": "integer",
"description": "Number of 1,000-litre IBCs"
},
"small": {
"type": "integer",
"description": "Number of smaller containers"
},
"smallSize": {
"type": "number",
"description": "Litres in each smaller container"
},
"other": {
"type": "integer"
},
"otherSize": {
"type": "number"
}
}
}🟢jerry_can_quantity(mode, scenario, people, days, distance, ...)
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.
输入模式
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"water",
"fuel"
]
},
"scenario": {
"type": "string",
"description": "Water: relief, acute, protracted, survival, nl, se, no, fi, dk, de, custom. Fuel: road, overland, marine, generator, agri, direct."
},
"people": {
"type": "number"
},
"days": {
"type": "number"
},
"distance": {
"type": "number",
"description": "km (miles with units=us)"
},
"consumption": {
"type": "number",
"description": "L/100 km or L/h"
},
"hours": {
"type": "number"
},
"kva": {
"type": "number"
},
"units_n": {
"type": "number",
"description": "Vehicles, boats or machines"
},
"volume": {
"type": "number"
},
"reserve": {
"type": "number",
"description": "Margin in per cent"
}
}
}社区
证据