io.github.SoapyRED/freightutils

FreightUtils MCP Server

Neutral freight reference + validation layer for AI agents: ADR, HS, UN/LOCODE, freight math

Endpointhttps://www.freightutils.com/api/mcp (streamable-http)
Registry version2.22.5
Now25 tools · grade F (24) · pin ts_bbe029e7ef88615b5785d79d4a6286b6 · protocol 2025-06-18
First / last listed2026-10-26 05:15 UTC / 2026-10-26 05:15 UTC
Grade over time2026-10-26: F (24), 25 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-26 05:15 UTC
25 tools, grade F (24)

Tools: cbm_calculator chargeable_weight_calculator ldm_calculator adr_lookup adr_exemption_calculator airline_lookup airport_lookup nearest_airport resolve_reference container_lookup hs_code_lookup incoterms_lookup pallet_fitting_calculator unit_converter consignment_calculator unlocode_lookup uk_duty_calculator shipment_summary uld_lookup vehicle_lookup get_subscribe_link adr_lq_eq_check emissions_calculator validate ics2_check

Current tools (25)

cbm_calculatorCalculate cubic metres (CBM) for a shipment from per-piece dimensions. CBM is the standard volume unit in international shipping: 1 CBM = 1m x 1m x 1m = 1,000 litres, and ocean freight prices per "freight tonne" (1 CBM or 1,000 kg, whichever is greater). Behavior: deterministic — identical inputs always return identical figures; total volume = pieces x per-piece CBM (totals are computed from unro
params: length_cm*, width_cm*, height_cm*, pieces
chargeable_weight_calculatorCalculate air freight chargeable weight — the greater of actual gross weight and volumetric weight, which is what airlines bill. Volumetric weight (kg) = (L x W x H in cm) / divisor; the IATA-standard divisor is 6,000 (1 CBM = 166.67 kg), while express integrators (DHL, FedEx, UPS) typically use 5,000. Behavior: deterministic; the dimensions are per piece and gross_weight_kg is the TOTAL for all
params: length_cm*, width_cm*, height_cm*, gross_weight_kg*, pieces, factor
ldm_calculatorCalculate loading metres (LDM) for European road freight — how much trailer length a pallet load occupies. 1 LDM = 1 linear metre of a 2.4m-wide trailer; a standard artic is 13.6 LDM. Provide a pallet preset OR custom length_mm + width_mm — omitting both errors with a usage hint. Behavior: deterministic; stackable=true with stack_height 2 or 3 divides the floor footprint accordingly; fits is true
params: pallet, length_mm, width_mm, quantity, stackable, stack_height, weight_kg, vehicle, vehicle_length_m
adr_lookupLook up European road dangerous-goods (ADR 2025) reference data for a substance: hazard class, classification code, packing group, labels, special provisions, limited/excepted quantities, transport category, tunnel restriction code and Kemler (hazard identification) number. Covers 2,939 entries across all 9 hazard classes, from UNECE ADR 2025 (ECE/TRANS/352). Provide exactly ONE of: un_number (ex
params: un_number, search, hazard_class, offset, limit
adr_exemption_calculatorCalculate ADR 1.1.3.6 "small load" exemption points for a dangerous-goods load and say whether it qualifies. Each substance's transport category (Table A column (15), 0-4) sets a points multiplier (1.1.3.6.4: category 1 x50, 2 x3, 3 x1, 4 x0; the nine ADR 1.1.3.6.3 note-a entries UN 0081/0082/0084/0241/0331/0332/0482/1005/1017 are x20); points = quantity x multiplier. The rule (1.1.3.6.2), for dan
params: un_number, quantity, packing_group, variant_index, unit, basis, items
airline_lookupSearch 6,356 airlines by name, IATA code, ICAO code, AWB prefix, or country. AWB prefixes are the first 3 digits of an air waybill number and identify the issuing carrier (e.g. 176 = Emirates). Provide ONE parameter: query is a ranked fuzzy search across names and codes; iata / icao / prefix / country are exact filters. Behavior: read-only; fuzzy query hits report their match quality through the
params: query, iata, icao, prefix, country, full, offset, limit
airport_lookupLook up an airport by IATA code (3 letters, e.g. "LHR"), ICAO code (4 chars, e.g. "EGLL"), or free-text name/city search (e.g. "heathrow"). Covers 85,555 airports worldwide (OurAirports, public domain, cross-checked vs OpenFlights + Wikidata). Provide ONE of iata, icao, or query; the optional type filter narrows results. Behavior: read-only; exact code hits return one record; ambiguous name searc
params: iata, icao, query, type
nearest_airportFind the airports nearest to a caller-provided latitude/longitude, sorted by great-circle (haversine) distance with distance_km on each result. Searches 85,555 airports (OurAirports, public domain). Provide latitude and longitude (decimal degrees); optional radius_km, max_results (1-50, default 10) and type filter (e.g. large_airport only). Coordinates are INPUT only — nothing is stored or logged
params: latitude*, longitude*, radius_km, max_results, type
resolve_referenceResolve an arbitrary freight identifier — one opaque string in, typed and cited candidates out. Use when you hold one identifier-ish token ("176", "UN1845", "NLRTM", "FOB", "22G1", "MSKU1100810", "D/E") and do not know what kind of identifier it is: each candidate names its entity type and carries the api_url and canonical_url of its full record. Provide q: ONE identifier (single token, max 32 ch
params: q*
container_lookupGet ISO shipping-container specifications, with optional load-fit maths. Covers 10 types: 20ft/40ft standard, 40ft and 45ft high-cube, 20ft/40ft reefer, 20ft/40ft open-top and 20ft/40ft flat-rack. Provide type as a slug (e.g. "20ft-standard", "40ft-high-cube") for one container's record; omit it to list all 10 as summary rows (full: true for full records). Add item dimensions (item_length_cm/widt
params: type, item_length_cm, item_width_cm, item_height_cm, item_weight_kg, item_quantity, full, offset, limit
hs_code_lookupSearch 6,940 WCO Harmonized System (HS 2022) commodity codes — the 6-digit international customs classification layer. The first 2 digits are the chapter, 4 the heading, 6 the subheading. Provide ONE of: query (free-text description search, min 2 chars), code (2-6 digit lookup, written with or without dots or spaces — "8471.30" is 847130 — returns the code plus its hierarchy), or section (Roman n
params: query, code, section
incoterms_lookupLook up the 11 Incoterms 2020 trade rules — who pays for transport, insurance and customs clearance, and where risk transfers from seller to buyer. 7 rules work for any transport mode (EXW, FCA, CPT, CIP, DAP, DPU, DDP); 4 are sea/inland-waterway only (FAS, FOB, CFR, CIF). Provide code for one rule, category (any_mode | sea_only) for a filtered list, or neither to list all 11 (a list is summary r
params: code, category, full, offset, limit
pallet_fitting_calculatorCalculate how many identical boxes fit on a pallet: boxes per layer (trying 90-degree rotation when allowed), layer count within the max height, totals, footprint and volume utilisation, and weight capping. Behavior: deterministic geometric packing of one box size in aligned rows and columns — it does not model interlocked or mixed-orientation patterns; weight_limited reports when max_payload_kg
params: pallet_length_cm*, pallet_width_cm*, pallet_max_height_cm*, pallet_deck_height_cm, box_length_cm*, box_width_cm*, box_height_cm*, box_weight_kg, max_payload_kg, allow_rotation
unit_converterConvert freight and logistics units: weight (kg, lbs, oz, tonnes, short_tons, long_tons), volume (cbm, cuft, cuin, litres, gal_us, gal_uk), length (cm, inches, m, feet, mm), plus two freight-specific targets valid only FROM cbm — chargeable_kg (air volumetric weight at the IATA 6,000 divisor: m³ x 1,000,000 / 6000) and freight_tonnes (sea W/M, 1 CBM = 1 freight tonne). Behavior: deterministic, on
params: value*, from*, to*
consignment_calculatorCalculate per-line and grand totals for a multi-item mixed consignment: CBM, loading metres (LDM), volumetric weight, and the mode-specific chargeable figure (air chargeable weight, sea revenue tonnes, road LDM), plus objective advisory flags. Provide mode (sea | air | road, default road) and either lines[] (canonical — per line: quantity, dims {l,w,h,unit}, weight {value,unit}, optional descript
params: mode, lines, items, options
unlocode_lookupSearch 116,232 UN/LOCODE transport locations worldwide — ports, airports, rail and road terminals, inland container depots and border crossings. Codes are 5 characters: a 2-letter ISO country code + a 3-character location code (GBLHR = London Heathrow, NLRTM = Rotterdam). Provide code for an exact record, or query (name search, min 2 chars) optionally narrowed by country and function_type; limit
params: query, code, country, function_type, limit
uk_duty_calculatorEstimate UK import duty and VAT for a commodity code using the LIVE GOV.UK Trade Tariff — rates are fetched per request, not from a static table. The CIF value is composed from customs_value + freight_cost + insurance_cost; duty = CIF x the duty rate for the origin country; VAT (typically 20%) applies on the duty-inclusive value. Provide commodity_code (a declarable 10-digit code), origin_country
params: commodity_code*, origin_country*, customs_value*, freight_cost, insurance_cost, incoterm
shipment_summaryComposite shipment analysis in one call: volume (CBM), gross and chargeable weight, road LDM with pallet spaces and a vehicle suggestion (road mode), volumetric weight (air), revenue tonnes with a container suggestion (sea), dangerous-goods presence for items carrying un_number, and UK duty estimates for items carrying hs_code + customs_value. Provide mode (road | air | sea | multimodal) and item
params: mode*, items*, origin, destination, incoterm, freight_cost, insurance_cost
uld_lookupLook up air-cargo ULD (Unit Load Device) specifications — 16 types spanning lower-deck containers (AKE/LD3 and family), main-deck pallets (PMC, PAG and family) and temperature-controlled units. Each record carries external/internal/door dimensions (cm), tare and max gross weight (kg), usable volume (m³), deck position and compatible aircraft. Provide type as an IATA code ("AKE", "PMC"), slug ("ak
params: type, category, deck, full, offset, limit
vehicle_lookupLook up road-freight vehicle and trailer specifications — 17 types: EU articulated trailers (standard/mega curtainsider, box, reefer, double-deck, flatbed, low-loader), US 53ft/48ft dry vans, rigid trucks (7.5-26 t) and vans (Luton, Transit, Sprinter). Each record carries internal dimensions, payload and gross weights, euro/UK pallet capacity, axle configuration and features. Provide slug (e.g. "
params: slug, category, region, full, offset, limit
get_subscribe_linkReturn the FreightUtils pricing page URL with the Pro plan's request limit (50,000 per month) and price. Use when the user asks about FreightUtils plans, pricing or API limits. Behavior: static local response — no API call, never rate-limited, no account or payment action; the user opens the URL in a browser. Returns: url, tier, monthly_limit, monthly_price, currency and note under result.
params: tier
adr_lq_eq_checkCheck whether dangerous goods qualify for ADR Limited Quantity (LQ, ADR 3.4) or Excepted Quantity (EQ, ADR 3.5) relief. LQ compares each item's per-inner-packaging quantity against that substance's LQ maximum; EQ resolves the substance's E-code (E0-E5) and checks the per-inner limit, plus the per-outer limit when inner_packaging_qty is given. Provide mode ("lq" or "eq") and 1-20 items, each with
params: mode*, items*
emissions_calculatorEstimate freight transport greenhouse-gas emissions (kgCO2e) for a shipment leg, per ISO 14083:2023 / GLEC Framework v3.2: emissions = mass x distance x a published emission-intensity factor (kgCO2e/tonne-km). Provide mass + distance_km + mode (road | rail | sea | air | inland_waterway); optionally choose sub_mode, region/authority (uk = DEFRA, us = EPA, fr = ADEME) and basis (wtw default, or ttw
params: mass*, mass_unit, distance_km*, mode*, sub_mode, region, basis
validateValidate and parse freight identifiers by their public check-digit algorithms: shipping container numbers (ISO 6346), air waybill (AWB) numbers (IATA modulus-7) and IMO ship identification numbers. Two modes: pass text=<arbitrary string> to find and validate every identifier in it (e.g. a booking-email line), OR pass value=<identifier> + type=<container|awb|imo> to validate one. Behavior: determ
params: text, value, type
ics2_checkCheck a goods description against the official EU ICS2 stop-words list — terms the European Commission deems too vague or generic for an entry summary declaration (ENS) goods-description field (data element 18 05 000 000). Pass description=<goods description>. Behavior: deterministic term matching against the in-force EU list; each flagged term carries a note (a standalone stop-word means automat
params: description*

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.