Skip to main content
Glama

Ships in an area

vessels_in_area
Read-onlyIdempotent

Ships heard in the last hour inside a box (at most 5° on each side), largest first. List results are compact rows (mmsi, name, category, flag (ISO code from the MMSI), lat, lon, speed_kn, course_deg, length_m, destination, age_s, status, source); call get_vessel for full details of one ship. Private vessels (pleasure craft, sailing vessels and Class B transponders without a valid IMO number) are never listed or looked up individually; area and nearby results report how many were left out (private_vessels).

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of ships to return
max_latYesNorthern edge of the box, decimal degrees
max_lonYesEastern edge of the box, decimal degrees
min_latYesSouthern edge of the box, decimal degrees
min_lonYesWestern edge of the box, decimal degrees
ship_typeNoOptional type filter

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / limit / description
      Added value: +"Maximum number of ships to return"
    • addedInput schema / properties / max_lat / description
      Added value: +"Northern edge of the box, decimal degrees"
    • addedInput schema / properties / max_lon / description
      Added value: +"Eastern edge of the box, decimal degrees"
    • addedInput schema / properties / min_lat / description
      Added value: +"Southern edge of the box, decimal degrees"
    • addedInput schema / properties / min_lon / description
      Added value: +"Western edge of the box, decimal degrees"
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safe-read profile (readOnly, idempotent, non-destructive), and the description adds substantive behavior beyond them: a one-hour recency window, a maximum 5° box, largest-first ordering, and the non-obvious policy that private vessels are never returned but are counted in a private_vessels field. That exclusion rule is the kind of hidden behavior an agent could not infer from schema or annotations.

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-loaded with the core scope, constraint and ordering before the detail list, with zero filler. The compact row field enumeration is long but justified because there is no output schema; it could still be tightened slightly.

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?

For a six-parameter read tool with no output schema, the description supplies the return shape, the recency semantics, the bounding-box limit, the ranking, the private-vessel exclusion with its counter, and the escalation path to get_vessel. Only the failure mode for an oversized box is unstated, which is a minor gap.

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

Parameters4/5

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

Schema coverage is 100%, giving a baseline of 3, but the description contributes meaning the schema lacks: the 5° per-side cap on min/max lat/lon and the 'largest first' implication for the limit parameter. Only ship_type is left unmentioned.

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?

States a specific resource (ships), a precise scope (heard in the last hour inside a bounding box), a hard constraint (box at most 5° per side) and an ordering (largest first). This clearly separates it from the radius-based vessels_near and the name-based lookup_vessels/search_vessels siblings.

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?

Explicitly routes the agent to get_vessel when full detail on a single ship is needed, and the box-size cap tells the agent this tool is not usable for wide-area queries. It never names a competing sibling (e.g. vessels_near for radius searches) or states exclusions, so it falls short of a full when/when-not map.

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.