worldmonitor-mcp
MCP server and CLI that wraps koala73/worldmonitor, with a handful of direct-API handlers bolted on for the data providers my trading agent needed at higher fidelity than the dashboard's proxies. 140 tools across 32 OSINT services covering markets, geopolitics, military, cyber, climate, and supply chain. Works with Claude Code, Cursor, Windsurf, or any MCP client.
Why
Most MCP servers cover code and a few SaaS tools. Trading research wants FRED, SEC EDGAR, ACLED, GDELT, AIS vessel tracking, military flight data, congressional trades, sanctions lists — none of that is wrapped anywhere. koala73 already aggregates most of them in a real-time dashboard (100+ news feeds, deck.gl globe, Tauri desktop builds), so this puts an MCP surface on it. Claude Code can pull a FRED series, a SEC filing, or a vessel position in the same conversation without leaving the agent loop.
What's in it
32 services, grouped:
| Category | Services |
|---|---|
| Markets & financial | market · economic · treasury · cftc · congress · onchain · sentiment |
| Geopolitics & intel | intelligence · conflict · military · unrest · displacement |
| News & research | news · research · article extraction |
| Environmental | climate · weather-agriculture · wildfire · seismology |
| Supply chain & trade | supply-chain · maritime (AIS) · trade |
| Infra & cyber | infrastructure · cyber · aviation (military flight tracking) |
| Gov & regulation | government · sec-edgar · economic-calendar |
| Other | prediction (Polymarket etc.) · humanitarian · positive events · legacy bulk |
21 of the 32 services proxy the upstream worldmonitor API. 10 hit underlying providers directly — those are the extensions (SEC EDGAR, FRED, Finnhub, USDA, NOAA, CFTC, CBOE, Treasury Fiscal Data, Federal Register, OpenSanctions). The legacy service mixes Vercel serverless and a Railway relay for rate-limited upstream APIs that the dashboard doesn't expose cleanly.
How it works
Each service declares its tools, endpoints, and parameter schemas in src/services/*. The server iterates the registry at startup and registers every tool. Adding a tool is one file change.
Routing splits two ways per tool. Direct handlers bypass the upstream and call the underlying provider. Proxy handlers forward to the configured worldmonitor base URL. The routing decision is declarative, not buried in a switch.
On top of that there's a defensive layer the agent never has to think about: retry-with-backoff on 429 and 5xx, response validation that catches broken serverless endpoints returning HTML instead of JSON, known-broken-endpoint detection that returns a useful error instead of a confusing failure, and a response-truncation layer that shrinks oversize arrays so they fit the MCP context window.
Article extraction has three fallbacks — direct fetch, then Google Cache, then Archive.org — with a browser user-agent to slip past soft paywalls. None of the API keys are required to start; defaults work. Keys unlock the rate-limited or paid endpoints when you need them.
Credits
koala73/worldmonitor does the data and aggregation work — that's the heavy lifting. AGPL-3.0. This repo is the MCP wrapper plus the direct-API extensions.
mahimn · worldmonitor-mcp · last updated apr 2026