FreightUtils MCP Server

by soapyred

Not rated
GitHub

Description

11 freight logistics tools for AI agents — ADR dangerous goods lookup (2,939 UN entries, UNECE ADR 2025), HS code search (6,940 codes, WCO HS 2022), airline codes (6,352 with AWB prefixes), LDM/CBM/chargeable weight calculators, pallet fitting, container capacity, INCOTERMS…

About

11 freight logistics tools for AI agents — ADR dangerous goods lookup (2,939 UN entries, UNECE ADR 2025), HS code search (6,940 codes, WCO HS 2022), airline codes (6,352 with AWB prefixes), LDM/CBM/chargeable weight calculators, pallet fitting, container capacity, INCOTERMS 2020, unit converter, and ADR 1.1.3.6…

Details

Author
soapyred
Categories
Other, API

Setup

Install FreightUtils MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/soapyred/freightutils-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

The neutral freight reference layer for AI agents.

FreightUtils is the neutral freight reference layer for AI agents — source-backed 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 — a lookup returns what the named source says, with the citation attached so an agent can inspect it rather than take our word for it, regardless of who carries the load.

ThisModel Context Protocolserver gives AI agents access to 25 freight calculation and reference tools, covering road, air, and sea freight. Built by a UK ADR-certified freight transport planner.

Every response cites its source — a_sourceblock with the authority, edition, licence where held, and a verification status an agent can read — and the tools are deterministic, not generated answers. Reference only: never filing, booking, or legal advice, and results state when human review is required (validateis structural check-digit validation only; a cleanics2_checkis not ENS acceptance; emissions figures are estimates, not audited reports).

Since2.11.0, every tool also declares a typedoutputSchemaand returnsstructuredContent— the FreightUtils v1 response envelope: the answer underresult, plusconfidence,normalized_input,warnings,_sourceand a ready-to-usecitation. The legacy flat JSON text channel is unchanged (byte-identical), so existing text-parsing consumers are unaffected.

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

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

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

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

The older URLhttps://www.freightutils.com/api/mcp/mcpstill 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).

Anonymous usage caps at 25 requests/day per IP. If you have a free or Pro API key, setFREIGHTUTILS_API_KEYin the environment that runs the MCP server. The package reads it fromprocess.envand attachesAuthorization: Bearer <key>to every outbound/api/*call — same key the remotehttps://www.freightutils.com/api/mcptransport 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 atfreightutils.com/api-docs(free, 100/day) orfreightutils.com/pricing(Pro, 50,000/month). Backwards compatible — unset env var preserves the existing anonymous behaviour.

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:

You should see three ticks andAll checks passed:

FreightUtils MCP Diagnostic ─────────────────────────── package: freightutils-mcp@2.10.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.10.0 tools_registered=24 (143ms) [2/3] MCP handshake (in-process via InMemoryTransport) ✓ server freightutils-mcp@2.10.0 initialized; tools/list returned 24 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 ✗, seeTroubleshootingbelow. Exit code is 0 on all-pass and 1 on any failure, so the command works in CI / health-check scripts too.

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

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

- "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?"

- 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

Full release notes also onGitHub Releases.

- consignment_calculator→ canonical consignment v1.New transportmode(sea | air | road) and a canonicallines[]shape (each line:quantity,dims {l,w,h,unit}mm/cm/m/in,weight {value,unit}kg/g/t/lb, optionaldescription/hs_code/un_number/stackable), plus anoptionsobject (air_volumetric_divisordefault 6000,container_number,awb_number). The legacy flatitems[]array (cm/kg) still works unchanged. Output gains per-line + grand totals, aschema_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.0.0 — 2026-04-25 (BREAKING — input-side casing)

- Tool input schemas migratedcamelCasesnake_caseto match the response convention shipped in 1.1.0. 13 input keys renamed acrossuk_duty_calculator,consignment_calculator, andshipment_summary(e.g.commodityCodecommodity_code,originCountryorigin_country,items[].grossWeightitems[].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 migratedcamelCasesnake_casesite-wideacross/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 aroundapiGet/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.

- Critical fix:revertlist_prompts/list_resourcesstub handlers introduced in 1.0.7. The raw SDK asserts the corresponding capability must be declared beforesetRequestHandleris called — 1.0.7 threwServer does not support promptsat 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_summarydescriptions, andsmithery.yamlfrom 1.0.7 are preserved.

- Addsmithery.yamlwith empty configSchema (Smithery Quality Score: config UX +25).
- Add read-onlyannotationsto all 18 tools (readOnlyHint: true,destructiveHint: false,idempotentHint: true,openWorldHint: false) with human-readabletitle(+7).
- Add missing parameter.describe(...)text toshipment_summary(+1).
- Add stublist_prompts/list_resourceshandlers 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.

- Security: bump@modelcontextprotocol/sdkto1.26.0to patchCVE-2026-25536(cross-client data leak via shared transport/server instance reuse). SeeGHSA-345p-7cg4-v4c7.
- No user-facing API changes. Same 18 tools.

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

- Website— interactive tools atfreightutils.com
- REST API— 23 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
- Custom GPT— the
FreightUtils GPTon the OpenAI GPT Store, backed by the same OpenAPI spec.

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

Built byMarius Cristoiu, ADR-certified freight transport planner.

Global postal code lookups, validation, and city search for 70+ countries. Sub-10ms responses.

Connect to any financial, utility, billing accounts; retrieve balance, transactions, payment and identity data instantly.

A healthcare MCP server for EMRs like Cerner and Epic, providing tools to interact with FHIR data and medical resources.

65+ AI tools as an MCP server. Research, write, code, scrape, translate, analyze, agent memory, workflows. Pay per call from $0.006.

Real-time flight tracking, airport schedules, delays, and reference data for airlines, airports, aircraft, and routes via the AirLabs API.

MCP server that connects to the Airplanes.live API to provide real-time flight and aircraft data for analysis or visualization.

A Model Context Protocol (MCP) server that provides comprehensive access to the ALMA (Atacama Large Millimeter/submillimeter Array) archive through a clean, extensible architecture.

Remote MCP server giving AI agents instant access to comprehensive vehicle data: VIN decoding, license-plate lookup, stolen-vehicle checks, mileage history, inspection records, photos, and market valuations across 24 markets. Connect with a single Authorization: Bearer API key from any MCP client (Claude Desktop, Claude Code, Cursor, ChatGPT, Cline, Zed). Stateless and hosted at https://mcp.carapi.dev/mcp — no setup, no session management, just plug in your key and start querying. Includes a free carapi_docs tool for searching CarAPI documentation without authentication.

Verify US/Canada freight carriers and brokers: live FMCSA data, trust scores, registry search, and partner watchlist monitoring for AI agents.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.