Marc Shade bc75cf46f7 feat: add Qdrant vector store for enterprise-grade semantic intelligence
Phase 16: Vector intelligence (+3 tools = 104 total)

New tools:
- intel_semantic_search: Natural language search across all stored intelligence
- intel_similar_events: Find historically similar events for pattern matching
- intel_timeline: Chronological timeline of stored data with domain filtering

Architecture:
- vector_store.py: Qdrant client with FastEmbed (ONNX, bge-small-en-v1.5)
- Background worker queue (asyncio) for non-blocking storage
- Auto-populates from every Fetcher.get_json() call
- 40+ domain categories mapped for filtered search
- Graceful degradation: vector store is optional, all 101 existing tools work without it

Integration:
- Fetcher: new vector_store parameter, stores data after each successful fetch
- server.py: vector store init + worker lifecycle + 3 dispatch cases
- dashboard/app.py: vector store worker starts on dashboard boot
- intel_status: now includes vector store statistics
- pyproject.toml: [vector] optional dependency (qdrant-client, fastembed)

186/186 tests passing.
2026-03-08 09:29:43 -04:00

Phoenix Intelligence Dashboard

World Intelligence MCP Server

MCP Python 3.11+ License

Real-time global intelligence across 30+ domains with 101 MCP tools, a live ops-center dashboard, and a CLI. All data comes from free, public APIs — no paid subscriptions required.

Built for AI agents that need world awareness: market conditions, geopolitical risk, military posture, supply chain disruptions, cyber threats, and more — all queryable via the Model Context Protocol.


What You Get

Domain Tools Data Sources
Financial Markets 7 Yahoo Finance, CoinGecko, Alternative.me, Mempool
Forex & Currency 3 ECB/Frankfurter (8 major pairs, timeseries, cross rates)
Bonds & Yields 2 FRED, Yahoo Finance (yield curve, bond ETFs, spread analysis)
Earnings 2 Yahoo Finance (mega-cap calendar, surprise history)
SEC Filings 3 SEC EDGAR (full-text search, company filings, 8-K material events)
Company Enrichment 1 Yahoo Finance + GDELT + SEC + GitHub (composite profile)
Macro Composite 1 Weighted 6-signal market verdict (Fear&Greed, VIX, sectors, DXY, BTC, yields)
Economic Indicators 3 EIA energy, FRED macro, World Bank
Central Banks 1 8 central bank policy rates
Natural Disasters 2 USGS earthquakes, NASA FIRMS wildfires
Environmental 2 NASA EONET, GDACS disaster alerts
Conflict & Security 4 ACLED events, UCDP, unrest detection, humanitarian data
Military & Defense 6 adsb.lol, OpenSky, hexdb.io, surge detection, theater posture, aircraft batch
Infrastructure 4 Cloudflare Radar, submarine cables, cascade analysis, cloud status
Maritime 2 NGA navigation warnings, vessel snapshots
Climate 1 Open-Meteo climate anomalies
News & Media 3 80+ RSS feeds (4-tier), GDELT, trending keywords
Intelligence Analysis 8 Signal convergence, focal points, instability index, risk scores, escalation
Prediction Markets 1 Polymarket event contracts
Displacement 1 UNHCR refugee/IDP data
Aviation 3 FAA airport delays, domestic flight snapshot, aircraft batch lookup
Cyber Threats 1 URLhaus, Feodotracker, CISA KEV, SANS
Space Weather 1 NOAA SWPC (Kp index, solar flares, alerts)
AI/AGI Watch 1 arXiv cs.AI/LG/CL, HuggingFace, AI lab tracking
Health 1 WHO DON, ProMED, CIDRAP disease outbreaks
Sanctions 1 US Treasury OFAC SDN list
Elections 1 Global election calendar with risk scoring
Shipping 1 Dry bulk shipping stress index
Social 1 Reddit geopolitical discussion velocity
Nuclear 1 USGS seismic monitoring near nuclear test sites
Tech 3 Hacker News, GitHub trending repos, arXiv papers
Government 1 USAspending.gov federal contracts
Geospatial 10 Military bases, ports, pipelines, nuclear facilities, cables, datacenters, spaceports, minerals, exchanges, trade routes, cloud regions, financial centers
NLP Intelligence 4 Entity extraction, event classification, news clustering, keyword spikes
Strategic Synthesis 4 Strategic posture, world brief, fleet report, population exposure
Cross-Domain 2 Alert digest, weekly trends

Total: 101 tools across 30+ intelligence domains.


Quick Start

Install

git clone https://github.com/marc-shade/world-intel-mcp.git
cd world-intel-mcp
pip install -e .

# Optional extras
pip install -e ".[dashboard]"  # Live ops-center dashboard
pip install -e ".[dev]"        # pytest, respx, coverage

Run as MCP Server

world-intel-mcp  # stdio mode for Claude Code, Cursor, etc.

Claude Code Configuration

Add to ~/.claude.json:

{
  "mcpServers": {
    "world-intel-mcp": {
      "command": "world-intel-mcp"
    }
  }
}

Dashboard

intel-dashboard              # http://localhost:8501
intel-dashboard --port 9000  # custom port

Map-first ops center: Leaflet map with toggle-able layers (quakes, military, conflict, fires, convergence, nuclear, infrastructure), 35+ live SSE feeds, HUD bar, glassmorphic panels, per-source circuit breaker health.

CLI

intel markets              # stock indices
intel earthquakes --min-mag 5.0
intel status               # cache + circuit breaker health

Architecture

server.py (MCP stdio)  ─┐
cli.py (Click CLI)      ├─> sources/*.py ─> Fetcher ─> CircuitBreaker ─> Cache (SQLite)
dashboard/app.py (SSE)  ─┘    analysis/*.py                                  │
                                                                   ~/.cache/world-intel-mcp/cache.db
  • Fetcher: Centralized async HTTP client (httpx). Retries, per-source rate limiting, stale-data fallback.
  • CircuitBreaker: Per-source tracking. 3 consecutive failures trips for 5 minutes. Each RSS feed gets its own breaker.
  • Cache: SQLite WAL-mode TTL cache. get() returns live data, get_stale() returns expired data for fallback.
  • Sources (sources/*.py): 30+ modules, each exports async def fetch_*(fetcher, **kwargs) -> dict.
  • Analysis (analysis/*.py): Cross-domain synthesis — signal aggregation, instability indexing, NLP, company enrichment, macro composite.
  • Config (config/*.py): Curated datasets — 22 hotspots, 70+ bases, 40 ports, 24 pipelines, 24 nuclear facilities, 34 cables, 48 datacenters, 27 spaceports, 82 exchanges.

MCP Tools Reference

Financial Markets (7)

Tool Description
intel_market_quotes Stock index quotes (S&P 500, Dow, Nasdaq, FTSE, Nikkei)
intel_crypto_quotes Top crypto prices and market caps from CoinGecko
intel_stablecoin_status Stablecoin peg health (USDT, USDC, DAI, FDUSD)
intel_etf_flows Bitcoin spot ETF prices and volumes
intel_sector_heatmap US equity sector performance (11 SPDR ETFs)
intel_macro_signals 7 macro indicators (Fear & Greed, VIX, DXY, gold, 10Y, BTC)
intel_commodity_quotes Commodity futures (gold, silver, crude, natgas, grains)

Forex & Currency (3)

Tool Description
intel_forex_rates Latest FX rates from ECB. Filter by base/target currencies
intel_forex_timeseries Historical FX rate with trend analysis (configurable days)
intel_major_crosses All 8 major pairs + cross rates + DXY proxy

Bonds & Yields (2)

Tool Description
intel_yield_curve US Treasury yield curve (2Y-30Y), 2s10s/3m10y spreads, inversion flag
intel_bond_indices Bond ETFs: AGG, TLT, HYG, LQD, TIP with price/change

Earnings (2)

Tool Description
intel_earnings_calendar Upcoming earnings for 20 mega-cap stocks with EPS estimates
intel_earnings_surprise Historical earnings surprise (actual vs estimate, trend)

SEC Filings (3)

Tool Description
intel_sec_filings Full-text search across all EDGAR filings
intel_company_filings Company filings by ticker (10-K, 10-Q, 8-K) with CIK resolution
intel_recent_8k Latest 8-K material events (M&A, exec changes, earnings)

Company Enrichment (1)

Tool Description
intel_company_profile Composite profile: stock quote + financials + news + SEC + GitHub

Macro Composite (1)

Tool Description
intel_macro_composite Weighted market score (0-100) with verdict: RISK_ON to STRONG_CAUTION

Economic (3)

Tool Description
intel_energy_prices Brent/WTI crude oil and natural gas from EIA
intel_fred_series FRED economic data (GDP, CPI, unemployment, rates)
intel_world_bank_indicators World Bank development indicators by country

Central Banks (1)

Tool Description
intel_central_bank_rates Policy rates for 8 major central banks

BTC Technicals (1)

Tool Description
intel_btc_technicals Bitcoin SMA 50/200, golden/death cross, Mayer Multiple

Natural Disasters (2)

Tool Description
intel_earthquakes USGS earthquakes (configurable magnitude/time/limit)
intel_wildfires NASA FIRMS satellite fire hotspots (9 global regions)

Environmental (2)

Tool Description
intel_environmental_events NASA EONET natural events
intel_disaster_alerts GDACS disaster alerts with severity scoring

Conflict & Security (4)

Tool Description
intel_acled_events ACLED armed conflict events
intel_ucdp_events Uppsala Conflict Data Program events
intel_unrest_events Social unrest with Haversine dedup
intel_humanitarian_summary HDX humanitarian crisis datasets

Military & Defense (6)

Tool Description
intel_military_flights Military aircraft via adsb.lol (OpenSky fallback)
intel_theater_posture Activity across 5 theaters (EU, Indo-Pacific, ME, Arctic, Korea)
intel_aircraft_details Aircraft lookup by ICAO24 hex (hexdb.io)
intel_aircraft_batch Batch aircraft lookup (multiple hex codes)
intel_military_surge Foreign aircraft concentration anomaly detection
intel_usni_fleet USNI News naval fleet tracker

Infrastructure (4)

Tool Description
intel_internet_outages Cloudflare Radar internet disruptions
intel_cable_health Submarine cable corridor health
intel_cascade_analysis Infrastructure cascade simulation
intel_service_status Cloud platform health (AWS, Azure, GCP, Cloudflare, GitHub)

Maritime (2)

Tool Description
intel_nav_warnings NGA maritime navigation warnings
intel_vessel_snapshot Naval activity at 9 strategic waterways

Geospatial Datasets (10)

Tool Description
intel_military_bases 70 military bases from 9 operators
intel_strategic_ports 40 strategic ports across 6 types
intel_pipelines 24 oil/gas/hydrogen pipelines
intel_nuclear_facilities 24 nuclear power/enrichment/research facilities
intel_undersea_cables 34 submarine communications cables
intel_ai_datacenters 48 AI/HPC datacenters worldwide
intel_spaceports 27 global spaceports
intel_critical_minerals 27 strategic mineral deposits
intel_stock_exchanges 82 stock exchanges worldwide
intel_trade_routes Major trade routes and chokepoints

News & Media (3)

Tool Description
intel_news_feed 80+ global RSS feeds with 4-tier source ranking
intel_trending_keywords Trending terms with spike detection
intel_gdelt_search GDELT 2.0 global news search

Intelligence Analysis (8)

Tool Description
intel_signal_convergence Geographic convergence of multi-domain signals
intel_focal_points Multi-signal focal point detection
intel_signal_summary Country-level signal aggregation
intel_temporal_anomalies Activity deviations from baselines
intel_instability_index Country Instability Index v2 (0-100)
intel_risk_scores ACLED-based conflict risk scoring
intel_hotspot_escalation Escalation scores for 22 intel hotspots
intel_country_dossier Comprehensive country intelligence dossier

NLP Intelligence (4)

Tool Description
intel_extract_entities Named entity extraction (countries, leaders, orgs, CVEs, APTs)
intel_classify_event Event classification into 14 threat categories
intel_news_clusters Topic clustering by Jaccard similarity
intel_keyword_spikes Keyword spike detection with Welford's algorithm

Strategic Synthesis (4)

Tool Description
intel_strategic_posture Composite global risk from 9 weighted domains
intel_world_brief Structured daily intelligence summary
intel_fleet_report Naval fleet activity report with readiness scoring
intel_population_exposure Population at risk near active events (105-city dataset)

Other Domains

Tool Description
intel_prediction_markets Polymarket prediction contracts
intel_election_calendar Global election calendar with risk scoring
intel_displacement_summary UNHCR refugee/IDP statistics
intel_airport_delays FAA airport delay status
intel_aviation_domestic Global air traffic snapshot from OpenSky
intel_cyber_threats Aggregated cyber intel (URLhaus, CISA KEV, SANS)
intel_space_weather Solar activity (Kp index, X-ray flux, SWPC alerts)
intel_ai_releases arXiv AI papers, HuggingFace models
intel_disease_outbreaks WHO DON, ProMED, CIDRAP outbreaks
intel_social_signals Reddit geopolitical discussion velocity
intel_sanctions_search OFAC SDN list search
intel_shipping_index Dry bulk shipping stress index
intel_nuclear_monitor Seismic monitoring near nuclear test sites
intel_hacker_news Hacker News top stories
intel_trending_repos GitHub trending repositories
intel_arxiv_papers arXiv paper search
intel_usa_spending USAspending.gov federal contracts
intel_country_brief Quick country situation summary
intel_country_stocks Stock exchanges and listings by country
intel_cloud_regions Cloud provider regions worldwide
intel_financial_centers Global financial centers ranking
intel_alert_digest Cross-domain alert aggregation
intel_weekly_trends Weekly trend analysis
intel_traffic_flow Road traffic flow data
intel_traffic_incidents Real-time traffic incidents
intel_webcams Public webcam locations and live previews
intel_status Server health, cache stats, circuit breaker status

Environment Variables

Variable Required Description
ACLED_ACCESS_TOKEN No ACLED conflict events
NASA_FIRMS_API_KEY No Satellite wildfire data
EIA_API_KEY No Energy price data
CLOUDFLARE_API_TOKEN No Internet outage data
FRED_API_KEY No Macro economic data (also used for yield curve)
OPENSKY_CLIENT_ID No Military flight fallback
OPENSKY_CLIENT_SECRET No Military flight fallback
WORLD_INTEL_LOG_LEVEL No Logging level (default: INFO)

Everything else uses free, unauthenticated public APIs.


Development

pip install -e ".[dev]"
pytest                       # 186 tests
pytest --cov=world_intel_mcp # with coverage
pytest tests/test_forex.py -v # single module

Adding a New Source

  1. Create sources/your_source.py with async def fetch_your_data(fetcher: Fetcher, **kwargs) -> dict
  2. Use fetcher.get_json(url, source="your-source", cache_key=..., cache_ttl=300) — automatic caching, retries, circuit breaking, rate limiting
  3. In server.py: add Tool(...) to TOOLS, add case to _dispatch() (use inline import)
  4. Add tests using respx to mock HTTP (see tests/test_forex.py for pattern)
  5. Optionally add to dashboard/app.py (SSE) and cli.py (Click)

License

MIT

S
Description
100+ tool MCP server for real-time global intelligence — markets, FX, bonds, earnings, SEC filings, conflict, military, cyber, climate, news, company enrichment, and 30+ domains. Live Leaflet dashboard with 20 map layers, SSE streaming, and AI situation briefs.
Readme MIT 1.4 MiB
Languages
Python 85.6%
HTML 14.1%
Shell 0.3%