Skip to main content
Glama

Ships expected at a port (API key)

expected_arrivals
Read-onlyIdempotent

Ships that have not arrived yet at one port, from the port's own records: estimated arrival and departure (UTC), berth and declared previous port, from 6 hours ago to 14 days ahead, in arrival order. Available for Finnish ports; elsewhere the list is empty. Get the port_id from find_port. Needs an AIS Trail API key sent by the MCP client as the HTTP header 'Authorization: Bearer ap_live_…' and a plan with live data (Pro or Business); at most 200 ships per call, 1 credit per ship returned.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "port_id": "<port_id>"
    },
    "name": "expected_arrivals"
  }
}

Input Schema

NameRequiredDescriptionDefault
port_idYesPort id from find_port

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the read-only annotations: discloses the required Authorization bearer header with key prefix, the plan requirement (Pro or Business with live data), the 200-ship cap per call, the 1-credit-per-ship cost, and the Finnish-port geographic limitation. These are exactly the operational facts an agent needs before invoking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core purpose and return fields before the access constraints. Dense but nearly every clause carries information; the single long sentence is slightly harder to scan than a split structure would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description enumerates the returned fields (estimated arrival/departure in UTC, berth, declared previous port), the time window, and the sort order. Combined with auth, plan, and quota details, nothing material is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single port_id parameter is already documented as coming from find_port, which the description repeats. The description adds no further semantics such as valid ranges or behavior for unknown ids, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ('Ships that have not arrived yet at one port') and scopes it with source ('from the port's own records'), time window, and ordering. The 'not arrived yet' framing implicitly separates it from arrived-vessel siblings like port_calls, so an agent can pick it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear prerequisites and routing: get the port_id from find_port, and it only returns data for Finnish ports (empty elsewhere). It does not explicitly name the sibling to use for already-arrived ships or historical calls, so the when-not guidance is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.