MP / positions / 03 · worldmonitor-mcp repo to navigate
POSITION 03 · CS × AGENTS · OPEN SOURCE

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.

TOOLS · 140 SERVICES · 32 LANGUAGE · TypeScript STATUS · shipped

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:

CategoryServices
Markets & financialmarket · economic · treasury · cftc · congress · onchain · sentiment
Geopolitics & intelintelligence · conflict · military · unrest · displacement
News & researchnews · research · article extraction
Environmentalclimate · weather-agriculture · wildfire · seismology
Supply chain & tradesupply-chain · maritime (AIS) · trade
Infra & cyberinfrastructure · cyber · aviation (military flight tracking)
Gov & regulationgovernment · sec-edgar · economic-calendar
Otherprediction (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