@pipeworx/global-fishing-watch

Connect: https://gateway.pipeworx.io/global-fishing-watch/mcp · Install: one-click buttons

No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.

Tools: 3

Global Fishing Watch API v3 — AIS-derived vessel identity, at-sea events (apparent fishing, encounters, loitering, port visits, AIS gaps) and aggregated apparent fishing effort.

Tools

  • gfwfish_vessels_search(query, datasets?, limit?, offset?, _apiKey) — vessel identity by name, MMSI, IMO or call sign.
  • gfwfish_events(start_date, end_date, vessel_id?, event_type?, limit?, offset?, _apiKey) — events over a date range.
  • gfwfish_4wings_report(bbox, start_date, end_date, group_by?, temporal_resolution?, spatial_resolution?, datasets?, _apiKey) — apparent fishing effort aggregated over a bounding box.

Auth

BYO only today. Every v3 endpoint requires a Bearer token; there is no keyless or demo path. Tokens are free for non-commercial use after registration at https://globalfishingwatch.org/our-apis/tokens.

The platform env var is PLATFORM_GFW_FISHING_TOKEN, declared on the manifest entry with byoExpected: true because no token is provisioned. Remove byoExpected in the same change that lands the secret. Distinct from PLATFORM_GFW_KEY, which is Global Forest Watch — different organisation, different API, similar abbreviation.

licence: non-commercial is set on the pack: GFW data is free for non-commercial use and commercial use needs their permission.

Data sources

A 401 from this API proves nothing about the path. An unauthenticated request to any path — including one that does not exist, verified against /v3/zzz-not-a-path on 2026-09-17 — answers 401 {"error":"invalid token"}. So the endpoint shapes above are taken from GFW’s published v3 documentation and have NOT been confirmed against a live token; the first caller with a real key should check the response field names (entries, total) before trusting them.

Multi-value parameters use indexed square brackets: datasets[0]=..., vessels[0]=....

Tools

  • gfwfish_vessels_search — Search the Global Fishing Watch vessel identity database by name, MMSI, IMO or call sign. Returns each matching vessel with its GFW vessel id (pass it to gfwfish_events), flag state, gear type, regist
  • gfwfish_events — Global Fishing Watch vessel events over a date range — apparent fishing, encounters between vessels at sea, loitering, port visits and AIS gaps (transmission switched off). Each event carries its posi
  • gfwfish_4wings_report — Aggregate apparent fishing effort (hours) from Global Fishing Watch over a bounding box and date range, grouped by flag state, gear type or vessel. This is the AIS-derived fishing-pressure layer behin

Tools

  • gfwfish_4wings_report — Aggregate apparent fishing effort (hours) from Global Fishing Watch over a bounding box and date range, grouped by flag state, gear type or vessel. This is the AIS-derived fishing-pressure layer behin
  • gfwfish_events — Global Fishing Watch vessel events over a date range — apparent fishing, encounters between vessels at sea, loitering, port visits and AIS gaps (transmission switched off). Each event carries its posi
  • gfwfish_vessels_search — Search the Global Fishing Watch vessel identity database by name, MMSI, IMO or call sign. Returns each matching vessel with its GFW vessel id (pass it to gfwfish_events), flag state, gear type, regist

Regenerated from source · build September 18, 2026