193 Countries.
One geo_burst.
Every Agent.
BrunoSan Geopolitics tracks 500+ sources across 193 countries daily — computing deterministic signal scores, alliance stress indices, and a Global Risk Index from 0 to 10. No editorial judgment. Pure mathematics. MCP-native.
geo_burst = burst_score × avg_geopolitical_relevance
burst_score = today's article count ÷ 7-day average for this country+event combination.
A geo_burst of 2.0 = twice the normal signal volume — computed fresh every 24h
from real articles, not from editorial judgment.
No Bloomberg Terminal has this. No Reuters API computes this.
It can only be grown — day by day, country by country, event by event.
article_count ÷ avg_7day. Tag 1 = 1.0. Tag 7+ = echtes Signal vs. Baseline.
Reporting countries ÷ total active countries. Misst Ausbreitungsgeschwindigkeit eines Signals weltweit.
Std-Abweichung der Sentiments der Bündnismitglieder. 1.0 = maximale interne Divergenz (z.B. USA pos / Türkei neg).
From daily brief
to world snapshot.
Every tool is read-only, deterministic, and EU-hosted. No hallucination — when data is unavailable, the tool says so.
Full daily intelligence brief. Everything the pipeline extracted from 4,000+ articles — country alerts, cross-country signals, alliance stress, source URLs.
Unique: Every alert includes geo_burst, risk_level, trend, key_actors, and verified source_urls — not editorial opinion.
Global Risk Index 0–10. NOMINAL → ELEVATED → GUARDED → SEVERE → CRITICAL. Computed from tension × stress × high_signal_count. Fully deterministic formula.
Unique: A sovereign wealth fund can build an automated risk-off trigger on this score. No LLM judgment in the loop.
Top-N clusters by geo_burst for today. Filter by cluster_type (country/cross_country/alliance) or event_type. The fastest way to find what's moving.
Unique: Not "most tweeted" or "most read" — highest signal intensity vs. 7-day baseline. Manipulation-resistant by design.
Full power profile for any country. geo_scores, World Bank macro data, alliance memberships, top active clusters — all in one call.
Unique: GDP + military spend + population + geo_burst + alliance membership in one deterministic object.
Internal divergence monitor for all 26 alliances — NATO, EU, BRICS, SCO, G7, G20, OPEC+, AUKUS, QUAD and more. When Turkey sends different signals than the US inside NATO, this catches it.
Unique: Standard-deviation of member sentiments. No Bloomberg terminal computes this. Pure mathematics from raw articles.
Bilateral signal between any two countries. USA–China, Russia–Ukraine, Israel–Iran — get 7-day cluster history for any pair, sorted by geo_burst.
Unique: Cluster key is always alphabetically sorted (CHN+USA), making it fully deterministic and queryable over time.
Complete machine-readable world state. All 155+ active countries with geo_scores for today. The foundation of the live map at brunosan.de/geopolitics/
Unique: 193 countries × 6 deterministic scores × daily cadence. No other API provides this as a single machine-readable object.
Search all clusters by keyword + optional event_type filter. Find all sanction clusters from the last 7 days, all military_action clusters for a specific region.
Unique: Searches cluster labels — the deterministic compound keys (e.g. IRN::sanction, USA+IRN::military_action).
7-day trend for any country. Signal velocity trajectory, power shift index, all active clusters per day. Answers: "Has Iran activity increased this week?"
Unique: power_shift_index = (today − avg_7day) / avg_7day. Negative = declining attention. Positive = surging. Pure math.
All clusters of a specific event type today. "Which countries have active military_action signals right now?" Sorted by geo_burst.
Unique: 16 event types, deterministically classified by Gemini 2.5 Flash at temp=0.0. Same article → same classification. Always.
No other API
computes this.
These are not features. These are structural advantages that can only be grown — not bought.
Not a curated list of "important" countries. All 193 UN member states, tracked from their own national media sources. Local feeds, not just Western wire services.
487/532 feeds validated · 80.3% country coverage day 1When Turkey sends positive signals about Russia while the US sends negative ones — inside NATO — the alliance_stress_score catches it. Standard deviation of member sentiments. Nowhere else.
26 alliances monitored · std_dev(sentiment per member)Negative signals flowing between Western and Eastern blocs — measured daily as a ratio. When BRICS media publishes negative coverage of NATO countries at 3× normal rate, this detects it before any analyst does.
cross_bloc_tension = negative_cross / total_crossHow many independent countries are reporting on this event? A signal reported by 40 countries simultaneously is categorically different from one reported by 3. We measure the difference.
velocity = reporting_countries / total_active_countriesGDP, military spend, FX reserves, inflation, unemployment — 14 World Bank indicators per country, refreshed daily and attached to every geo_score. Context for every signal.
14 WB indicators · FRED 6 global series · Alpha Vantage ForexEvery country, alliance, cluster, and article has a deterministic UUID v5 ID. The same event generates the same cluster ID — forever. Queryable, auditable, reproducible months later.
det_uuid(namespace, key) · idempotent · INSERT OR REPLACEAdd to your agent
in 60 seconds.
One MCP endpoint. Works with Claude API, LangChain, AutoGPT, and any MCP-compatible framework.
# Add BrunoSan Geopolitics to your Claude agent response = client.messages.create( model="claude-opus-4-5", max_tokens=1024, mcp_servers=[ { "type": "url", "url": "https://geo.mcp.brunosan.de/mcp", "name": "brunosan-geopolitics", } ], messages=[{ "role": "user", "content": "What is the current Global Risk Index and which countries have the highest geo_burst today?" }] )
# In Claude.ai: Settings → Connectors → Add MCP Server URL: https://geo.mcp.brunosan.de/mcp Name: BrunoSan Geopolitics # Then in any conversation: "Use geo_risk_index to get today's Global Risk Index" "Use geo_top_signals to find the 10 highest geo_burst signals" "Use geo_alliance_stress to check NATO internal divergence"
Start free.
Scale when ready.
No commitment
- All 10 tools
- 30 calls/min
- Today's brief
- Historical data
- Priority support
Full access
- All 10 tools
- 30 calls/min
- 30-day history
- geo_world_snapshot
- Email support
All 8 verticals
- All verticals incl. Geo
- Cross-domain signals
- 90-day history
- Priority support
- Custom alerts
Not political advice. EU-hosted. GDPR-compliant. DoWell UG Hamburg.