The tools name the divisor they used, the standard they follow and the point where the maths stops: pallet fitting says it packs one box size in aligned rows and does not model interlocked patterns; the LDM calculator errors with a usage hint rather than guessing when neither a pallet preset nor dimensions arrive; the ADR exemption check flags transport category 0 substances, which can never use the small-load relief at all. The datasets carry their provenance too, and the boundary is stated in the vendor's own words: reference only, never filing or legal advice — a clean ICS2 check is not ENS acceptance, and the emissions figure is an estimate, not an audited report.
A neutral freight reference layer: deterministic calculators for volume, weight, loading metres and packing, reference datasets for dangerous goods, airlines, airports, containers, ULDs, vehicles, HS codes, Incoterms and UN/LOCODE, plus identifier validation and a live UK duty estimate. Every response carries a source block naming the authority, edition and licence, and a ready-to-use citation.
- The core calculators: cbm_calculator, chargeable_weight_calculator at the IATA-standard divisor of 6000 or the tighter one express integrators typically use, ldm_calculator where 1 LDM is one linear metre of a 2.4m-wide trailer, and pallet_fitting_calculator with rotation, stack height and a payload cap.
- consignment_calculator and shipment_summary take a mixed multi-line consignment and return per-line and grand totals with the mode-specific chargeable figure — air chargeable weight, sea revenue tonnes, road LDM — plus a vehicle or container suggestion and, where items carry an HS code and a customs value, a UK duty estimate.
- Dangerous goods against ADR 2025: adr_lookup over 2,939 UNECE entries, adr_exemption_calculator for the 1.1.3.6 small-load points where transport category 1 multiplies by 50, category 2 by 3, category 3 by 1 and category 4 by 0 against a 1,000-point threshold, and adr_lq_eq_check for Limited and Excepted Quantity relief.
- Reference data with its size stated: airline_lookup over 6,357 airlines by name, IATA, ICAO, AWB prefix or country; airport_lookup and nearest_airport over 85,555 airports from OurAirports; unlocode_lookup over 116,232 UN/LOCODE locations; hs_code_lookup over 6,940 WCO HS 2022 codes; incoterms_lookup over the 11 Incoterms 2020 rules.
- Equipment specifications: container_lookup over 10 ISO container types with load-fit maths, uld_lookup over 16 air-cargo ULD types with external, internal and door dimensions, tare and max gross weight, and vehicle_lookup over 17 road vehicle and trailer types with payload and pallet capacity.
- unit_converter across weight, volume and length, plus two freight-specific targets valid only from CBM: chargeable kilos at the IATA divisor, and freight tonnes on sea weight-or-measure.
- emissions_calculator per ISO 14083 and the GLEC Framework, with DEFRA, EPA and ADEME factors on a well-to-wheel or tank-to-wheel basis — and a representativeness flag that is honest about sea and air being low.
- Compliance checks: validate parses container numbers, air waybills and IMO numbers out of arbitrary text and check-digits each one; ics2_check flags goods-description terms the European Commission deems too vague for an entry summary declaration; uk_duty_calculator composes a CIF value and applies live GOV.UK Trade Tariff rates.
- resolve_reference is the front door for an identifier you cannot place — a prefix, a UN number, a location code, an Incoterm — returning typed, ranked, cited candidates.
Nothing to start: anonymous calls work out of the box over npx or the remote HTTP endpoint, capped at 25 requests a day per IP. A free key raises that to 100 a day and a Pro subscription to 50,000 a month; either goes in FREIGHTUTILS_API_KEY and is attached to every outbound call. Node 18 or newer, outbound network access — the UK duty figure is fetched live per request rather than read from a table — and a full client restart after editing the config, since MCP servers load only at startup. npx freightutils-mcp ping checks all three ends of that before you debug anything else.
One command plus a key — npm install -g freightutils-mcp, then supply credentials
