← Back to search

@globalfishingwatch/gfw-cli

GitHub Actions Scanned 7d ago

MCP server for Global Fishing Watch data — vessel search, events, fishing hours, and region lookups

C
73.8 / 100

Versions

0.4.8latest
May 25, 2026
0.4.7
May 14, 2026
0.4.6
May 13, 2026
0.4.5
May 13, 2026
0.4.4
May 13, 2026
+ show 17 moreshow less
0.4.3
May 13, 2026
0.4.2
May 12, 2026
0.4.1
May 8, 2026
0.4.0
May 8, 2026
0.3.6
May 7, 2026
0.3.5
May 6, 2026
0.3.4
May 6, 2026
0.3.3
May 6, 2026
0.3.2
May 4, 2026
0.3.1
Apr 30, 2026
0.2.4
Apr 27, 2026
0.1.1
Apr 15, 2026
0.1.0
Apr 15, 2026
0.0.12
Apr 15, 2026
0.0.11
Apr 15, 2026
0.0.10
Apr 15, 2026
0.0.9
Apr 15, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 8

vessel-events
annotations: none low

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
annotations: none low

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.

id string
vessel-by-id
annotations: none low

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
annotations: none low

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
annotations: none low

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
annotations: none low

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
annotations: none low

Retrieve insights for one or more vessels over a date range. Supports four insight types:

region-id-lookup
annotations: none low

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
Server uses network capabilities via: fetch()
filesystem low
Server uses filesystem capabilities via: fs sync ops, path
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 69

medium
Permission: network access detected permission_analyzer · 70%
low
Tool 'vessel-events' has no annotations annotation_checker · 100%
low
Tool 'region-geometry-url' has no annotations annotation_checker · 100%
low
Tool 'vessel-by-id' has no annotations annotation_checker · 100%
low
Tool 'area-report' has no annotations annotation_checker · 100%
low
Tool 'vessel-search' has no annotations annotation_checker · 100%
low
Tool 'events-stats' has no annotations annotation_checker · 100%
low
Tool 'vessel-insights' has no annotations annotation_checker · 100%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
low
Tool 'region-id-lookup' has no annotations annotation_checker · 100%
medium
OAuth implementation without PKCE auth_checker · 75%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-35jp-ww65-95wh) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-3g43-6gmg-66jw) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-3p68-rc4w-qgx5) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-3w6x-2g7m-8v23) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-42h9-826w-cgv3) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-445q-vr5w-6q77) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-5c9x-8gcm-mpgx) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-62hf-57xw-28j9) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-6chq-wfr3-2hj9) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-777c-7fjr-54vf) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-7q8q-rj6j-mhjq) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-898c-q2cr-xwhg) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-fvcv-3m26-pcqx) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-hfxv-24rg-xrqf) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-j5f8-grm9-p9fc) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-jqh4-m9w3-8hp9) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-m7pr-hjqh-92cm) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-mmx7-hfxf-jppx) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-mwf2-3pr3-8698) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-p92q-9vqr-4j8v) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-pf86-5x62-jrwf) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-pmv8-rq9r-6j72) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-pmwg-cvhr-8vh7) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-q8qp-cvcw-x6jj) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-vf2m-468p-8v99) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-w9j2-pvgh-6h63) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-xhjh-pmcv-23jw) dependency_analyzer · 95%
medium
Vulnerable dependency: axios@1.13.6 (GHSA-xx6v-rp6x-q39c) dependency_analyzer · 95%
medium
Vulnerable dependency: qs@6.15.1 (GHSA-q8mj-m7cp-5q26) dependency_analyzer · 95%
medium
Vulnerable dependency: undici@7.25.0 (GHSA-35p6-xmwp-9g52) dependency_analyzer · 95%
medium
Vulnerable dependency: undici@7.25.0 (GHSA-4cwx-7wf7-3272) dependency_analyzer · 95%
medium
Vulnerable dependency: undici@7.25.0 (GHSA-8xcm-r25x-g524) dependency_analyzer · 95%
medium
Vulnerable dependency: undici@7.25.0 (GHSA-g8m3-5g58-fq7m) dependency_analyzer · 95%
medium
Vulnerable dependency: undici@7.25.0 (GHSA-hm92-r4w5-c3mj) dependency_analyzer · 95%
medium
Vulnerable dependency: undici@7.25.0 (GHSA-jr45-8vmc-qm54) dependency_analyzer · 95%
medium
Vulnerable dependency: undici@7.25.0 (GHSA-m8rv-5g2x-5cg5) dependency_analyzer · 95%
medium
Vulnerable dependency: undici@7.25.0 (GHSA-p88m-4jfj-68fv) dependency_analyzer · 95%
medium
Vulnerable dependency: undici@7.25.0 (GHSA-pr7r-676h-xcf6) dependency_analyzer · 95%
medium
Vulnerable dependency: undici@7.25.0 (GHSA-v3r7-h72x-cjcm) dependency_analyzer · 95%
medium
Vulnerable dependency: undici@7.25.0 (GHSA-vmh5-mc38-953g) dependency_analyzer · 95%
medium
Vulnerable dependency: undici@7.25.0 (GHSA-vxpw-j846-p89q) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
Tool: vessel-events manifest_parser · 85%
info
Tool: region-geometry-url manifest_parser · 85%
info
Tool: vessel-by-id manifest_parser · 85%
info
Tool: area-report manifest_parser · 85%
info
Tool: vessel-search manifest_parser · 85%
info
Tool: events-stats manifest_parser · 85%
info
Tool: vessel-insights manifest_parser · 85%
info
Tool: region-id-lookup manifest_parser · 85%
info
Transport: stdio manifest_parser · 90%
info
Required env vars (9) manifest_parser · 80%
low
Permission: filesystem access detected permission_analyzer · 90%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 399 components sbom_generator · 100%
high
Authorization Bearer Token found in GlobalFishingWatch-gfw-mcp-js-2d0af92/README.md secret_scanner · 70%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%