Terminal49
live LogisticsCommerceTerminal49 MCP — ocean container & shipment tracking by BOL / booking / container across 33+ carriers: milestones, ETAs, holds, last-free-day. BYO Terminal49 API key.
Tools
terminal49_track Start tracking an ocean shipment or container by submitting a bill of lading, booking, or container number plus the carrier SCAC. Returns the tracking request id and status (pending -> created/failed)
No parameters required.
Try it
terminal49_shipment Get an ocean shipment and its containers: bill of lading, carrier, port of lading (POL), port of discharge (POD), vessel, and ETA. Pass an `id` for a single shipment, or omit it to list recent shipmen
No parameters required.
Try it
terminal49_container Get a container by id: current status, terminal holds, demurrage last free day (LFD / pickup_lfd), availability for pickup, and key milestone timestamps. Set include_events=true to also fetch normaliz
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/terminal49/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' curl -X POST https://gateway.pipeworx.io/terminal49/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"terminal49_track","arguments":{}}}' Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("terminal49_track", {}); // Or ask in plain English:
const answer = await px.ask("terminal49 mcp — ocean container & shipment tracking by bol / booking / container across 33+ carriers: milestones, etas, holds, last-free-day"); Related packs
Other Pipeworx packs in the same categories (Logistics, Commerce):