freight-pulse (ocean & multimodal freight intelligence, 47 tools)
RemoteAbout freight-pulse (ocean & multimodal freight intelligence, 47 tools)
freight-pulse is a hosted freight-intelligence MCP server for supply-chain agents, covering ocean and multimodal rates, costs, transit, customs, and risk. It cross-validates rate data and returns confidence assessments and shipping decisions.
Key features
- 01Cross-validate rates and report confidence
- 02Calculate landed cost and duties
- 03Analyze transit, risk, and emissions
- 04Compare modes and generate ship decisions
- 05Provide lane trends and market monitoring
Use cases
- 01Compare lane rates and market trends
- 02Estimate landed cost including duties
- 03Assess transport modes, risk, and emissions
- 04Decide whether to book, wait, or switch modes
MCP support
As a hosted MCP server, it provides MCP clients with freight-analysis tools for rates, costs, customs, risk, transport modes, and shipping decisions. It supports streamable HTTP and also documents an npm client configuration.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://freight-pulse-mcp.vercel.app/mcpclaude mcp add --transport http freight-pulse https://freight-pulse-mcp.vercel.app/mcp{"mcpServers":{"freight-pulse":{"type":"http","url":"https://freight-pulse-mcp.vercel.app/mcp"}}}Open in Cursor{"servers":{"freight-pulse":{"type":"http","url":"https://freight-pulse-mcp.vercel.app/mcp"}}}Open in VS Code{"mcpServers":{"freight-pulse":{"type":"http","url":"https://freight-pulse-mcp.vercel.app/mcp"}}}{"mcpServers":{"freight-pulse":{"serverUrl":"https://freight-pulse-mcp.vercel.app/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
47| Parameter | Type | Required | Description |
|---|---|---|---|
| origin_port | string | Yes | Origin port: a city name ('Shanghai', 'Ningbo', 'Rotterdam'), a UN/LOCODE ('CNSHA', 'NLRTM') or 'City, Country'. |
| dest_port | string | Yes | Destination port: a city name ('Los Angeles', 'New York', 'Hamburg'), a UN/LOCODE ('USLAX'), or 'City, Country'. |
| container_type | string | No | Container size: '20ft', '40ft' or '40HC' (high-cube). Optional; defaults to '40ft' (the size the public indices quote). Synonyms like TEU/FEU/40HQ are accepted. |
Details
From the project READMEfreight-pulse 🚢
Ocean & multimodal freight intelligence suite for AI agents. One MCP server that answers any shipping question an importer, CFO, or supply-chain agent actually asks — from "what's the spot rate Shanghai → LA?" to "what's my total landed cost with duty?" to "should I book this lane now or wait?" — across 47 tools covering rates, total landed cost, transit reliability, customs, risk, emissions, and a unified ship decision.
Give it a lane, an HS code, a value — get back one trustworthy, cross-validated answer with a confidence read, not one vendor's quote. The rate engine, port normalization, customs logic, and the accumulating per-lane history all run server-side (the moat); the npm package is a thin client.
Hosted endpoint: https://freight-pulse-mcp.vercel.app/mcp · streamable-HTTP, no signup for the free tier.
Why an agent picks this
A single freight API returns one vendor's number with no second opinion and stops at the rate. freight-pulse goes the whole distance an importer needs:
- Cross-validated rates. Reads Drewry's World Container Index (WCI) and the Freightos Baltic Index (FBX) server-side (plus your own SeaRates key if you supply one) and reconciles them into one normalized USD figure with a confidence score (do the sources agree?) and a market direction (rising / falling / stable).
- The whole decision, not just the price. Landed cost with HS-code duty, all-in door-to-door,
transit time + reliability (p90), air-vs-ocean trade-off, customs, risk, CO₂ — folded into a
single
ship_decisionverdict: BOOK NOW / WAIT / SWITCH MODE. - Its own accumulating history. Every lane queried is cached with a timestamp; trend tools serve a weeks-long normalized series no single index hands an agent for free.
- Public, non-sensitive inputs. Ports, HS codes, declared values — nothing secret. Safe for an agent to call without handing over credentials.
Worked example — Shanghai → Los Angeles, 40ft, $180k of cargo
💲 get_spot_rate → $5,442 / 40ft · confidence 🟢 80/100 · cross-validated from Drewry + FBX (spread 11%)
🧾 get_all_in_rate → $6,910 all-in (BAF, THC, doc, ISF, drayage folded in)
📦 get_landed_cost → $193,180 delivered (rate + 3.4% duty on HS 8516 + MPF/HMF + insurance)
🚢 ship_decision → BOOK NOW · rate stable-to-rising, equipment available, transit p90 within SLA
One agent call chain, one verdict. That's the difference between a freight API and a freight agent.
What's inside — 47 tools
| Area | Tools |
|---|---|
| Rates & trend | get_spot_rate (FREE), get_lane_trend, get_all_in_rate, rate_benchmark (am I overpaying?) |
| Total cost | get_landed_cost, total_cost_ownership, customs_valuation, customs_optimization |
| Decision | ship_decision, simulate_scenario, compare_modes (air vs ocean), sourcing_analysis (China+1 / nearshoring) |
| Transit & risk | get_port_intel (congestion), lane_risk_index, disruption, contingency_plan, get_scorecard |
| Procurement | procurement_strategy, build_tender, evaluate_bids, select_provider (forwarder/3PL), record_performance |
| Customs & docs | required_documents, incoterm_responsibility, qualify_fta_origin, export_compliance, check_lc_documents |
| Carriers & equipment | carrier_recommendation, equipment_availability, booking_strategy, appointment_plan, dnd_strategy (demurrage & detention) |
| Inland & load | door_to_door, load_plan, pallet_plan, optimize_network, cold_chain |
| Finance & risk | payment_terms, fx_exposure, insurance_recommendation, inventory_optimization |
| Sustainability | carbon_footprint (GLEC/ISO 14083), decarbonization_roadmap, reverse_logistics |
| Monitoring | create_watch, check_watches, market_report, special_cargo |
get_spot_rate is free (the hook). The deep analytical tools are premium.
Quickstart (MCP)
{
"mcpServers": {
"freight-pulse": {
"command": "npx",
"args": ["-y", "freight-pulse-mcp"],
"env": {
// optional: unlock premium tools with a prepaid key
"FREIGHT_PULSE_KEY": "fp_…",
// optional: your own SeaRates key — cross-validated as a THIRD source, RAISES confidence
"SEARATES_API_KEY": "…"
}
}
}
}
Or connect over HTTP at POST https://freight-pulse-mcp.vercel.app/mcp (streamable).
Free vs Pro
| Free | Pro | |
|---|---|---|
get_spot_rate (cross-validated rate + confidence + direction) | ✅ | ✅ |
| All 40+ analytical tools (landed cost, ship_decision, customs, risk, trend, …) | upsell preview | ✅ full result |
| Accumulating per-lane trend history | — | ✅ |
| Pay how | — | 🪙 x402 (USDC on Base) per call — agents pay automatically, no signup · or 💳 card via Stripe checkout for a prepaid key |
Two ways to pay a premium call:
- 🪙 x402 (USDC on Base) — an x402-aware agent pays per call automatically, zero signup.
- 💳 Card (Stripe) — buy a prepaid API key, send it as
Authorization: Bearer <key>(or setFREIGHT_PULSE_KEY).
On the data
freight-pulse is indicative market intelligence cross-validated from public freight indices and customs references — not a carrier quote or a booking. Always verify with your forwarder before committing. Drewry WCI and Freightos FBX publish weekly assessments; the optional SeaRates source is bring-your-own-key (it only raises confidence, never required).
The analysis engine — index fetching, port/HS normalization, cross-validation, the confidence model, customs/duty logic, and the per-lane history cache — runs server-side. The npm package is a thin client that forwards to the hosted service.
MIT · github.com/Baneado98/freight-pulse · Hosted at freight-pulse-mcp.vercel.app
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.