SchedulesMCP
Compare sailings the way a freight desk actually books them.
Base URL
https://api.schedulesmcp.comThe /public prefix is historical and does not mean open: the data endpoints under it need a key. Only the carrier list and the port search are open. Read the badge on each endpoint.
Authentication
Authorization: Bearer smcp_…Use a key minted for SchedulesMCP (smcp_). Your organisation's shared tmcp_ key is accepted too; calls made with it count against the same SchedulesMCP limit. See the authentication guide.
Public responses wrap in { "ok": true, "data": … }. Ports and locations are UN/LOCODEs (for example CNSHA, NLRTM).
Publishes sailings for 65 shipping lines, filterable by their SCAC codes.View supported lines →
OpenAPI spec
Import the spec into Postman or Insomnia, or generate a typed client with openapi-generator.
Endpoints
Schedules
GETUpcoming sailings/public/schedulesGETCarriers you can filter for/public/schedules/carriersReliability
GETReliability on a lane/public/reliability/lanesGETCarrier league table/public/reliability/leaderboardPorts
GETResolve a port/public/ports/searchGETPort congestion/public/port-congestionWebhooks
POSTRegister an endpoint/v1/webhooksGETList endpoints/v1/webhooksGETEndpoint detail and deliveries/v1/webhooks/{id}PATCHUpdate an endpoint/v1/webhooks/{id}DELETEDelete an endpoint/v1/webhooks/{id}POSTSend a test delivery/v1/webhooks/{id}/testMCP server
The ocean-schedules server exposes the same capabilities as tool calls over Streamable HTTP. Point any MCP client at the endpoint below. See the MCP quickstart.
MCP endpoint
https://mcp.schedulesmcp.com/mcp find_sailingsUpcoming sailings on a lane, vessel-first.find_best_sailingsRank sailings by reliability, transit and departure.compare_lanesPut two or more lanes side by side.carrier_reliabilityOn-time record for carriers on a lane.carrier_leagueCarrier on-time league table.transit_timeTypical and observed transit for a lane.port_congestionCongestion and dwell at a port.lane_storm_exposureActive-cyclone exposure along a lane.How calls are counted
Data needs a key and is counted.
GET /public/schedules, /public/reliability/lanes, /public/reliability/leaderboard and /public/port-congestion need an API key. Each answer that carries data is 1 call against your account's monthly call limit.Transition until 21 October 2026.
/public/reliability/lanes, /public/reliability/leaderboard and /public/port-congestion were open until 7 October. Until 21 October a call to them without a key is still answered, free, and carries a Deprecation: true header. After that date it gets 401. Send your key now.Reference lists are open and free.
GET /public/schedules/carriers and /public/ports/search need no key and are never counted.Not counted:
- – an empty answer, when nothing was found;
- – the next pages of the same search;
- – refusals and errors.
Webhooks. Every successful request you make to
/v1/webhooks and its sub-paths is 1 call. The event deliveries we send to your endpoint are free. Registering, updating and testing an endpoint need SchedulesMCP connected to your account.