CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

FreightUtils MCP Server

soapyred/freightutils-mcp
219 toolsSTDIO, HTTPregistry active
Summary

Built by a certified freight planner, this server wraps 19 logistics calculation and reference tools into Claude. You get ADR 2025 dangerous goods lookups across 2,939 entries, HS code tariff search, UK duty calculation with live GOV.UK data, and UN/LOCODE resolution for 116,000+ transport locations. The calculators handle loading metres, CBM, chargeable weight, and pallet fitting with rotation. It chains operations too: shipment_summary runs CBM, weight, LDM, ADR checks, and duty in one call. Ships with both stdio and remote HTTP transports. Anonymous usage caps at 25 requests per day; set FREIGHTUTILS_API_KEY for 100 daily on the free tier or 50,000 monthly at nineteen pounds. Useful if you're quoting shipments, validating dangerous goods compliance, or building freight workflows that need structured logistics data instead of hallucinated tariff codes.

Install to Claude Code

verified
claude mcp add --transport http freightutils https://www.freightutils.com/api/mcp

Run in your terminal. Add --scope user to make it available in every project.

Review the command, arguments, and environment values before installing — MCP servers run with your local permissions.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Verified live against the running server on Jun 10, 2026.

verified live19 tools
cbm_calculatorCalculate cubic metres (CBM) for a shipment. CBM is the standard volume unit in international shipping. 1 CBM = 1m x 1m x 1m = 1,000 litres. Ocean freight carriers price per "freight tonne" (1 CBM or 1,000 kg, whichever is greater).4 params

Calculate cubic metres (CBM) for a shipment. CBM is the standard volume unit in international shipping. 1 CBM = 1m x 1m x 1m = 1,000 litres. Ocean freight carriers price per "freight tonne" (1 CBM or 1,000 kg, whichever is greater).

Parameters* required
piecesinteger
Number of identical pieces (default: 1)
width_cm*number
Width in centimetres
height_cm*number
Height in centimetres
length_cm*number
Length in centimetres
chargeable_weight_calculatorCalculate air freight chargeable weight (volumetric vs actual). Airlines charge the greater of actual weight or volumetric weight. IATA standard factor: 6,000 (1 CBM = 166.67 kg). A ratio > 1.0 means volumetric (light for its size).6 params

Calculate air freight chargeable weight (volumetric vs actual). Airlines charge the greater of actual weight or volumetric weight. IATA standard factor: 6,000 (1 CBM = 166.67 kg). A ratio > 1.0 means volumetric (light for its size).

Parameters* required
factorinteger
Volumetric divisor (default: 6000)
piecesinteger
Number of identical pieces (default: 1)
width_cm*number
Width in centimetres
height_cm*number
Height in centimetres
length_cm*number
Length in centimetres
gross_weight_kg*number
Actual gross weight in kilograms
ldm_calculatorCalculate loading metres (LDM) for road freight. LDM measures trailer utilisation. European trailers are 13.6m long, 2.4m wide. Supports pallet presets (euro, uk, half, quarter) and vehicles (artic, rigid10, rigid75, luton).9 params

Calculate loading metres (LDM) for road freight. LDM measures trailer utilisation. European trailers are 13.6m long, 2.4m wide. Supports pallet presets (euro, uk, half, quarter) and vehicles (artic, rigid10, rigid75, luton).

Parameters* required
palletstring
Pallet presetone of euro · uk · half · quarter
vehiclestring
Vehicle typeone of artic · rigid10 · rigid75 · luton · custom
quantityinteger
Number of pallets (default: 1)
width_mmnumber
Custom pallet width in mm
length_mmnumber
Custom pallet length in mm
stackableboolean
Can pallets be stacked?
weight_kgnumber
Weight per pallet in kg
stack_heightinteger
Stack height 2 or 3
vehicle_length_mnumber
Custom vehicle length in m
adr_lookupLook up dangerous goods from the ADR 2025 database (2,939 entries). Provide a UN number for exact lookup, or a search term for name-based search. Returns hazard class, packing group, labels, tunnel codes, and transport categories.3 params

Look up dangerous goods from the ADR 2025 database (2,939 entries). Provide a UN number for exact lookup, or a search term for name-based search. Returns hazard class, packing group, labels, tunnel codes, and transport categories.

Parameters* required
searchstring
Search by substance name
un_numberstring
UN number (e.g., "1203")
hazard_classstring
Filter by hazard class
adr_exemption_calculatorCalculate ADR 1.1.3.6 exemption. Points = quantity x multiplier per transport category. Total <= 1,000 = exempt from full ADR requirements. For single substance: provide un_number + quantity. For mixed loads: provide items array.3 params

Calculate ADR 1.1.3.6 exemption. Points = quantity x multiplier per transport category. Total <= 1,000 = exempt from full ADR requirements. For single substance: provide un_number + quantity. For mixed loads: provide items array.

Parameters* required
itemsarray
Array of items for mixed-load check
quantitynumber
Quantity in kg/L
un_numberstring
UN number for single check
airline_lookupSearch 6,352 airlines by name, IATA/ICAO code, AWB prefix, or country. AWB prefixes are 3-digit codes on air waybills identifying the carrier (e.g., 176 = Emirates).5 params

Search 6,352 airlines by name, IATA/ICAO code, AWB prefix, or country. AWB prefixes are 3-digit codes on air waybills identifying the carrier (e.g., 176 = Emirates).

Parameters* required
iatastring
Exact IATA code (2 chars)
icaostring
Exact ICAO code (3 chars)
querystring
General search
prefixstring
AWB prefix (3 digits)
countrystring
Filter by country
container_lookupGet ISO shipping container specs (10 types: 20ft, 40ft, 40ft HC, reefer, open-top, flat-rack, 45ft). Returns dimensions, capacity, weight limits, and pallet counts.1 params

Get ISO shipping container specs (10 types: 20ft, 40ft, 40ft HC, reefer, open-top, flat-rack, 45ft). Returns dimensions, capacity, weight limits, and pallet counts.

Parameters* required
typestring
Container slug (e.g., "20ft-standard", "40ft-high-cube"). Omit to list all.
hs_code_lookupSearch 6,940 Harmonized System tariff codes. HS codes are 6-digit international product classification codes used for customs. Provide a search term or exact code.3 params

Search 6,940 Harmonized System tariff codes. HS codes are 6-digit international product classification codes used for customs. Provide a search term or exact code.

Parameters* required
codestring
Exact HS code (2-6 digits)
querystring
Search by product description
sectionstring
Browse by section (Roman numeral)
incoterms_lookupLook up Incoterms 2020 trade rules. 11 rules defining transport, insurance, customs responsibilities. 7 for any mode (EXW, FCA, CPT, CIP, DAP, DPU, DDP), 4 sea-only (FAS, FOB, CFR, CIF).2 params

Look up Incoterms 2020 trade rules. 11 rules defining transport, insurance, customs responsibilities. 7 for any mode (EXW, FCA, CPT, CIP, DAP, DPU, DDP), 4 sea-only (FAS, FOB, CFR, CIF).

Parameters* required
codestring
Incoterm code (e.g., "FOB", "CIF")
categorystring
Filter by modeone of any_mode · sea_only
pallet_fitting_calculatorCalculate how many boxes fit on a pallet with layers, rotation, and weight limits. Determines optimal arrangement and volume utilisation.10 params

Calculate how many boxes fit on a pallet with layers, rotation, and weight limits. Determines optimal arrangement and volume utilisation.

Parameters* required
box_width_cm*number
Box width in cm
box_height_cm*number
Box height in cm
box_length_cm*number
Box length in cm
box_weight_kgnumber
Box weight in kg
allow_rotationboolean
Allow 90-degree rotation (default: true)
max_payload_kgnumber
Max pallet payload in kg
pallet_width_cm*number
Pallet width in cm
pallet_length_cm*number
Pallet length in cm
pallet_max_height_cm*number
Max stack height in cm
pallet_deck_height_cmnumber
Pallet deck height (default: 15cm)
unit_converterConvert between freight 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. Freight: cbm→chargeable_kg, cbm→freight_tonnes.3 params

Convert between freight 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. Freight: cbm→chargeable_kg, cbm→freight_tonnes.

Parameters* required
to*string
Target unit
from*string
Source unit
value*number
Value to convert
consignment_calculatorCalculate total CBM, weight, LDM, and chargeable weight for multi-item mixed consignments. Accepts multiple line items with different dimensions, weights, and stackability. Returns per-item breakdown, grand totals, trailer utilisation, and suggested vehicle.1 params

Calculate total CBM, weight, LDM, and chargeable weight for multi-item mixed consignments. Accepts multiple line items with different dimensions, weights, and stackability. Returns per-item breakdown, grand totals, trailer utilisation, and suggested vehicle.

Parameters* required
items*array
Array of consignment items
unlocode_lookupSearch 116,129 UN/LOCODE transport locations worldwide. Covers seaports, airports, rail terminals, road terminals, inland clearance depots, and border crossings. Search by location name, code (e.g. GBLHR), country, or function type.5 params

Search 116,129 UN/LOCODE transport locations worldwide. Covers seaports, airports, rail terminals, road terminals, inland clearance depots, and border crossings. Search by location name, code (e.g. GBLHR), country, or function type.

Parameters* required
codestring
Exact UN/LOCODE lookup (e.g. "GBLHR", "NLRTM")
limitinteger
Max results (default 20)
querystring
Search by name or code (e.g. "Rotterdam", "GBLHR", "LHR")
countrystring
ISO 2-letter country code filter (e.g. "GB", "NL")
function_typestring
Filter by location functionone of port · airport · rail · road · icd · border
uk_duty_calculatorEstimate UK import duty and VAT for a commodity code and origin country. Uses live GOV.UK Trade Tariff data. Returns CIF value, duty rate/amount, VAT rate/amount, total import taxes, and total landed cost. Flags preferential rates and import restrictions.6 params

Estimate UK import duty and VAT for a commodity code and origin country. Uses live GOV.UK Trade Tariff data. Returns CIF value, duty rate/amount, VAT rate/amount, total import taxes, and total landed cost. Flags preferential rates and import restrictions.

Parameters* required
incotermstring
Incoterm basisone of EXW · FCA · FAS · FOB · CFR · CIF
freight_costnumber
Freight cost in GBP (default 0)
customs_value*number
Customs value in GBP
commodity_code*string
UK tariff commodity code (6-10 digits)
insurance_costnumber
Insurance cost in GBP (default 0)
origin_country*string
ISO 2-letter country of origin (e.g. "CN", "US")
shipment_summaryComposite shipment summary — chains CBM, weight, LDM/volumetric/W&M, ADR compliance, and UK duty estimation into one response. Accepts multiple items with a transport mode (road/air/sea/multimodal). Returns per-mode calculations, DG compliance flags, and customs estimates.7 params

Composite shipment summary — chains CBM, weight, LDM/volumetric/W&M, ADR compliance, and UK duty estimation into one response. Accepts multiple items with a transport mode (road/air/sea/multimodal). Returns per-mode calculations, DG compliance flags, and customs estimates.

Parameters* required
mode*string
Transport modeone of road · air · sea · multimodal
items*array
Array of shipment items with dimensions, weight, and optional HS/UN codes
originobject
Origin location — ISO country code and optional UN/LOCODE
incotermstring
Incoterms 2020 three-letter code (e.g. 'DAP', 'EXW', 'FOB')
destinationobject
Destination location — ISO country code and optional UN/LOCODE
freight_costnumber
Optional freight cost in GBP for duty calculation
insurance_costnumber
Optional insurance cost in GBP for duty calculation
uld_lookupLook up air freight ULD (Unit Load Device) specs. 16 types including AKE (LD3), PMC, PLA, and special units. Returns dimensions, weights, volume, aircraft compatibility, and deck position.3 params

Look up air freight ULD (Unit Load Device) specs. 16 types including AKE (LD3), PMC, PLA, and special units. Returns dimensions, weights, volume, aircraft compatibility, and deck position.

Parameters* required
deckstring
Filter by deck positionone of lower · main
typestring
ULD code (e.g., "AKE", "PMC"). Omit to list all.
categorystring
Filter by ULD categoryone of container · pallet · special
vehicle_lookupLook up road freight vehicle and trailer specs. 17 types: curtainsiders, rigids, vans, US trailers. Returns internal dimensions, payload limits, pallet capacity, and features.3 params

Look up road freight vehicle and trailer specs. 17 types: curtainsiders, rigids, vans, US trailers. Returns internal dimensions, payload limits, pallet capacity, and features.

Parameters* required
slugstring
Vehicle slug (e.g., "standard-curtainsider"). Omit to list all.
regionstring
Filter by regionone of EU · US
categorystring
Filter by categoryone of articulated · rigid · van
get_subscribe_linkGet the URL where the user can subscribe to FreightUtils Pro for higher API limits. Use this when the user asks how to upgrade, hits a rate limit, or asks about pricing. Returns the URL where the user can subscribe via web — agents must NOT attempt to complete the subscription...1 params

Get the URL where the user can subscribe to FreightUtils Pro for higher API limits. Use this when the user asks how to upgrade, hits a rate limit, or asks about pricing. Returns the URL where the user can subscribe via web — agents must NOT attempt to complete the subscription...

Parameters* required
tierstring
Tier to surface (only "pro" supported today)one of pro
adr_lq_eq_checkCheck if dangerous goods qualify for ADR Limited Quantity (LQ) or Excepted Quantity (EQ) exemptions. LQ allows reduced requirements for small quantities per inner packaging (ADR 3.4). EQ applies to very small quantities (ADR 3.5, codes E1-E5). Checks multiple items at once.2 params

Check if dangerous goods qualify for ADR Limited Quantity (LQ) or Excepted Quantity (EQ) exemptions. LQ allows reduced requirements for small quantities per inner packaging (ADR 3.4). EQ applies to very small quantities (ADR 3.5, codes E1-E5). Checks multiple items at once.

Parameters* required
mode*string
Check mode: lq (Limited Quantity) or eq (Excepted Quantity)one of lq · eq
items*array
Items to check

FreightUtils MCP Server

npm version npm downloads (total) npm downloads (month) License: MIT FreightUtils MCP server

The neutral freight reference layer for AI agents.

FreightUtils is the neutral freight reference layer for AI agents — authoritative dangerous-goods, customs, location and freight-calculation data an agent can call and cite, from primary sources (ADR 2025 / UNECE, HS 2022 / WCO, IATA-regulated airline prefixes). Neutral by design: no freight to sell and no carrier to push, so an agent can trust it as ground truth regardless of who carries the load.

This Model Context Protocol server gives AI agents access to 22 freight calculation and reference tools, covering road, air, and sea freight. Built by a UK ADR-certified freight transport planner.

Website: https://www.freightutils.com API Docs: https://www.freightutils.com/api-docs


Tools (22)

Calculators

ToolDescription
ldm_calculatorLoading metres for European and US road trailers
cbm_calculatorCubic metres for sea freight
chargeable_weight_calculatorAir freight chargeable weight (volumetric vs actual)
pallet_fitting_calculatorBox-on-pallet optimisation with rotation
container_lookupISO container specs (10 types) and loading calculation
unit_converterWeight, volume, length, and freight-specific conversions
consignment_calculatorMulti-item CBM, LDM, volumetric & mode-specific chargeable weight (sea/air/road) + advisory flags
emissions_calculatorFreight CO2e per ISO 14083 / GLEC v3.2 — open DEFRA, EPA, ADEME factors (WTW + TTW)

Dangerous Goods (ADR)

ToolDescription
adr_lookup2,939 UNECE ADR 2025 entries
adr_exemption_calculatorADR 1.1.3.6 small load exemption check
adr_lq_eq_checkLimited and Excepted Quantity eligibility

Customs & Tariff

ToolDescription
hs_code_lookup6,940 Harmonized System tariff codes (HS 2022)
uk_duty_calculatorUK import duty and VAT (live GOV.UK Trade Tariff data)
incoterms_lookupIncoterms 2020 — all 11 rules with risk/cost transfer points
ics2_checkFlag EU ICS2 unacceptable goods-description terms (stop-words) before filing an ENS — reference only

Reference Data

ToolDescription
airline_lookup6,352 airlines with IATA/ICAO codes and AWB prefixes
unlocode_lookup116,129+ UN/LOCODE transport locations
uld_lookup16 air cargo ULD types (LD3, PMC, etc.)
vehicle_lookup17 road freight vehicles and trailers

Validation

ToolDescription
validateValidate & parse container (ISO 6346), Air Waybill (modulus-7) and IMO ship-number check digits

Composite

ToolDescription
shipment_summaryChains CBM + weight + LDM + ADR + duty in one call

Subscription

ToolDescription
get_subscribe_linkURL to upgrade to FreightUtils Pro (50,000/month at £19/mo)

Installation

Claude Desktop / Claude Code (stdio)

Add to your MCP config (claude_desktop_config.json or .claude/settings.json):

{
  "mcpServers": {
    "freightutils": {
      "command": "npx",
      "args": ["freightutils-mcp"]
    }
  }
}

Remote HTTP / SSE

If your MCP client supports remote servers, use the canonical URL:

https://www.freightutils.com/api/mcp

The older URL https://www.freightutils.com/api/mcp/mcp still works for backwards compatibility with existing clients.

No API key required to get started — anonymous calls work out of the box (see Rate Limits below).

Authenticating with a Pro key

Anonymous usage caps at 25 requests/day per IP. If you have a free or Pro API key, set FREIGHTUTILS_API_KEY in the environment that runs the MCP server. The package reads it from process.env and attaches Authorization: Bearer <key> to every outbound /api/* call — same key the remote https://www.freightutils.com/api/mcp transport already honors.

stdio config example with the env var wired through:

{
  "mcpServers": {
    "freightutils": {
      "command": "npx",
      "args": ["freightutils-mcp"],
      "env": {
        "FREIGHTUTILS_API_KEY": "fu_pk_xxx"
      }
    }
  }
}

Get a key at freightutils.com/api-docs (free, 100/day) or freightutils.com/pricing (Pro, 50,000/month). Backwards compatible — unset env var preserves the existing anonymous behaviour.


Verify your setup

After adding FreightUtils to your MCP client config, fully quit and relaunch the client (Claude Desktop, Cursor, Cline). MCP servers are only loaded at client startup; editing the config in a running session does nothing until restart.

Then run the install diagnostic from a terminal:

npx freightutils-mcp ping

You should see three ticks and All checks passed:

FreightUtils MCP Diagnostic
───────────────────────────
package: freightutils-mcp@2.9.0
health:  https://www.freightutils.com/api/mcp/health

[1/3] Backend health (https://www.freightutils.com/api/mcp/health)
      ✓ status=ok mcp_version=2.9.0 tools_registered=22 (143ms)

[2/3] MCP handshake (in-process via InMemoryTransport)
      ✓ server freightutils-mcp@2.9.0 initialized; tools/list returned 22 tools

[3/3] End-to-end tool call (cbm_calculator l=120 w=80 h=100)
      ✓ cbm_calculator → total=0.96 m³ (expected 0.96) (218ms)

All checks passed. Your FreightUtils MCP install is working.

If any check shows ✗, see Troubleshooting below. Exit code is 0 on all-pass and 1 on any failure, so the command works in CI / health-check scripts too.


Troubleshooting

SymptomLikely causeFix
Tools not appearing in the MCP client after editing the configClient wasn't fully restartedQuit and relaunch (Cmd+Q on macOS / right-click → Quit on Windows tray). Closing the window is not enough.
npx freightutils-mcp ping check 1 fails with a network errorDNS, proxy, or the website is unreachable from your networkCheck the status page at https://www.freightutils.com/status. If you're behind a corporate proxy, set HTTPS_PROXY. Override the host for ping with FREIGHTUTILS_API_URL=<base-url>.
npx freightutils-mcp ping check 2 failsBroken local install (npx cache or stale Node version)Re-install: rm -rf ~/.npm/_npx && npm install -g freightutils-mcp and rerun. Requires Node 18 or newer.
Tool calls return HTTP 429 / "rate_limited"Anonymous IP cap of 25 requests/day exceededIf you have a FreightUtils Pro API key, set FREIGHTUTILS_API_KEY in your environment before invoking the MCP. The package passes it through automatically on every outbound call. See https://www.freightutils.com/pricing if you need a key.
"Server failed to start" / spawn error in client logsnpx not on PATH, or Node older than 18Install Node 18+. On macOS, an absolute path in the config ("command": "/opt/homebrew/bin/npx") avoids PATH issues for GUI-launched clients.
Specific tool returns isError: trueBad input shape, or an unknown lookup key (UN number / HS code / AWB prefix not in the dataset)The tool's error body names the offending field. Verify against the schema at https://www.freightutils.com/api-docs or call the corresponding playground endpoint to confirm the input shape.

The full diagnostic flow lives at the /api-docs#mcp-setup section on the website. The live backend status is callable from inside any MCP client at GET /api/mcp/health — useful when you don't have shell access during a conversation.


Rate Limits

All tools call the free FreightUtils API:

  • Anonymous: 25 requests/day per IP
  • Free API key: 100 requests/day (register at https://www.freightutils.com)
  • Pro: 50,000 requests/month at £19/month

Example Prompts

Once connected, your AI agent can:

  • "Calculate CBM for a box 120cm × 80cm × 100cm, 24 pieces"
  • "Look up UN 1203 in the ADR database"
  • "Check if 200L of petrol qualifies for ADR 1.1.3.6 exemption"
  • "Find the HS code for lithium batteries"
  • "What does FOB mean in shipping?"
  • "How many boxes of 40×30×25cm fit on a euro pallet?"
  • "Calculate loading metres for 26 euro pallets on an artic trailer"
  • "What's the UK import duty on laptops from China?"

Data Sources

  • ADR 2025 — UNECE (licensed from Labeline.com)
  • HS 2022 — UN Comtrade (PDDL)
  • Airlines — public IATA/ICAO data, cross-referenced
  • UN/LOCODE — UNECE
  • UK Duty — live GOV.UK Trade Tariff API
  • Containers/ULD/Vehicles — ISO, IATA, and industry-standard specifications

Changelog

Full release notes also on GitHub Releases.

2.4.0 — 2026-06-16

  • consignment_calculator → canonical consignment v1. New transport mode (sea | air | road) and a canonical lines[] shape (each line: quantity, dims {l,w,h,unit} mm/cm/m/in, weight {value,unit} kg/g/t/lb, optional description/hs_code/un_number/stackable), plus an options object (air_volumetric_divisor default 6000, container_number, awb_number). The legacy flat items[] array (cm/kg) still works unchanged. Output gains per-line + grand totals, a schema_version, and advisory-only flags (implausible density, mode/option mismatch, dangerous-goods presence by UN number vs the ADR 2025 reference, ISO 6346 / IATA AWB check-digit) plus a best-effort disclaimer. Canonical schema: https://www.freightutils.com/schema/consignment.v1.json. No tool-count change (19).

2.1.1 — 2026-05-09

  • Fix: serverInfo.version was stuck at 1.0.8 even after 1.1.0 / 2.0.0 / 2.1.0 published. The wire-level identity has been silently lying about the package version since the 1.0.7 fix. Now reads from package.json at runtime via createRequire, so the wire version always matches the npm-published release.
  • Fix: server.json description undercounted tools ("18 freight tools …" → "19 freight tools …, get_subscribe_link").
  • Tightened Zod input constraints across airline_lookup, adr_lookup, adr_exemption_calculator, adr_lq_eq_check, unlocode_lookup, and uk_duty_calculator (regex / length / min-max on UN numbers, IATA / ICAO / AWB prefixes, ISO country codes, UN/LOCODE format). Field-level constraints take effect at the wire; .strict() on top-level schemas becomes wire-effective once the server.registerTool() migration ships in 2.2.0.

2.1.0 — 2026-05-01

  • New tool: get_subscribe_link. Returns the FreightUtils /pricing URL plus tier / monthly limit / monthly price metadata. Tool description tells agents NOT to attempt checkout themselves — they hand the URL to the user. Tool count: 18 → 19.
  • Pairs with the website-side fix wiring /api/mcp/* through the existing API rate-limit middleware so Pro keys are attributed against the 50,000/month bucket on MCP traffic.

2.0.0 — 2026-04-25 (BREAKING — input-side casing)

  • Tool input schemas migrated camelCase → snake_case to match the response convention shipped in 1.1.0. 13 input keys renamed across uk_duty_calculator, consignment_calculator, and shipment_summary (e.g. commodityCode → commodity_code, originCountry → origin_country, items[].grossWeight → items[].gross_weight). Agents calling these tools with prior camelCase keys now get a Zod validation error instead of a 200. Re-prompt or update tool-call code.
  • All other tools (cbm_calculator, chargeable_weight_calculator, ldm_calculator, pallet_fitting_calculator, unit_converter, ADR family, airline_lookup, container_lookup, hs_code_lookup, incoterms_lookup, unlocode_lookup, uld_lookup, vehicle_lookup) already used snake_case (or single-word) input keys and are unchanged.

1.1.0 — 2026-04-25 (BREAKING — response-side casing)

  • API responses migrated camelCase → snake_case site-wide across /api/unlocode, /api/uld, /api/containers, /api/vehicles, /api/consignment, /api/duty. All MCP tools in this package are passthroughs, so AI agents see snake_case keys (e.g. commodity_code, location_code, internal_length_cm) instead of the prior camelCase forms. Re-prompt or update parsing logic.
  • No code changes to MCP tool implementations — every tool was already a passthrough wrapper around apiGet / apiPost. Input schemas continue to declare camelCase here; 2.0.0 deliberately closes that asymmetry.
  • README badges: added monthly + total npm downloads alongside the existing version + license + Glama score badges.

1.0.8 — 2026-04-23 (hotfix)

  • Critical fix: revert list_prompts / list_resources stub handlers introduced in 1.0.7. The raw SDK asserts the corresponding capability must be declared before setRequestHandler is called — 1.0.7 threw Server does not support prompts at startup, crashing the MCP server on every run. 1.0.8 removes the stubs and restores boot.
  • Server identity bumped: version: '1.0.7' → '1.0.8'.
  • No other changes. 18 tools, annotations, shipment_summary descriptions, and smithery.yaml from 1.0.7 are preserved.

1.0.7 — 2026-04-22

  • Add smithery.yaml with empty configSchema (Smithery Quality Score: config UX +25).
  • Add read-only annotations to all 18 tools (readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false) with human-readable title (+7).
  • Add missing parameter .describe(...) text to shipment_summary (+1).
  • Add stub list_prompts / list_resources handlers so probes return { prompts: [] } / { resources: [] } instead of -32601 Method not found (+5).
  • Fix server identity: name: 'FreightUtils' → 'freightutils-mcp', version: '1.0.0' → '1.0.7'.
  • No breaking changes. Same 18 tools, same names, same behaviour.

1.0.6 — 2026-04-22

  • Security: bump @modelcontextprotocol/sdk to 1.26.0 to patch CVE-2026-25536 (cross-client data leak via shared transport/server instance reuse). See GHSA-345p-7cg4-v4c7.
  • No user-facing API changes. Same 18 tools.

Other ways to use FreightUtils

FreightUtils ships across multiple distribution surfaces. Pick the one that fits how you work:

  • Website — interactive tools at freightutils.com
  • REST API — 19 endpoints, free tier (100/day) and Pro tier (50K/month, £19/mo). API docs
  • MCP server — for LLM agents and AI tooling. npm: freightutils-mcp · MCP Registry
  • n8n custom node — for workflow automation. npm: n8n-nodes-freightutils

Same data, same compliance reference set (ADR 2025, HS 2022, IATA-regulated airline prefixes), every surface kept in sync.


License

MIT — see LICENSE.

Built by Marius Cristoiu, ADR-certified freight transport planner.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Registryactive
Packagefreightutils-mcp
TransportSTDIO, HTTP
Tools verifiedJun 10, 2026
UpdatedMay 31, 2026
View on GitHub