The world's news on a live map: place briefings, storylines, statistics, live layers, businesses.
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.
Find businesses and landmarks near a place in Mappit's directory of 14.9 million OpenStreetMap entries: by name ("Pike Place Market"), by kind ("pharmacy", "hotel", "cafe") or by cuisine ("ramen"). Nearest first, with address, opening hours, website and phone where OpenStreetMap has them. Data © OpenStreetMap contributors.
Where to look: a place name, a landmark ("Pike Place Market"), a place id or "lat,lon".
A name, a kind of place or a cuisine ("Starbucks", "pharmacy", "ramen"). Omit to list what is nearest.
How many: default 10, at most 30.
One of: food-drink, shopping, health, services, culture, recreation, education, lodging, office.
How far to look in km: default 5, at most 50.
Find businesses and landmarks near a place in Mappit's directory of 14.9 million OpenStreetMap entries: by name ("Pike Place Market"), by kind ("pharmacy", "hotel", "cafe") or by cuisine ("ramen"). Nearest first, with address, opening hours, website and phone where OpenStreetMap has them. Data © OpenStreetMap contributors.
| Argument | Type | Description |
|---|---|---|
| q | string | null | A name, a kind of place or a cuisine ("Starbucks", "pharmacy", "ramen"). Omit to list what is nearest. |
| near* | string | Where to look: a place name, a landmark ("Pike Place Market"), a place id or "lat,lon". |
| limit | integer | null | How many: default 10, at most 30. |
| category | string | null | One of: food-drink, shopping, health, services, culture, recreation, education, lodging, office. |
| radius_km | number | null | How far to look in km: default 5, at most 50. |
{
"type": "object",
"required": [
"near"
],
"properties": {
"q": {
"type": [
"string",
"null"
],
"default": null,
"description": "A name, a kind of place or a cuisine (\"Starbucks\", \"pharmacy\", \"ramen\"). Omit to list what is nearest."
},
"near": {
"type": "string",
"description": "Where to look: a place name, a landmark (\"Pike Place Market\"), a place id or \"lat,lon\"."
},
"limit": {
"type": [
"integer",
"null"
],
"default": null,
"description": "How many: default 10, at most 30."
},
"category": {
"type": [
"string",
"null"
],
"default": null,
"description": "One of: food-drink, shopping, health, services, culture, recreation, education, lodging, office."
},
"radius_km": {
"type": [
"number",
"null"
],
"default": null,
"description": "How far to look in km: default 5, at most 50."
}
}
}Mappit's editions: the Daily Digest (the day's top stories worldwide, as emailed to subscribers) and the weekly Week in Review (an analysis of the week's biggest storylines). Omit date and slug for the latest; set list to true for the archive.
| Argument | Type | Description |
|---|---|---|
| date | string | null | For a daily digest: its date, like "2026-09-28". |
| kind | string | null | "daily" (default) or "weekly". |
| list | boolean | true for the archive (newest first) instead of one edition. |
| slug | string | null | For a Week in Review: its slug, exactly as the list returned it. |
| detail | string | null | "brief" (default: long texts clipped) or "full". |
{
"type": "object",
"properties": {
"date": {
"type": [
"string",
"null"
],
"default": null,
"description": "For a daily digest: its date, like \"2026-09-28\"."
},
"kind": {
"type": [
"string",
"null"
],
"default": null,
"description": "\"daily\" (default) or \"weekly\"."
},
"list": {
"type": "boolean",
"default": false,
"description": "true for the archive (newest first) instead of one edition."
},
"slug": {
"type": [
"string",
"null"
],
"default": null,
"description": "For a Week in Review: its slug, exactly as the list returned it."
},
"detail": {
"type": [
"string",
"null"
],
"default": null,
"description": "\"brief\" (default: long texts clipped) or \"full\"."
}
}
}Driving, walking or cycling directions between places: distance, travel time and turn-by-turn steps, with a link that opens the route on Mappit's map. Each end can be a town, a business or landmark ("Pike Place Market"), a street address, or "lat,lon". Routing © openrouteservice.org by HeiGIT; map data © OpenStreetMap contributors.
| Argument | Type | Description |
|---|---|---|
| to* | string | Where it ends, in any of the same forms. |
| via | array | null | Stops on the way, in order (at most 8), in any of the same forms. |
| from* | string | Where the trip starts: a place name, a business or landmark, a street address, or "lat,lon". |
| mode | string | null | One of: driving (default), walking, cycling. |
| steps | integer | null | How many turn-by-turn steps to return: default 25, at most 80; 0 for none. |
{
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"description": "Where it ends, in any of the same forms."
},
"via": {
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
},
"default": null,
"description": "Stops on the way, in order (at most 8), in any of the same forms."
},
"from": {
"type": "string",
"description": "Where the trip starts: a place name, a business or landmark, a street address, or \"lat,lon\"."
},
"mode": {
"type": [
"string",
"null"
],
"default": null,
"description": "One of: driving (default), walking, cycling."
},
"steps": {
"type": [
"integer",
"null"
],
"default": null,
"description": "How many turn-by-turn steps to return: default 25, at most 80; 0 for none."
}
}
}A place's profile on Mappit, for what a place is and who covers it: its written overview (geography, economy, recent history), its five latest stories, the storylines active here in the last 72 hours, the publishers that covered it in the last 30 days, live news radio and TV nearby, S&P 500 companies headquartered there, and current conditions. Use for "tell me about Fort Sumner" or "who covers the news in Boise?". For what's happening there now (the ranked news), use whats_happening.
| Argument | Type | Description |
|---|---|---|
| place* | string | The place: a name ("Boise", "Portland, Maine"), a place id, or "lat,lon" (the nearest Mappit place answers). |
| detail | string | null | "brief" (default: the overview clipped) or "full" (the whole overview). |
| include | array | null | Sections to include, any of: about, stories, threads, sources, radio_tv, stocks, conditions. Default: about, stories, threads, sources. |
{
"type": "object",
"required": [
"place"
],
"properties": {
"place": {
"type": "string",
"description": "The place: a name (\"Boise\", \"Portland, Maine\"), a place id, or \"lat,lon\" (the nearest Mappit place answers)."
},
"detail": {
"type": [
"string",
"null"
],
"default": null,
"description": "\"brief\" (default: the overview clipped) or \"full\" (the whole overview)."
},
"include": {
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
},
"default": null,
"description": "Sections to include, any of: about, stories, threads, sources, radio_tv, stocks, conditions. Default: about, stories, threads, sources."
}
}
}One of Mappit's live map layers, for a place or the whole world: earthquakes (USGS), wildfires (NASA FIRMS), air_quality and weather (Open-Meteo), history (events on this day in past years), stocks (S&P 500 companies by headquarters), events (public event pins) and radio_tv (live news radio and TV streams). For the whole world, air quality lists the worst readings first and weather the hottest.
| Argument | Type | Description |
|---|---|---|
| date | string | null | For history and stocks: a date like "2026-09-28" (history uses its month and day). Default today. |
| layer* | string | One of: earthquakes, wildfires, air_quality, weather, history, stocks, events, radio_tv. |
| limit | integer | null | How many: default 20, at most 50. |
| place | string | null | Where: a place name, place id, country or "lat,lon". Omit for the whole world. |
| radius_km | number | null | Around a place, how far to look in km. Default 100. |
{
"type": "object",
"required": [
"layer"
],
"properties": {
"date": {
"type": [
"string",
"null"
],
"default": null,
"description": "For history and stocks: a date like \"2026-09-28\" (history uses its month and day). Default today."
},
"layer": {
"type": "string",
"description": "One of: earthquakes, wildfires, air_quality, weather, history, stocks, events, radio_tv."
},
"limit": {
"type": [
"integer",
"null"
],
"default": null,
"description": "How many: default 20, at most 50."
},
"place": {
"type": [
"string",
"null"
],
"default": null,
"description": "Where: a place name, place id, country or \"lat,lon\". Omit for the whole world."
},
"radius_km": {
"type": [
"number",
"null"
],
"default": null,
"description": "Around a place, how far to look in km. Default 100."
}
}
}About Mappit itself: what it is, its version, how many stories, storylines and places it holds right now, the topic list (the slugs other tools accept as topic), and which countries it covers. Use to learn valid topics.
| Argument | Type | Description |
|---|---|---|
| include | array | null | Sections, any of: pulse, topics, countries, token. Default: pulse and topics. |
{
"type": "object",
"properties": {
"include": {
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
},
"default": null,
"description": "Sections, any of: pulse, topics, countries, token. Default: pulse and topics."
}
}
}One statistic for one country, US state, US county or congressional district from Mappit's Map Apps data (World Bank, BLS, BEA, Census, CDC, UCDP, UNHCR, FEC, MIT Election Lab and more): the value with its period, its rank, the US figure, the source and licence, and the recent series. Indicator codes come from list_map_apps; a news topic share is "news_topic_share:<topic>" (or pass topic).
| Argument | Type | Description |
|---|---|---|
| place* | string | A country, US state, US county ("Travis County, TX") or district ("TX-07"), or a region key ("FR", "US-TX"). |
| topic | string | null | For news_topic_share only: the topic slug from list_map_apps ("world-conflict"), when indicator does not carry it. |
| period | string | null | A period like "2024", "2026-08" or "2026-08-15". Default: the latest. |
| indicator* | string | An indicator code from list_map_apps, e.g. "unemployment_rate", "gdp_per_capita_ppp", "pres_margin", "news_topic_share:world-conflict". |
{
"type": "object",
"required": [
"indicator",
"place"
],
"properties": {
"place": {
"type": "string",
"description": "A country, US state, US county (\"Travis County, TX\") or district (\"TX-07\"), or a region key (\"FR\", \"US-TX\")."
},
"topic": {
"type": [
"string",
"null"
],
"default": null,
"description": "For news_topic_share only: the topic slug from list_map_apps (\"world-conflict\"), when indicator does not carry it."
},
"period": {
"type": [
"string",
"null"
],
"default": null,
"description": "A period like \"2024\", \"2026-08\" or \"2026-08-15\". Default: the latest."
},
"indicator": {
"type": "string",
"description": "An indicator code from list_map_apps, e.g. \"unemployment_rate\", \"gdp_per_capita_ppp\", \"pres_margin\", \"news_topic_share:world-conflict\"."
}
}
}One story in full: headline, summary, publisher and article link, publication time, where it happened, how Mappit found it (found_by: its own crawler or an AI search vendor), the storyline it belongs to, and the other outlets that carried the same story (also_carried_by). Pass a story id from another Mappit tool.
| Argument | Type | Description |
|---|---|---|
| id* | string | The story's id, exactly as another Mappit tool returned it. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The story's id, exactly as another Mappit tool returned it."
}
}
}One storyline: its summary, its stories (newest first, paged) and, when it has one, Mappit's AI analysis — the story so far, why it matters, connections and what to watch. Attribute the analysis to Mappit. Pass an id from list_threads, whats_happening or search_mappit.
| Argument | Type | Description |
|---|---|---|
| id* | string | The storyline's id, exactly as returned. |
| limit | integer | null | Stories per page: default 10, at most 30. |
| cursor | string | null | The cursor from the previous page of stories, exactly as returned. |
| detail | string | null | "brief" (default: the analysis clipped) or "full" (the whole analysis). |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The storyline's id, exactly as returned."
},
"limit": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Stories per page: default 10, at most 30."
},
"cursor": {
"type": [
"string",
"null"
],
"default": null,
"description": "The cursor from the previous page of stories, exactly as returned."
},
"detail": {
"type": [
"string",
"null"
],
"default": null,
"description": "\"brief\" (default: the analysis clipped) or \"full\" (the whole analysis)."
}
}
}Mappit's Map Apps: statistics painted on the map — world and US economy, people, health, conflict and crisis, US elections and Mappit's own news atlas. Lists each app's views with the indicator code, levels, time grain, source, licence and a link that opens it. Use it to learn the indicator codes get_statistic and rank_regions take; a news-topic view's code carries its topic ("news_topic_share:world-conflict").
| Argument | Type | Description |
|---|---|---|
| app | string | null | Optional app key, to list just that app. |
{
"type": "object",
"properties": {
"app": {
"type": [
"string",
"null"
],
"default": null,
"description": "Optional app key, to list just that app."
}
}
}Page through Mappit's stories for a place, a country or the whole world, newest first (or sort "trending" for Mappit's ranking). Use for "all the news from Kyiv this week", "more stories" after whats_happening, or stories on one topic. Filters: time window, topic, language, and source "crawler" for stories Mappit's own crawler read from the publishers. Returns a cursor for the next page. To find stories by words or meaning, use search_mappit.
| Argument | Type | Description |
|---|---|---|
| sort | string | null | "newest" (default) or "trending" (Mappit's ranking; no cursor). |
| limit | integer | null | Stories per page: default 20, at most 50. |
| place | string | null | Where: a place name, place id, country, US state or "lat,lon". Omit for the whole world. |
| topic | string | null | A topic slug or name ("science", "World & Conflict"); several separated by commas. |
| cursor | string | null | The cursor from the previous page, exactly as returned. |
| source | string | null | "any" (default) or "crawler" (only stories Mappit's crawler read from the publishers themselves). |
| window | string | null | How far back: "24h", "72h", "7d" or "30d" (any number of hours or days up to 30 days). Default: 72h, as in whats_happening. |
The storylines Mappit is following worldwide, ranked as on mappit.ai's Threads page. Each groups many stories about one developing event ("Iran nuclear talks", "Hurricane season"). Optionally one topic or a time window. Use get_thread for one storyline's stories and Mappit's analysis; whats_happening gives the storylines around one place.
| Argument | Type | Description |
|---|---|---|
| limit | integer | null | How many: default 10, at most 30. |
| topic | string | null | A topic slug or name ("world-conflict", "Science"); several separated by commas. |
| cursor | string | null | The cursor from the previous page, exactly as returned. |
| window | string | null | Only storylines with news in this window. How far back: "24h", "72h", "7d" or "30d" (any number of hours or days up to 30 days). Default: 72h. |
{
"type": "object",
"properties": {
"limit": {
"type": [
"integer",
"null"
],
"default": null,
"description": "How many: default 10, at most 30."
},
"topic": {
"type": [
"string",
"null"
],
"default": null,
"description": "A topic slug or name (\"world-conflict\", \"Science\"); several separated by commas."
},
"cursor": {
"type": [
"string",
"null"
],
"default": null,
"description": "The cursor from the previous page, exactly as returned."
},
"window": {
"type": [
"string",
"null"
],
"default": null,
"description": "Only storylines with news in this window. How far back: \"24h\", \"72h\", \"7d\" or \"30d\" (any number of hours or days up to 30 days). Default: 72h."
}
}
}Countries, US states, US counties or congressional districts ranked by one indicator from Mappit's Map Apps data, for the latest or a given period, optionally within a country, a US state or a continent. Each value carries its period; the answer names the source and licence. Indicator codes come from list_map_apps; a news topic share is "news_topic_share:<topic>" (or pass topic).
| Argument | Type | Description |
|---|---|---|
| level* | string | One of: country, state, county, cd119, cd120 (congressional districts on the 2024 and 2026 lines). |
| limit | integer | null | How many: default 10, at most 50. |
| order | string | null | "desc" (highest first, the default) or "asc". |
| topic | string | null | For news_topic_share only: the topic slug from list_map_apps ("crime-safety"), when indicator does not carry it. |
| period | string | null | A period like "2024", "2026-08" or "2026-08-15". Default: the latest. |
| within | string | null | Optional scope: a country ("United States"), a US state (for counties or districts) or a continent ("Africa"). |
| indicator* | string | An indicator code from list_map_apps, e.g. "unemployment_rate" or "news_topic_share:crime-safety". |
Search Mappit by words or meaning. mode "keyword" (default) matches words in stories, storylines, places, businesses, public pins and public collections. mode "semantic" finds stories and storylines about an idea even when the words differ, e.g. "tenants organizing against rent increases". Reads the whole archive unless given a window; optionally limit to one place. For the latest news in a place, use whats_happening.
| Argument | Type | Description |
|---|---|---|
| q* | string | What to look for. |
| mode | string | null | "keyword" (default) or "semantic" (by meaning; stories and storylines only). |
| limit | integer | null | Results per kind: default 10, at most 25. |
| place | string | null | Only results at this place (a place name, id or "lat,lon"). |
| types | array | null | Which kinds of result: any of "stories", "threads", "locations", "places" (businesses), "pins", "collections". Default: stories, threads and locations. |
| window | string | null | How far back: "24h", "72h", "7d" or "30d" (any number of hours or days up to 30 days). Default: no limit (the whole archive). |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "What to look for."
},
"mode": {
"type": [
"string",
"null"
],
"default": null,
"description": "\"keyword\" (default) or \"semantic\" (by meaning; stories and storylines only)."
},
"limit": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Results per kind: default 10, at most 25."
},
"place": {
"type": [
"string",
"null"
],
"default": null,
"description": "Only results at this place (a place name, id or \"lat,lon\")."
},
"types": {
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
},
"default": null,
"description": "Which kinds of result: any of \"stories\", \"threads\", \"locations\", \"places\" (businesses), \"pins\", \"collections\". Default: stories, threads and locations."
},
"window": {
"type": [
"string",
"null"
],
"default": null,
"description": "How far back: \"24h\", \"72h\", \"7d\" or \"30d\" (any number of hours or days up to 30 days). Default: no limit (the whole archive)."
}
}
}Use first for the news in a place or the world: "What's happening in Seattle?", "Any news near Lagos?", "What's the biggest news today?", "What's going on in France this week?". Returns Mappit's ranking of the top stories (as on the map, each placed where it happened), the storylines running through the area, live conditions (earthquakes, air quality, weather) and a short profile of the place. Each story links to the publisher's article (source_url) and to Mappit (url). For what a place is rather than its news (its overview, publishers, radio and TV, companies), use get_location.
| Argument | Type | Description |
|---|---|---|
| place | string | null | Where: a place name ("Seattle", "Portland, Maine", "Washington State"), a country ("France", "FR"), or "lat,lon" (e.g. "47.61,-122.33"). Omit for the whole world. |
| topic | string | null | Only stories on these topics: a topic slug or name such as "world-conflict" or "Science"; several separated by commas. get_mappit_info lists them. |
| detail | string | null | "brief" (default: 8 stories, 5 storylines) or "full" (15 stories and 10 storylines, with summaries). |
| window | string | null | How far back: "24h", "72h", "7d" or "30d" (any number of hours or days up to 30 days). Default: 72h. |
| language | string | null | Only stories in this language (ISO 639-1, e.g. "en"). Default: every language. |
| radius_km |
| language | string | null | ISO 639-1 language code, or omit for every language. |
{
"type": "object",
"properties": {
"sort": {
"type": [
"string",
"null"
],
"default": null,
"description": "\"newest\" (default) or \"trending\" (Mappit's ranking; no cursor)."
},
"limit": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Stories per page: default 20, at most 50."
},
"place": {
"type": [
"string",
"null"
],
"default": null,
"description": "Where: a place name, place id, country, US state or \"lat,lon\". Omit for the whole world."
},
"topic": {
"type": [
"string",
"null"
],
"default": null,
"description": "A topic slug or name (\"science\", \"World & Conflict\"); several separated by commas."
},
"cursor": {
"type": [
"string",
"null"
],
"default": null,
"description": "The cursor from the previous page, exactly as returned."
},
"source": {
"type": [
"string",
"null"
],
"default": null,
"description": "\"any\" (default) or \"crawler\" (only stories Mappit's crawler read from the publishers themselves)."
},
"window": {
"type": [
"string",
"null"
],
"default": null,
"description": "How far back: \"24h\", \"72h\", \"7d\" or \"30d\" (any number of hours or days up to 30 days). Default: 72h, as in whats_happening."
},
"language": {
"type": [
"string",
"null"
],
"default": null,
"description": "ISO 639-1 language code, or omit for every language."
}
}
}{
"type": "object",
"required": [
"indicator",
"level"
],
"properties": {
"level": {
"type": "string",
"description": "One of: country, state, county, cd119, cd120 (congressional districts on the 2024 and 2026 lines)."
},
"limit": {
"type": [
"integer",
"null"
],
"default": null,
"description": "How many: default 10, at most 50."
},
"order": {
"type": [
"string",
"null"
],
"default": null,
"description": "\"desc\" (highest first, the default) or \"asc\"."
},
"topic": {
"type": [
"string",
"null"
],
"default": null,
"description": "For news_topic_share only: the topic slug from list_map_apps (\"crime-safety\"), when indicator does not carry it."
},
"period": {
"type": [
"string",
"null"
],
"default": null,
"description": "A period like \"2024\", \"2026-08\" or \"2026-08-15\". Default: the latest."
},
"within": {
"type": [
"string",
"null"
],
"default": null,
"description": "Optional scope: a country (\"United States\"), a US state (for counties or districts) or a continent (\"Africa\")."
},
"indicator": {
"type": "string",
"description": "An indicator code from list_map_apps, e.g. \"unemployment_rate\" or \"news_topic_share:crime-safety\"."
}
}
}| number | null |
| Around a place or point, how far to look in km. Default 40 (a state: the whole state). |
{
"type": "object",
"properties": {
"place": {
"type": [
"string",
"null"
],
"default": null,
"description": "Where: a place name (\"Seattle\", \"Portland, Maine\", \"Washington State\"), a country (\"France\", \"FR\"), or \"lat,lon\" (e.g. \"47.61,-122.33\"). Omit for the whole world."
},
"topic": {
"type": [
"string",
"null"
],
"default": null,
"description": "Only stories on these topics: a topic slug or name such as \"world-conflict\" or \"Science\"; several separated by commas. get_mappit_info lists them."
},
"detail": {
"type": [
"string",
"null"
],
"default": null,
"description": "\"brief\" (default: 8 stories, 5 storylines) or \"full\" (15 stories and 10 storylines, with summaries)."
},
"window": {
"type": [
"string",
"null"
],
"default": null,
"description": "How far back: \"24h\", \"72h\", \"7d\" or \"30d\" (any number of hours or days up to 30 days). Default: 72h."
},
"language": {
"type": [
"string",
"null"
],
"default": null,
"description": "Only stories in this language (ISO 639-1, e.g. \"en\"). Default: every language."
},
"radius_km": {
"type": [
"number",
"null"
],
"default": null,
"description": "Around a place or point, how far to look in km. Default 40 (a state: the whole state)."
}
}
}