ocean-schedules
Server Details
Compare ocean carrier schedules, transit times and reliability: 60+ carriers, 72,000+ sailings.
- Status
- Healthy
- Uptime
- 100.0% over 81 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- lxxmng/schedulesmcp-mcp
- GitHub Stars
- 1
- Server Listing
- SchedulesMCP
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 9 tools
Most tools have clearly distinct purposes: storms, congestion, carrier reliability, lane comparison, schedules, and alerts. The main overlap is among get_schedules, find_best_sailings, and compare_lanes, which all operate on lanes, but their descriptions give explicit use cases that help an agent choose correctly.
All names use snake_case consistently and are readable. However, the set mixes verb-first names like get_schedules and compare_lanes with noun-phrase names like port_congestion and carrier_league, so it is not a uniform verb_noun pattern.
Nine tools is a well-scoped set for an ocean-scheduling intelligence server. Each tool covers a distinct operational area such as schedules, reliability, congestion, storms, or alerts, with no obvious filler tools.
The surface covers the core decision-support workflow well: find lanes, compare carriers, inspect schedules, assess congestion and storm exposure, and create alerts. Minor gaps remain around managing existing watches and broader port/vessel lookup, but agents can work around these.
Available Tools
9 toolsactive_cyclonesAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses data sources (CMA, NHC, JTWC, GDACS) and output fields (name, basin, category, etc.), giving a clear picture of what to expect. It could enhance transparency by mentioning update frequency or behavior when no storms are active, but the current level is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero waste. The first sentence immediately states the tool's purpose and key attributes, and the second sentence reinforces the use case. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey return format. It lists specific fields (name, basin, category, etc.) and sources, providing enough context for the agent to understand the response structure. However, it does not mention potential error states or performance considerations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the description need not explain parameter meaning. The baseline score is 4, and the description adds value by detailing the output structure, which compensates for the lack of an output schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('active') and resource ('cyclones'), clearly indicating it returns live tropical cyclones with attributes like name, basin, category, and position. It distinguishes from sibling tools like 'lane_storm_exposure' which focus on lane-specific exposure, not general cyclone status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool is for seeing 'which storms are at sea right now,' implying a current snapshot use case. However, it does not explicitly mention when not to use it or provide alternatives among siblings (e.g., for historical data or lane-specific analysis), leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
carrier_leagueAInspect
Carrier 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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses token pricing and that an empty answer is free, but it does not explain authentication requirements, data freshness, ranking methodology, or the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the tool's purpose and followed by a relevant cost note. Every sentence earns its place and there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter lookup with no output schema, the description sufficiently explains what the tool returns. Minor gaps remain around data currency and result format, but the core information needed to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics gap. The baseline score of 4 applies because there are no inputs requiring explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource and metric: a league table of ocean carriers ranked by overall on-time reliability across all tracked lanes. It is specific about what is returned, but it does not explicitly distinguish this aggregate ranking from the sibling tool carrier_reliability, which likely provides carrier-level detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus carrier_reliability, compare_lanes, or find_best_sailings. It implies a high-level ranking use case but provides no explicit conditions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
carrier_reliabilityAInspect
On-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.
| Name | Required | Description | Default |
|---|---|---|---|
| carrier_code | Yes | Carrier SCAC, e.g. MAEU |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
This description is excellent for behavioral transparency because it discloses crucial operational details not covered by the schema or annotations, specifically the cost (10 tokens per call) and the behavior for null/empty results (free).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise. It uses two short, punchy sentences to communicate the primary functionality, the specific data points returned, and operational costs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the function (reliability metrics), the description is complete regarding the data provided. The agent knows exactly what information to expect and the financial implications (cost). The only minor gap is the lack of defined return structure, which is common.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, meaning the input fields are fully defined structurally. The description only serves to reiterate that the input is tied to a specific carrier/SCAC.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the purpose is to provide 'on-time performance and delay distribution' and specifies the scope is for a 'specific carrier (by SCAC)', making it highly actionable and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the tool's name implies its usage, it does not explicitly state when to use it versus alternatives like 'get_schedules' or 'carrier_league' in the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_lanesAInspect
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. With Navo Tokens this costs 10 tokens per call; an empty answer is free.
| Name | Required | Description | Default |
|---|---|---|---|
| origin | Yes | Origin port UN/LOCODE, e.g. CNSHA | |
| destination | Yes | Destination port UN/LOCODE, e.g. NLRTM |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does add non-obvious behavior: a 10-token cost per call under Navo Tokens and the fact that an empty answer is free. That is genuinely useful pre-call information. It does not state error/failure behavior or explicitly confirm the operation is side-effect free, leaving a modest gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences: purpose and ranking first, then the decision use case, then the cost caveat. Nothing is repeated and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, fully documented read query with no output schema, the description supplies the essentials, including the return ordering. Slightly richer detail on what a result row contains would make it complete, but the ranking statement covers the main need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — both parameters are documented with UN/LOCODE format and examples. The description's "origin→destination port pair" restates the schema rather than adding format rules or edge cases, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ("Compare ocean carriers") scoped to an origin→destination port pair, and states the ranking criteria (on-time reliability, transit time), which separates it from global siblings like carrier_league or carrier_reliability. It stops short of explicitly naming the closest alternative, find_best_sailings, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use this to decide which line to book" gives a clear decision context for invoking the tool. There are no explicit exclusions or named alternatives (e.g., when to prefer find_best_sailings or get_schedules), so guidance is contextual rather than complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_best_sailingsAInspect
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. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Latest departure date YYYY-MM-DD (default: +60 days) | |
| from | No | Earliest departure date YYYY-MM-DD (default: today) | |
| sort | No | Ranking (default recommended = reliability blended with transit) | |
| cutoff | No | 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. | |
| origin | Yes | Origin port UN/LOCODE or name resolves upstream, e.g. CNSHA | |
| destination | Yes | Destination port UN/LOCODE, e.g. NLRTM | |
| transshipment | No | 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 | No | Maximum transit time in days | |
| reliability_floor | No | Minimum 90-day on-time %, 0-100 | |
| cutoff_include_unknown | No | Default true. false narrows to sailings where a deadline is actually held and still ahead. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses Navo Token costs, that an empty answer is free, timezone handling, ranking behavior, and the evidence rule for direct sailings. It also explains that each option carries cutoff_status, which is important behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the decision-query purpose and filter list, then adds timezone and cost caveats that materially affect correct use. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters and no output schema, the description provides enough behavioral context to call the tool correctly, including ranking, one-per-carrier semantics, timezone handling, and cost. It could say more about the full response shape, but the critical invocation details are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics beyond the schema by clarifying that from/to and related time fields are port-local with no timezone offset and should be quoted without conversion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it finds the best upcoming sailings on a lane, one per carrier, ranked. It clearly distinguishes this decision query from raw schedule listing by framing it as answering 'what should I book?'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to use this tool to answer 'what should I book?' and lists the relevant filters. It does not name alternative sibling tools such as get_schedules or compare_lanes, so the when-not-to-use guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_schedulesAInspect
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. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | 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. | |
| origin | Yes | Origin port UN/LOCODE, e.g. CNSHA | |
| destination | Yes | Destination port UN/LOCODE, e.g. NLRTM |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so richly: it explains timezone handling, precision semantics, carrier error states, token costs, and the shape of the response. These are meaningful behavioral details an agent needs before invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and the extra length is largely justified by the absence of an output schema. Some sentences are dense and semicolon-heavy, but the detail is relevant and not redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity, lack of annotations, and lack of an output schema, the description is complete enough: it covers returned fields, ordering, carrier entries, error conditions, time semantics, and cost. Result limits or pagination are not mentioned, but they are not essential for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description reinforces the local-time semantics of the 'from' window, but adds no syntax or usage details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific resource and scope: published forward sailing schedules on an origin→destination lane, including the exact returned fields. It does not explicitly differentiate itself from the sibling tool find_best_sailings, so it falls short of the top score despite being otherwise precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear use case: 'Use this to find concrete upcoming departures to book.' However, it does not name alternatives such as find_best_sailings or compare_lanes, nor does it state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lane_storm_exposureAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| origin | No | Origin port UN/LOCODE, e.g. CNSHA | |
| destination | No | Destination port UN/LOCODE, e.g. USLAX |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It indicates the check is for 'currently' with 'forecast gale field', but does not explain edge cases like no cyclones or invalid ports.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. First sentence defines purpose, second provides key usage note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers main use and parameter behavior but lacks details on output format or precise definition of 'storm-exposed'. With no output schema, more context on return values would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds value by explaining that omitting both ports lists every exposed lane, which is not in schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: check if an ocean lane passes through a cyclone's forecast gale field. It distinguishes from siblings like active_cyclones by focusing on lane exposure rather than cyclone info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for storm-exposure checks and mentions omitting ports to list all exposed lanes, but does not explicitly state when to use this vs alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
port_congestionAInspect
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. With Navo Tokens this costs 10 tokens per call; an empty answer is free.
| Name | Required | Description | Default |
|---|---|---|---|
| port | Yes | Port UN/LOCODE, e.g. NLRTM |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the billing model (10 tokens per call with Navo Tokens, empty answer free) and the provenance of the signal (measured vessel waiting times, port-call throughput, AIS wait/density). It does not cover data freshness/lag, error behavior for unknown LOCODEs, or any rate limits, which keeps it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense sentence, but the payload (level, wait in days, confidence, source readings) and the cost note are front-loaded and each clause carries distinct information. Slightly overstuffed with parentheticals, though nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by enumerating the four return components, including units (days) and scale (0-1 confidence) — exactly what an agent needs to consume the result. Missing only operational context such as data latency and failure modes for unknown ports.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'port' parameter already documents the UN/LOCODE format with an example (NLRTM). The description only restates the same format, adding no validation rules, accepted casings, or behavior for unresolvable codes, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Fused port-congestion signal for a port (UN/LOCODE)') and then enumerates what the signal returns: effective level, expected added wait in days, 0-1 confidence, and the underlying readings. Nothing in the sibling set (carrier_reliability, lane_storm_exposure, get_schedules) does port-level fused congestion, so an agent can route to it unambiguously.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the parenthetical '(for ETA-band widening)' hints at one downstream use case, and the token-cost sentence signals a metered tool, but there is no explicit when-to-use/when-not or named alternative (e.g. lane-level risk tools) to compare against. An agent knows what it does but must infer when it beats the lane-oriented siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_laneAInspect
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. Free with Navo Tokens: a watch is configuration, not data.
| Name | Required | Description | Default |
|---|---|---|---|
| origin | Yes | Origin port UN/LOCODE, e.g. CNNGB | |
| alert_slip | No | Alert when a sailing slips vs schedule (default true) | |
| alert_blank | No | Alert on suspected blank sailings (default true) | |
| destination | Yes | Destination port UN/LOCODE, e.g. NLRTM | |
| alert_cutoff | No | Alert when a booking cut-off is closing (default true) | |
| carrier_code | No | Optional SCAC to scope the watch to one carrier | |
| cutoff_lead_hours | No | Hours before cut-off to alert (default 48) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses important behavior: it creates a configuration watch, returns the created watch, is PAID, and sends emails on blanking, cut-off, slippage, and reliability drops. It still omits auth/permission requirements, duplicate-watch behavior, and cancellation or rate-limit details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the core action and alert conditions, and avoids restating the parameter schema. Each sentence adds useful information about behavior, return, or pricing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a seven-parameter configuration tool with no annotations and no output schema, it explains what is created, why it emails, and that it is paid. It lacks some operational details such as required email setup or watch management, but the core context is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all seven parameters. The description maps alert types to the blank/cutoff/slip booleans but does not add format, constraints, or defaults beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Uses a specific verb ('Watch') and resource ('lane') and explains the alert outcomes: blanked sailing, cut-off closing, sailing slip, and reliability drops. It is clearly a watch-creation tool, distinct from sibling read/query tools like get_schedules, but it does not explicitly name an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied: create a watch to receive email alerts on lane schedule events. However, it gives no explicit when-to-use versus alternatives such as get_schedules or find_best_sailings, no when-not conditions, and no prerequisites like email setup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Removed
find_sailings - Removed
port_reliability - Removed
transit_time
2 tool updates
- Changed
find_best_sailings5 fields changed- added
Input schema / properties / cutoffAdded value: +{ + "const": "open", + "description": "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.", + "type": "string" +} - added
Input schema / properties / cutoff_include_unknownAdded value: +{ + "description": "Default true. false narrows to sailings where a deadline is actually held and still ahead.", + "type": "boolean" +} - removed
Input schema / properties / cutoff_openRemoved value: -{ - "description": "Only sailings whose booking cut-off has not passed", - "type": "boolean" -} - removed
Input schema / properties / direct_onlyRemoved value: -{ - "description": "Exclude transshipment routings", - "type": "boolean" -} - added
Input schema / properties / transshipmentAdded value: +{ + "description": "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.", + "type": "boolean" +}
- Changed
get_schedules1 field changed- added
Input schema / properties / fromAdded value: +{ + "description": "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.", + "type": "string" +}
3 tool updates
- Added
active_cyclones - Added
lane_storm_exposure - Added
port_congestion
9 tool updates
- First observed
carrier_league - First observed
carrier_reliability - First observed
compare_lanes - First observed
find_best_sailings - First observed
find_sailings - First observed
get_schedules - First observed
port_reliability - First observed
transit_time - First observed
watch_lane
Related MCP Connectors
Ocean shipping intelligence: D&D, freight rates, vessel schedules, port data. 24 tools, 6 carriers.
Ocean spot freight rates out of China and Asia per lane: 20ft/40ft HC prices, carriers, transit.
Ocean & multimodal freight intelligence: rates, landed cost, transit, customs, risk, ship decisions
Track ocean containers and shipments: live ETAs, delays, carrier events and share links.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceTrack ocean containers across 200+ shipping lines by container, bill of lading, or booking number — live milestones, vessel positions, ETAs, and demurrage & detention free time.18 npm1MIT
- AlicenseAqualityDmaintenanceOcean and multimodal freight intelligence suite providing cross-validated rates, total landed cost, transit reliability, customs, risk, emissions, and unified ship decisions through 47 tools.4710 npmMIT
- AlicenseNot gradedqualityDmaintenanceOcean container shipping intelligence for AI agents — D\&D tariffs, freight rates, vessel schedules, port congestion, inland haulage across 6 major carriers. 24 MCP tools.1MIT
- AlicenseBqualityDmaintenanceCompare parcel and letter delivery prices across 60+ carriers in 27 European countries.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.