Skip to main content
Glama

Search Fishing Vessels

gfw.vessel.search
Read-onlyIdempotent

Search the Global Fishing Watch database for fishing and commercial vessels by name, MMSI (9-digit AIS identifier), IMO number, or call sign. Returns vessel identities with flag state, gear types (trawlers, longliners, purse seiners, etc.), ship types, and AIS transmission date ranges. GFW tracks 60,000+ active fishing vessels using satellite AIS data covering 2012–present. Optionally filter results by flag state using ISO 3-letter country code. Use gfw.vessel.details for full registry information.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
flagNoISO 3166-1 alpha-3 country code to filter by flag state (e.g. "CHN" for China, "USA" for United States, "PAN" for Panama).
limitNoMaximum number of vessels to return (1–50, default 10).
queryYesVessel name, MMSI (9-digit AIS identifier), IMO number, or call sign to search for (e.g. "Atlantic Star", "123456789", "IMO9234567"). Partial names are supported.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent only when the call failed. Includes error code, message, request_id, and any provider-specific extras.
resultNoTool response payload. Shape varies per tool — consult the tool description and inputSchema. May be an object, array, string, or number depending on the upstream provider response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds useful context: it returns vessel identities with flag state, gear types, ship types, and AIS date ranges, and mentions the data coverage (60,000+ vessels, 2012–present). This enriches the agent's understanding without contradicting 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?

The description is concise at four sentences, front-loading the primary action and following with return data, coverage stats, optional filter, and a pointer to the sibling tool. Each sentence serves a purpose, though the coverage statistics could be seen as slightly extra but are relevant for context.

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

Completeness4/5

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

For a search tool with a rich schema (100% parameter coverage) and an output schema, the description covers what it searches, what it returns, optional filters, and points to the details tool. It lacks explicit mention of pagination or limit behavior, but these are captured in the schema, so the description is complete enough for an agent to invoke it correctly.

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 description coverage is 100%, so the schema fully documents all three parameters (query, flag, limit). The description adds little beyond the schema: it repeats the query formats (name, MMSI, IMO, call sign) which are already in the schema, and mentions the flag filter. No new semantic information is provided, so the baseline of 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?

The description states a specific action: searching the Global Fishing Watch database for fishing and commercial vessels by name, MMSI, IMO, or call sign. It explicitly distinguishes itself from gfw.vessel.details by noting that details provides full registry information, making it clear which tool to use for what.

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?

The description provides clear context for when to use this tool (searching by identifier) and explicitly points to gfw.vessel.details as the alternative for full registry info. It also mentions optional flag filtering, but does not explicitly state when NOT to use it beyond the sibling pointer, which is sufficient.

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.