Imf Portwatch
NPM · @PIPEWORX/MCP-IMF-PORTWATCH · 2 COMPONENTS
IMF PortWatch MCP — global maritime trade & chokepoint signals (free, no auth)
Available components
Last scanned (6 hours ago)
Scores higher than 72% of npm servers
Category Maps and Location
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to pipeworx-io/mcp-imf-portwatch). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 3 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability63
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1632 tokens (~272/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 +1
- Security disclosure: fail → unverified ▼ functional
- 3 Nov 26 +15
- Malware scan: unverified → pass ▲ security
- 2 Nov 26 −14
- Malware scan: pass → unverified ▼ security
- Package version: 0.2.1 → 0.2.2 functional
- 31 Oct 26 +16
- Malware scan: unverified → pass ▲ security
- 30 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- Stability: unverified → 0.03 ▲ functional
- Package version: 0.2.0 → 0.2.1 functional
- 29 Oct 26 79
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed npm/@pipeworx/mcp-imf-portwatch@0.2.2
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | pipeworx-io/mcp-imf-portwatch |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/pipeworx-io/mcp-imf-portwatch/.github/workflows/publish.yml@refs/heads/main |
| Rekor log index | 3637422402 |
| Predicate type | SLSA build provenance https://slsa.dev/provenance/v1 |
| Subject digest | sha512:cc5195fdd244de4466b6ad133c0422c2b89c8dc2f8e00eafa85c2b9d2773114fb59cf8e18acbf3d24ca5c286fc7f0b0d221a042e9f044eb2fbd11b27e |
Background: How many MCP packages publish verified provenance →
Dependencies 0 packages
| Packages resolved | 0 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
chokepoint_compare ~428
Compare chokepoint traffic status across 2 to 6 maritime chokepoints side by side and rank them by how far each one has deviated from its own trailing baseline, so an agent can spot which strait or canal is the anomalous one. Answers "which maritime chokepoint is disrupted right now", "Suez Canal transit volume vs Bab el-Mandeb", "compare Panama Canal ship counts to Hormuz", "tanker traffic anomaly across chokepoints". For each chokepoint returns the latest settled day and its total, the baseline mean over the window, the delta, the percent deviation, the direction (above, below, normal), and the per-vessel-type percent deviation; results are sorted with the largest absolute deviation first. Reports data_lag_days and a freshness_note for the whole comparison. Source is IMF PortWatch daily AIS-derived transit counts, published with a multi-day lag, so every "latest" figure is the most recent settled day rather than a live count. Names are matched forgivingly ("Hormuz", "Strait of Hormuz", "Suez", "Panama", "Bab el-Mandeb", "Malacca", "Taiwan", "Bosphorus", "Gibraltar", "Dover") or accept a portid. Examples: chokepoint_compare({chokepoints: ["Hormuz", "Suez", "Bab el-Mandeb"]}); chokepoint_compare({chokepoints: ["Suez", "Cape of Good Hope"], days: 90}); chokepoint_compare({chokepoints: ["Panama", "Suez", "Malacca", "Hormuz"], days: 14}).
| Name | Type | Req | Description |
|---|---|---|---|
| chokepoints | array | yes | Two to six chokepoint names, aliases, or portids — e.g. ["Hormuz", "Suez", "Bab el-Mandeb"] |
| days | number | – | Length of the trailing baseline window in days for every chokepoint (default 30, min 7, max 364). |
No output schema declared.
No examples provided.
chokepoint_daily_traffic ~195
Daily vessel counts and aggregate capacity (deadweight tonnage) transiting a specific chokepoint. Returns time series ordered most-recent-first, with per-cargo-type breakdown (container / dry bulk / general cargo / RoRo / tanker). Use for "is Suez traffic back to normal after the Houthi attacks", "Hormuz throughput vs 30d average", or any bet predicated on a chokepoint disruption persisting. Accepts friendly names (suez / panama / hormuz / bab-el-mandeb / etc.) or PortWatch portid (chokepoint1..8).
| Name | Type | Req | Description |
|---|---|---|---|
| chokepoint | string | yes | Friendly name (e.g. "Hormuz", "Suez Canal") or portid ("chokepoint7") |
| days | number | – | Lookback window in days (default 30, max 365). Data is daily. |
No output schema declared.
No examples provided.
chokepoint_status ~477
Chokepoint traffic status for one maritime chokepoint: the most recent settled day of vessel transits scored against a trailing baseline, so an agent can tell at a glance whether shipping through that strait or canal is above, below, or at its normal run rate. Answers "is shipping through the Strait of Hormuz down", "Suez Canal transit volume this week", "Panama Canal ship counts vs normal", "maritime chokepoint disruption check", "tanker traffic anomaly at Bab el-Mandeb". Returns the latest day (total vessels, per-vessel-type counts, aggregate capacity in deadweight tonnage), data_lag_days plus a freshness_note, the baseline mean with delta / percent deviation / direction (above, below, normal), 7-day and 30-day means, the same percent deviation per vessel type (tanker, container, dry_bulk, general_cargo, roro — a tanker-only drop at Hormuz is the tradeable signal), and the min and max daily total in the window with their dates. Source is IMF PortWatch daily AIS-derived transit counts, published with a multi-day lag, so the "latest" day is the most recent settled day rather than a live count. Accepts forgiving names — "Hormuz", "Strait of Hormuz", "hormuz", "Suez", "Panama", "Bab el-Mandeb", "Malacca", "Taiwan", "Bosphorus", "Gibraltar", "Dover" — or a PortWatch portid like "chokepoint6". Examples: chokepoint_status({chokepoint: "Hormuz"}); chokepoint_status({chokepoint: "Suez Canal", baseline_days: 30}); chokepoint_status({chokepoint: "Panama"}).
| Name | Type | Req | Description |
|---|---|---|---|
| baseline_days | number | – | Length of the trailing baseline window in days, measured backward from the day before the latest settled day (default 90, min 7, max 364). |
| chokepoint | string | yes | Chokepoint name, alias, or portid — e.g. "Hormuz", "Strait of Hormuz", "Suez Canal", "Bab el-Mandeb", "chokepoint6" |
No output schema declared.
No examples provided.
chokepoints_list ~146
List the 8 major maritime chokepoints PortWatch tracks (Suez, Panama, Bosphorus, Gibraltar, Dover, Malacca, Hormuz, Bab-el-Mandeb) with annual vessel counts, traffic mix by cargo type (container / dry bulk / tanker / RoRo / general), and top industries by volume. Use to discover what a chokepoint normally carries — for live daily throughput call chokepoint_daily_traffic. The response carries served_from: "primary" or "fallback"; when IMF's reference layer is down it is built from the daily transit layer and omits annual totals, lat/lon and top industries (see missing_vs_primary).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
port_search ~157
Search the PortWatch port database (1,500+ ports globally) by name, country, or ISO3. Returns matching ports with country, continent, latitude/longitude, annual vessel counts by cargo type, top industries, and the port's share of the country's maritime imports/exports. Useful for identifying which ports would be affected by a country-level disruption, or finding the LOCODE / portid for a named port.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | Country filter — full name ("Netherlands") or ISO3 ("NLD") |
| limit | number | – | Max results (default 20, max 100) |
| query | string | – | Free-text portname match (e.g. "Rotterdam", "Houston", "Singapore") |
No output schema declared.
No examples provided.
recent_disruptions ~173
Port-affecting disruption events tracked by PortWatch — tropical cyclones, floods, earthquakes, conflict events — with start/end dates, alert level (GREEN/ORANGE/RED), severity, affected port count, and impacted population. Filter by country, alert level, or year. Use for "what disrupted shipping in the last month", "which port closures hit our supply chain", or to validate a bet on whether a current disruption is escalating.
| Name | Type | Req | Description |
|---|---|---|---|
| alert_level | string | – | RED | ORANGE | GREEN — minimum alert level to include |
| country | string | – | Filter to a single country name (e.g. "Mozambique") |
| limit | number | – | Max events to return (default 25, max 100) |
| year | number | – | Filter to events from this calendar year |
No output schema declared.
No examples provided.
How do I install the Imf Portwatch MCP server?
Imf Portwatch runs locally as an npm package, launched with npx -y @pipeworx/mcp-imf-portwatch. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @pipeworx/mcp-imf-portwatch
claude mcp add pipeworx-io-imf-portwatch -- npx -y @pipeworx/mcp-imf-portwatch
What is the Imf Portwatch MCP server?
Imf Portwatch is an MCP server listed in the public MCP registry as io.github.pipeworx-io/imf-portwatch. IMF PortWatch MCP, global maritime trade & chokepoint signals (free, no auth). This page covers its npm package (@pipeworx/mcp-imf-portwatch).
Is the Imf Portwatch MCP server safe to use?
Imf Portwatch scores 82 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Imf Portwatch MCP server expose?
Imf Portwatch exposes 6 tools: chokepoints_list, chokepoint_daily_traffic, port_search, recent_disruptions, chokepoint_status, chokepoint_compare. Their descriptions and schemas cost roughly 1,576 tokens of context every time the server is loaded.
Is the Imf Portwatch MCP server still maintained?
Imf Portwatch is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Imf Portwatch MCP server under?
Imf Portwatch declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.