io.github.lxxmng/ocean-schedules
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Compare ocean carrier schedules, transit times and reliability: 60+ carriers, 72,000+ sailings.
| Author | io.github.lxxmng |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 197 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"ocean-schedules": {
"url": "https://mcp.schedulesmcp.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (9)
compare_lanesCompare ocean carriers serving an origin→destination port pair, ranked by on-time reliability and transit time. Use this to decide which line to book. With Navo Tokens this costs 10 tokens per call; an empty answer is free.
Parameters:
origin(required) — string — Origin port UN/LOCODE, e.g. CNSHAdestination(required) — string — Destination port UN/LOCODE, e.g. NLRTM
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
carrier_reliabilityOn-time performance and delay distribution for a specific carrier (by SCAC). With Navo Tokens this costs 10 tokens per call; an empty answer is free.
Parameters:
carrier_code(required) — string — Carrier SCAC, e.g. MAEU
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_schedulesPublished forward sailing schedules on an origin→destination lane: carrier, vessel, voyage, ETD/ETA, cut-offs and routing (leg count, transshipment ports, distance, CO2 per TEU and the port-by-port route_legs where the carrier publishes them; null where they do not), soonest first, from each carrier's own published schedules. Use this to find concrete upcoming departures to book. Every schedule time (published_departure, published_arrival, cut-offs, route_legs times, the from window) is the local time of its own port as the line publishes it, written without a timezone offset (2026-10-01T13:00:00): quote the digits and do not convert them; departure_precision/arrival_precision say minute (a time) or day (a date only); only retrieved_at is UTC and carries an offset; use transit_days for voyage length. The answer also carries carriers: one entry per line with carrier_code, carrier_name and count (its sailings in this answer; the counts add up to count), most first. An entry has error only when that line was asked live for this lane in this request and gave no answer: timeout (no answer in time), failed (error or unreachable), or paused (not asked; it timed out twice in a row here, retried after 6 h). A line that answered it has no sailings carries no error, and a line in error is listed even at count 0. With Navo Tokens this costs 80 tokens for a new port pair and 10 for a repeat of the same pair within 24 hours (shared with the other lane search); an empty answer is free.
Parameters:
origin(required) — string — Origin port UN/LOCODE, e.g. CNSHAdestination(required) — string — Destination port UN/LOCODE, e.g. NLRTMfrom— string — Earliest departure date as YYYY-MM-DD, with no time and no timezone offset. Must be today or later. Sailings are returned from 00:00 of that date, read in each port's local time, onward. Omit for today.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
find_best_sailingsDecision query: the best upcoming sailings on a lane, ONE per carrier (next bookable departure), ranked. Filter by date window, max transit days, min on-time reliability, cut-off still open, and direct-vs-transshipment. Use this to answer "what should I book?". etd, eta, cutoff.at and the from/to window are port-local times with no timezone offset (2026-10-01T13:00:00): quote the digits, do not convert; only retrieved_at is UTC. With Navo Tokens this costs 80 tokens for a new port pair and 10 for a repeat of the same pair within 24 hours (shared with the other lane search); an empty answer is free.
Parameters:
origin(required) — string — Origin port UN/LOCODE or name resolves upstream, e.g. CNSHAdestination(required) — string — Destination port UN/LOCODE, e.g. NLRTMto— string — Latest departure date YYYY-MM-DD (default: +60 days)from— string — Earliest departure date YYYY-MM-DD (default: today)sort— string — Ranking (default recommended = reliability blended with transit)cutoff— string — Only sailings whose booking cut-off has not passed. Sailings where no cut-off is held are kept by default; each option carries cutoff_status saying which case it is.transshipment— boolean — true keeps only sailings that change ship, false only sailings proven direct. Omit it for both: a sailing whose routing we do not hold is returned by neither side, because we will not call a sailing direct without evidence.max_transit_days— number — Maximum transit time in daysreliability_floor— number — Minimum 90-day on-time %, 0-100cutoff_include_unknown— boolean — Default true. false narrows to sailings where a deadline is actually held and still ahead.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
watch_laneWatch a lane for schedule alerts (PAID): get emailed when a sailing on it is blanked, a booking cut-off is about to close, or a sailing slips. Also alerts on reliability drops. Returns the created watch. Free with Navo Tokens: a watch is configuration, not data.
Parameters:
origin(required) — string — Origin port UN/LOCODE, e.g. CNNGBdestination(required) — string — Destination port UN/LOCODE, e.g. NLRTMalert_slip— boolean — Alert when a sailing slips vs schedule (default true)alert_blank— boolean — Alert on suspected blank sailings (default true)alert_cutoff— boolean — Alert when a booking cut-off is closing (default true)carrier_code— string — Optional SCAC to scope the watch to one carriercutoff_lead_hours— number — Hours before cut-off to alert (default 48)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
carrier_leagueCarrier league table: ocean carriers ranked by overall on-time reliability across all tracked lanes. With Navo Tokens this costs 10 tokens per call; an empty answer is free.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
port_congestionFused port-congestion signal for a port (UN/LOCODE): effective level (mild/moderate/severe), expected added wait in days (for ETA-band widening), a 0–1 confidence, and the independent readings behind it: measured vessel waiting times, port-call throughput and AIS wait/density. With Navo Tokens this costs 10 tokens per call; an empty answer is free.
Parameters:
port(required) — string — Port UN/LOCODE, e.g. NLRTM
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
active_cyclonesLive tropical cyclones (typhoons/hurricanes) currently active on ocean trade lanes — name, basin, category, center position, max wind, pressure and movement, from CMA (NW-Pacific) + NHC (Atlantic/E-Pacific) + JTWC (Indian/Southern Hemisphere) + GDACS (global). Use this to see which storms are at sea right now.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
lane_storm_exposureWhether an origin→destination ocean lane currently passes through an active cyclone's forecast gale field (a "storm-exposed" sailing at risk of weather delay). Omit ports to list every exposed lane.
Parameters:
origin— string — Origin port UN/LOCODE, e.g. CNSHAdestination— string — Destination port UN/LOCODE, e.g. USLAX
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.