Live global news signals: ranked wire, story timelines, coverage volume/tone/surges. Free, no auth.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Geotone's daily global risk briefing for a date (YYYY-MM-DD): an analytical summary of coverage surges, tone shifts, and notable movers, with the statistics behind each claim.
UTC date, e.g. 2026-07-02
Geotone's daily global risk briefing for a date (YYYY-MM-DD): an analytical summary of coverage surges, tone shifts, and notable movers, with the statistics behind each claim.
| Argument | Type | Description |
|---|---|---|
| date* | string | UTC date, e.g. 2026-07-02 |
{
"type": "object",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "UTC date, e.g. 2026-07-02"
}
},
"additionalProperties": false
}Live media-coverage statistics for one country by ISO-3166 alpha-2 code (e.g. 'ua', 'cn'): daily series (latest 30 days by default; response_format='detailed' for 90) of coverage volume (share of world news coverage that is about that country) and tone, plus armed-conflict fatalities (UCDP, trailing 12 months), displacement stocks (UNHCR: IDPs, refugees, asylum seekers), and coverage origin (what share of coverage about the country is produced by its own outlets vs abroad).
| Argument | Type | Description |
|---|---|---|
| iso2* | string | ISO2 code, e.g. 'ua' |
| response_format | string | concise (default): summary stats + the latest 30 days of the series. detailed: the full 90-day series and article sample (~3x the tokens). |
{
"type": "object",
"required": [
"iso2"
],
"properties": {
"iso2": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "ISO2 code, e.g. 'ua'"
},
"response_format": {
"enum": [
"concise",
"detailed"
],
"type": "string",
"description": "concise (default): summary stats + the latest 30 days of the series. detailed: the full 90-day series and article sample (~3x the tokens)."
}
},
"additionalProperties": false
}Disease outbreak events indexed from the WHO Disease Outbreak News (facts and links; WHO's assessments live at the linked pages), each with Geotone's measured news attention: articles carrying the disease in GDELT's thematic tagging across all languages, trailing 14 days vs the prior 14. status 'active' means a WHO update within 90 days; outbreaks are never marked ended by feed disappearance. DON covers internationally significant events and is not exhaustive — absence here is not absence of disease.
| Argument | Type | Description |
|---|---|---|
| limit | number | Max outbreaks (default 30) |
| status | string | Filter by status (default active) |
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"maximum": 120,
"minimum": 1,
"description": "Max outbreaks (default 30)"
},
"status": {
"enum": [
"active",
"quiet",
"all"
],
"type": "string",
"description": "Filter by status (default active)"
}
},
"additionalProperties": false
}Bilateral co-coverage signal for a monitored country pair (e.g. a='cn', b='us'): how much the world's press mentions the two countries together, and in what tone. ~50 strategic pairs are monitored.
| Argument | Type | Description |
|---|---|---|
| a* | string | First country ISO2 |
| b* | string | Second country ISO2 |
| response_format | string | concise (default): summary stats + the latest 30 days of the series. detailed: the full 90-day series and article sample (~3x the tokens). |
{
"type": "object",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "First country ISO2"
},
"b": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Second country ISO2"
},
"response_format": {
"enum": [
"concise",
"detailed"
],
"type": "string",
"description": "concise (default): summary stats + the latest 30 days of the series. detailed: the full 90-day series and article sample (~3x the tokens)."
}
},
"additionalProperties": false
}A story timeline: the threaded developments of one multi-day event chain, oldest first (e.g. attack → casualties confirmed → international reaction). Use the chain_id values returned by get_wire. Each development is a headline + link + outlet count + tone.
| Argument | Type | Description |
|---|---|---|
| chain_id* | number | Chain id from get_wire |
{
"type": "object",
"required": [
"chain_id"
],
"properties": {
"chain_id": {
"type": "number",
"description": "Chain id from get_wire"
}
},
"additionalProperties": false
}Live media-coverage statistics for one geopolitical topic (e.g. 'ukraine-war', 'taiwan-strait', 'sanctions'): daily volume and tone series, z-score, week-over-week change, and a sample of recent articles (headline+link only). Returns the latest 30 days by default; pass response_format='detailed' for the full 90. Use search_topics to find slugs.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Topic slug, e.g. 'ukraine-war' |
| response_format | string | concise (default): summary stats + the latest 30 days of the series. detailed: the full 90-day series and article sample (~3x the tokens). |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Topic slug, e.g. 'ukraine-war'"
},
"response_format": {
"enum": [
"concise",
"detailed"
],
"type": "string",
"description": "concise (default): summary stats + the latest 30 days of the series. detailed: the full 90-day series and article sample (~3x the tokens)."
}
},
"additionalProperties": false
}What's surging in global news right now: topics whose coverage is ≥2 standard deviations above their trailing average (z-score), the biggest week-over-week movers, and surging countries. Derived every 3 hours from GDELT across 65+ languages.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}The live wire: the world's most significant stories right now, ranked by a published formula (authority-weighted outlet breadth, boosted by consequence themes, coded events, and casualty figures, decayed by recency over 72h). Each story carries one representative link, outlet count, tone, countries, non-English source languages that also reported the event, and a chain_id when it belongs to a multi-day story timeline (fetch with get_story_chain). Reclustered every 3 hours.
| Argument | Type | Description |
|---|---|---|
| limit | number | Max stories to return (default 20) |
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"maximum": 36,
"minimum": 1,
"description": "Max stories to return (default 20)"
}
},
"additionalProperties": false
}Search Geotone's tracked geopolitical topics by keyword (matches name, slug, and description). Returns slugs usable with get_topic, plus each topic's current coverage stats.
| Argument | Type | Description |
|---|---|---|
| query* | string | Keyword, e.g. 'nuclear' or 'china' |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Keyword, e.g. 'nuclear' or 'china'"
}
},
"additionalProperties": false
}