Imf Portwatch
Server Details
IMF PortWatch MCP — global maritime trade & chokepoint signals (free, no auth)
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 21.6% over 64 days
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- pipeworx-io/mcp-imf-portwatch
- GitHub Stars
- 2
- Server Listing
- mcp-imf-portwatch
TDQS
Scored across 42 tools
Several tool families overlap: ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded, deep_research, suggest_questions, and discover_tools all serve discovery/answer routing, while polymarket_edges, polymarket_arbitrage, polymarket_edge_tracker, polymarket_fill_risk, bet_research, and polymarket_kalshi_spread cover intersecting prediction-market analyses. The very long descriptions often state explicit preferences (e.g. 'prefer over web search'), which mitigates but does not eliminate misselection risk.
Nearly all names are snake_case, so the surface is predictable. Minor deviations exist: chokepoints_list vs chokepoint_status, polymarket_edges vs polymarket_edge_tracker, and a mix of verb_noun (validate_claim, resolve_entity) and noun_phrase (company_facts, kalshi_weather_edge) patterns. Still readable and mostly consistent.
42 tools is heavy and spans far beyond the nominal 'Imf Portwatch' domain, covering SEC, FRED, FDA, patents, prediction markets, LLM visibility, memory, subscriptions, and feedback. For a server named after a specific port-traffic dataset, this is a significant scope mismatch; even as a universal gateway it is on the large side.
The surface covers a wide range of research and monitoring workflows: discovery, grounded answering, entity resolution, financial facts, prediction-market analysis, port/chokepoint data, memory, and subscriptions. Gaps exist around explicit update/delete operations for non-memory domains and general unstructured search, but core agent workflows appear well supported.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
- Changed
ask_pipeworx3 fields changed- added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious value: -"Your question or request in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question or request in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
- Changed
ask_pipeworx_beta3 fields changed- added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious value: -"Your question or request in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question or request in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
- Changed
ask_pipeworx_grounded3 fields changed- added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious value: -"Your question in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
- Changed
deep_research8 fields changed- added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / inputAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / promptAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / qAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / queryAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious value: -"The research question, in natural language. Broad/multi-part is fine — decomposition is the point."New value: +"The research question, in natural language. Broad/multi-part is fine — decomposition is the point. Accepts query, q, prompt, text, input, ask, message as aliases." - added
Input schema / properties / textAdded value: +{ + "description": "Alias for question.", + "type": "string" +}
- Changed
forget4 fields changed- added
Input schema / properties / kAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - changed
Input schema / properties / key / descriptionPrevious value: -"Memory key to delete"New value: +"Memory key to delete. Accepts name, k, label as aliases." - added
Input schema / properties / labelAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Alias for key.", + "type": "string" +}
- Changed
recall4 fields changed- added
Input schema / properties / kAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - changed
Input schema / properties / key / descriptionPrevious value: -"Memory key to retrieve (omit to list all keys)"New value: +"Memory key to retrieve (omit to list all keys). Accepts name, k, label as aliases." - added
Input schema / properties / labelAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Alias for key.", + "type": "string" +}
- Changed
release_calendar_markets2 fields changed- added
Output schema / properties / empty_reasonAdded value: +{ + "description": "Present ONLY on a zero-release window: \"no_releases_in_window\". The window was queried and nothing is scheduled — this is an answer, not a failure.", + "type": "string" +} - added
Output schema / properties / hintAdded value: +{ + "description": "Present ONLY on a zero-release window: what to change (usually a wider `hours`).", + "type": "string" +}
- Changed
remember9 fields changed- added
Input schema / properties / contentAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - added
Input schema / properties / dataAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - added
Input schema / properties / kAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - changed
Input schema / properties / key / descriptionPrevious value: -"Memory key (e.g., \"subject_property\", \"target_ticker\", \"user_preference\")"New value: +"Memory key (e.g., \"subject_property\", \"target_ticker\", \"user_preference\"). Accepts name, k, label as aliases." - added
Input schema / properties / labelAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / textAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - added
Input schema / properties / vAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - changed
Input schema / properties / value / descriptionPrevious value: -"Value to store (any text — findings, addresses, preferences, notes)"New value: +"Value to store (any text — findings, addresses, preferences, notes). Accepts content, text, data, v as aliases; a non-string value is stored as JSON."
28 tool updates
- Changed
ai_visibility_check1 field changed- added
Input schema / examplesAdded value: +[ + { + "entity": "Tesla" + } +]
- Changed
ask_pipeworx_beta1 field changed- added
Input schema / examplesAdded value: +[ + { + "question": "What is the current US unemployment rate?" + } +]
- Changed
ask_pipeworx_grounded1 field changed- added
Input schema / examplesAdded value: +[ + { + "question": "What was Apple's fiscal 2023 revenue?" + } +]
- Changed
bet_research2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "market": "will-bitcoin-reach-100k-in-july-2026" - }, - { - "market": "https://polymarket.com/event/will-bitcoin-hit-150k-by-june-30-2026" - } -]New value: +[ + { + "market": "will-kristi-noem-win-the-2028-republican-presidential-nomination" + }, + { + "market": "https://polymarket.com/event/will-kristi-noem-win-the-2028-republican-presidential-nomination" + } +] - changed
Input schema / properties / market / descriptionPrevious value: -"Polymarket slug (\"will-bitcoin-hit-150k-by-june-30-2026\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k by June 30?\")"New value: +"Polymarket slug (\"will-kristi-noem-win-the-2028-republican-presidential-nomination\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."
- Added
company_facts - Changed
compare_entities1 field changed- added
Input schema / examplesAdded value: +[ + { + "type": "company", + "values": [ + "AAPL", + "MSFT" + ] + } +]
- Changed
deep_research1 field changed- added
Input schema / examplesAdded value: +[ + { + "depth": "quick", + "question": "What is the current US unemployment rate and how has it changed over the past year?" + } +]
- Changed
entity_profile1 field changed- added
Input schema / examplesAdded value: +[ + { + "type": "company", + "value": "AAPL" + } +]
- Changed
generate_llms_txt1 field changed- added
Input schema / examplesAdded value: +[ + { + "url": "https://pipeworx.io" + } +]
- Added
kalshi_weather_edge - Changed
pipeworx_feedback1 field changed- added
Input schema / examplesAdded value: +[ + { + "message": "Fleet #2184 smoke test: verifying pipeworx_feedback example call returns non-empty.", + "type": "other" + } +]
- Changed
pipeworx_trending1 field changed- added
Input schema / examplesAdded value: +[ + { + "window": "7d" + } +]
- Changed
polymarket_arbitrage1 field changed- added
Input schema / examplesAdded value: +[ + { + "topic": "Fed rate decision" + } +]
- Changed
polymarket_edge_tracker1 field changed- added
Input schema / examplesAdded value: +[ + { + "days": 14, + "window": "1wk" + } +]
- Changed
polymarket_edges3 fields changed- added
Input schema / examplesAdded value: +[ + { + "limit": 5, + "window": "1wk" + } +] - changed
Input schema / properties / min_edge_pp / descriptionPrevious value: -"Minimum |edge| in percentage points to include (default 0.5). Edge is evaluated NET of slippage."New value: +"Minimum |edge| in percentage points to include (default 0.5). Edge is evaluated NET of slippage and Polymarket's own taker fee." - changed
Input schema / properties / slippage_pp / descriptionPrevious value: -"Assumed execution slippage in percentage points per leg (default 0.3). Subtracted from raw |edge| before ranking and Kelly sizing. Polymarket has zero trading fees as of 2024 but bid/ask + thin depth typically eats 20-50bp per trade. Bump for very thin partitions; drop to 0 if you have a smarter fill model."New value: +"Assumed execution slippage in percentage points per leg (default 0.3), for bid/ask + thin depth cost that a last-trade price does not show. Subtracted from raw |edge| before ranking and Kelly sizing, ON TOP OF Polymarket's own taker fee — which is NOT zero (rate 0.04-0.07 depending on category, read off each market's own published fee schedule; see fees_pp_applied on every row and fees.ts for the full schedule). Bump slippage for very thin partitions; drop to 0 if you have a smarter fill model — the fee still applies regardless."
- Changed
polymarket_fill_risk1 field changed- added
Input schema / examplesAdded value: +[ + { + "market": "will-the-fed-increase-interest-rates-by-25-bps-after-the-december-2026-meeting-20260729232808636", + "side": "buy_yes", + "size_usd": 1000 + } +]
- Changed
polymarket_kalshi_spread2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "topic": "fed" - }, - { - "topic": "btc" - } -]New value: +[ + { + "topic": "fed" + }, + { + "topic": "btc" + }, + { + "topic": "bitcoin" + }, + { + "topic": "fed rate decision" + } +] - changed
Input schema / properties / topic / descriptionPrevious value: -"Pre-mapped: fed | btc | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president"New value: +"Subject to compare. Canonical keys: fed | btc | eth | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president — but aliases and keywords resolve too (\"bitcoin\", \"fed rate decision\", \"ethereum\", \"inflation\", \"s&p 500\", \"us recession\", \"next pope\", \"2028 election\"). Check resolution.topic_matched_by in the response: \"exact\"/\"alias\" is a curated pairing, \"phrase\"/\"token\" is a keyword guess."
- Changed
recent_changes1 field changed- added
Input schema / examplesAdded value: +[ + { + "since": "30d", + "type": "company", + "value": "AAPL" + } +]
- Added
release_calendar_markets - Changed
remember1 field changed- added
Input schema / examplesAdded value: +[ + { + "key": "target_ticker", + "value": "AAPL" + } +]
- Added
resolution_audit - Added
resolution_diff - Changed
resolve_entity1 field changed- added
Input schema / examplesAdded value: +[ + { + "type": "company", + "value": "AAPL" + } +]
- Changed
scan_competitor_ai_presence1 field changed- added
Input schema / examplesAdded value: +[ + { + "entities": [ + "Pipeworx", + "Zapier" + ] + } +]
- Changed
scan_dependency1 field changed- added
Input schema / examplesAdded value: +[ + { + "package": "left-pad" + } +]
- Changed
search_within1 field changed- added
Input schema / examplesAdded value: +[ + { + "query": "supply-chain risk", + "text": "Apple Inc. reported fiscal 2023 revenue of $383.285 billion, driven by strong iPhone and Services growth. Net income was $96.995 billion. The company faced supply-chain risk in China during the quarter." + } +]
- Changed
suggest_questions1 field changed- added
Input schema / examplesAdded value: +[ + { + "topic": "finance" + } +]
- Changed
validate_claim1 field changed- added
Input schema / examplesAdded value: +[ + { + "claim": "Apple's fiscal 2023 revenue was $383 billion" + } +]
1 tool update
- Changed
entity_profile3 fields changed- changed
Input schema / properties / type / descriptionPrevious value: -"Entity type. Only \"company\" supported today; person/place coming soon."New value: +"\"company\" or \"ticker\" — both are accepted and behave identically; `value` can be a ticker, CIK, or company name either way. person/place coming soon." - changed
Input schema / properties / type / enumPrevious value: -[ - "company" -]New value: +[ + "company", + "ticker" +] - changed
Input schema / properties / value / descriptionPrevious value: -"Ticker (e.g., \"AAPL\") or zero-padded CIK (e.g., \"0000320193\"). Names not supported — use resolve_entity first if you only have a name."New value: +"Ticker (e.g., \"AAPL\"), zero-padded CIK (e.g., \"0000320193\"), or company name (e.g., \"Moderna\") — names resolve via SEC EDGAR company-name match."
Related MCP Connectors
Pay-per-call shipping evidence: canal queues, tanker flows, container and carbon exceptions.
Trade Intel MCP — Compound tools that chain Comtrade, Census, Treasury,
Port delay exposure with p50/p90 confidence intervals, demurrage impact and a free public feed.
Geopolitical OSINT: sanctions, NOTAMs, maritime warnings, outages, conflict records with sources
Related MCP Servers
- FlicenseAqualityDmaintenanceMCP server that exposes tools for monitoring supply chain disruptions, including vessel positions, port weather, congestion, and news. Includes an AI agent that synthesizes these sources to assess route risks.5-
- FlicenseAqualityDmaintenanceReal-time supply chain risk intelligence with 25 tools: Global Disruption Index, Manufacturing Index, commodity prices, port congestion, border delays, chokepoints, air cargo, trade policy, energy, rail, freight, economic indicators, predictive signals, and AI intelligence briefs.342-
- AlicenseNot gradedqualityDmaintenanceOcean container shipping intelligence for AI agents — D\&D tariffs, freight rates, vessel schedules, port congestion, inland haulage across 6 major carriers. 24 MCP tools.MIT
- AlicenseNot gradedqualityCmaintenanceProvides real-time, machine-readable ship and port conditions for major US container gateways using AIS data, allowing AI agents to query vessel status, berthing events, and gateway conditions without API keys or signup.Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.