Skip to content

io.github.lxxmng/ocean-schedules

by lxxmng · remote · no sign-in to list tools · v0.3.0 · published by GitHub user lxxmng

Compare ocean carrier schedules, transit times and reliability: 60+ carriers, 72,000+ sailings.

Changes · 8

12 tools: 8 change things and 4 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http ocean-schedules https://mcp.schedulesmcp.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

12 tools

Changes things 8Claude Code: ask
  • 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) …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Live 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.
  • carrier_leagueCarrier league table — ocean carriers ranked by overall on-time reliability across all tracked lanes.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Carrier league table — ocean carriers ranked by overall on-time reliability across all tracked lanes.
  • carrier_reliabilityOn-time performance and delay distribution for a specific carrier (by SCAC), optionally on a given lane.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    On-time performance and delay distribution for a specific carrier (by SCAC), optionally on a given lane.
  • 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).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Whether 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.
  • 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 independ…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Fused 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.
  • port_reliabilityCongestion and dwell signals for a port (UN/LOCODE) — average wait and vessels at anchor.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Congestion and dwell signals for a port (UN/LOCODE) — average wait and vessels at anchor.
  • transit_timeObserved transit-time distribution (median / p90, in days) for a carrier on an origin→destination lane.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Observed transit-time distribution (median / p90, in days) for a carrier on an origin→destination lane.
  • 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Watch 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.
Only reads 4Claude Code: allow
  • compare_lanesCompare ocean carriers serving an origin→destination port pair, ranked by on-time reliability and transit time.No findings

    Why it is in this group

    • The name "compare_lanes" says "compare": a word for reading.
    Description, as the server wrote it
    Compare ocean carriers serving an origin→destination port pair, ranked by on-time reliability and transit time. Use this to decide which line to book.
  • find_best_sailingsDecision query: the best upcoming sailings on a lane, ONE per carrier (next bookable departure), ranked.No findings

    Why it is in this group

    • The name "find_best_sailings" says "find": a word for reading.
    Description, as the server wrote it
    Decision 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.
  • find_sailingsObserved and derived upcoming departures on an origin→destination lane, with carrier and frequency.No findings

    Why it is in this group

    • The name "find_sailings" says "find": a word for reading.
    Description, as the server wrote it
    Observed and derived upcoming departures on an origin→destination lane, with carrier and frequency.
  • 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…No findings

    Why it is in this group

    • The name "get_schedules" says "get": a word for reading.
    Description, as the server wrote it
    Published 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.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.3.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http ocean-schedules https://mcp.schedulesmcp.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__ocean-schedules__compare_lanes",
      "mcp__ocean-schedules__find_sailings",
      "mcp__ocean-schedules__get_schedules",
      "mcp__ocean-schedules__find_best_sailings"
    ],
    "ask": [
      "mcp__ocean-schedules__carrier_reliability",
      "mcp__ocean-schedules__transit_time",
      "mcp__ocean-schedules__watch_lane",
      "mcp__ocean-schedules__port_reliability",
      "mcp__ocean-schedules__carrier_league",
      "mcp__ocean-schedules__port_congestion",
      "mcp__ocean-schedules__active_cyclones",
      "mcp__ocean-schedules__lane_storm_exposure"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as ocean-schedules. Review it before you use it.