@globalfishingwatch/gfw-cli
MCP server for Global Fishing Watch data — vessel search, events, fishing hours, and region lookups
Versions
0.4.8latest0.4.70.4.60.4.50.4.4+ show 17 moreshow less
0.4.30.4.20.4.10.4.00.3.60.3.50.3.40.3.30.3.20.3.10.2.40.1.10.1.00.0.120.0.110.0.100.0.9Tools 8
vessel-events Retrieve fishing events from the Global Fishing Watch API. Filter by event type, date range, vessel ID, and region. Results include event metadata, positions, vessel info, and the region IDs (EEZ, MPA, RFMO, FAO) where each event intersects. Use the regions fields in each entry to filter or group events by region — for example, to find all events inside a specific EEZ, MPA, RFMO, or FAO area. Each entry also includes a mapUrl linking to the vessel's profile on the Global Fishing Watch map — share this URL with the user when presenting results.
region-geometry-url Returns the URL where the GeoJSON geometry of a specific Marine Protected Area (MPA), Exclusive Economic Zone (EEZ), or Regional Fisheries Management Organisation (RFMO) can be retrieved. Use region-id-lookup first to obtain the ID.
vessel-by-id Retrieve one or more vessels by their GFW vessel IDs. Returns vessel metadata including a mapUrl for each vessel, and a relatedIdentities array with other AIS identities linked to the same physical vessel (e.g. different MMSI or name periods). Use when you already know the vessel ID(s) and want to fetch their full profile.
area-report Returns the number of activity hours for a given time period either worldwide or within a specific Marine Protected Area (MPA), Exclusive Economic Zone (EEZ), or Regional Fisheries Management Organisation (RFMO). For a specific region, provide regionType and regionId (use the Region ID Lookup tool if you only have the name). For a global report covering the entire world, set regionWorld to true and omit regionType and regionId — these two modes are mutually exclusive. Optionally filters by vessel flag states, gear types, vessel types, and speeds. The tool also provides a link to the Global Fishing Watch (GFW) map where users can view the detailed data visually. IMPORTANT: This tool must NEVER be called in parallel. If multiple reports are needed, call this tool sequentially, one at a time, waiting for each result before making the next call. IMPORTANT: The gfwMapUrl returned by this tool must NEVER be truncated, shortened, or summarized — always display it in its entirety.
vessel-search Search vessels by name, MMSI, IMO, callsign, flag, gear type, or activity date range. Returns basic vessel metadata and identifiers, including a mapUrl for each vessel. Use the mapUrl to link the user directly to the vessel's profile on the Global Fishing Watch map. All filters are optional but at least one should be provided for meaningful results.
events-stats Compute aggregate statistics for events (fishing, encounters, port visits, loitering) over a date range. Optionally filter by region (MPA, EEZ, RFMO) and group results by flag or gear type. Returns total event count, unique flags, unique vessels, grouped counts, and a GFW map URL to visualise the results (not available for fishing events).
vessel-insights Retrieve insights for one or more vessels over a date range. Supports four insight types:
region-id-lookup Retrieve the canonical identifier (ID) for a Marine Protected Area (MPA), Exclusive Economic Zone (EEZ), or Regional Fisheries Management Organisation (RFMO) based on a human-readable name. When more than one match is returned, ask the user which region they meant before proceeding. Use this tool before requesting fishing hours to ensure you pass the correct region ID.
Permissions 3
network medium filesystem low env_vars low