Mappit
The world's news on a live map: place briefings, storylines, statistics, live layers, businesses.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"mappit": {
"url": "https://mappit.ai/mcp"
}
}
}遠端端點
https://mappit.ai/mcpstreamable-http它能做什麼
工具清單
工具(15)
🟢whats_happening(place, window, topic, language, detail, ...)
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.
輸入結構描述
{
"type": "object",
"properties": {
"place": {
"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.",
"type": [
"string",
"null"
],
"default": null
},
"window": {
"description": "How far back: \"24h\", \"72h\", \"7d\" or \"30d\" (any number of hours or days up to 30 days). Default: 72h.",
"type": [
"string",
"null"
],
"default": null
},
"topic": {
"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.",
"type": [
"string",
"null"
],
"default": null
},
"language": {
"description": "Only stories in this language (ISO 639-1, e.g. \"en\"). Default: every language.",
"type": [
"string",
"null"
],
"default": null
},
"detail": {
"description": "\"brief\" (default: 8 stories, 5 storylines) or \"full\" (15 stories and 10 storylines, with summaries).",
"type": [
"string",
"null"
],
"default": null
},
"radius_km": {
"description": "Around a place or point, how far to look in km. Default 40 (a state: the whole state).",
"type": [
"number",
"null"
],
"default": null
}
}
}🟢list_stories(place, window, topic, language, source, ...)
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.
輸入結構描述
{
"type": "object",
"properties": {
"place": {
"description": "Where: a place name, place id, country, US state or \"lat,lon\". Omit for the whole world.",
"type": [
"string",
"null"
],
"default": null
},
"window": {
"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.",
"type": [
"string",
"null"
],
"default": null
},
"topic": {
"description": "A topic slug or name (\"science\", \"World & Conflict\"); several separated by commas.",
"type": [
"string",
"null"
],
"default": null
},
"language": {
"description": "ISO 639-1 language code, or omit for every language.",
"type": [
"string",
"null"
],
"default": null
},
"source": {
"description": "\"any\" (default) or \"crawler\" (only stories Mappit's crawler read from the publishers themselves).",
"type": [
"string",
"null"
],
"default": null
},
"sort": {
"description": "\"newest\" (default) or \"trending\" (Mappit's ranking; no cursor).",
"type": [
"string",
"null"
],
"default": null
},
"cursor": {
"description": "The cursor from the previous page, exactly as returned.",
"type": [
"string",
"null"
],
"default": null
},
"limit": {
"description": "Stories per page: default 20, at most 50.",
"type": [
"integer",
"null"
],
"default": null
}
}
}🟢get_story(id)
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.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"description": "The story's id, exactly as another Mappit tool returned it.",
"type": "string"
}
},
"required": [
"id"
]
}🟢search_mappit(q, types, mode, place, window, ...)
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.
輸入結構描述
{
"type": "object",
"properties": {
"q": {
"description": "What to look for.",
"type": "string"
},
"types": {
"description": "Which kinds of result: any of \"stories\", \"threads\", \"locations\", \"places\" (businesses), \"pins\", \"collections\". Default: stories, threads and locations.",
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
},
"default": null
},
"mode": {
"description": "\"keyword\" (default) or \"semantic\" (by meaning; stories and storylines only).",
"type": [
"string",
"null"
],
"default": null
},
"place": {
"description": "Only results at this place (a place name, id or \"lat,lon\").",
"type": [
"string",
"null"
],
"default": null
},
"window": {
"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).",
"type": [
"string",
"null"
],
"default": null
},
"limit": {
"description": "Results per kind: default 10, at most 25.",
"type": [
"integer",
"null"
],
"default": null
}
},
"required": [
"q"
]
}🟢get_location(place, include, detail)
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.
輸入結構描述
{
"type": "object",
"properties": {
"place": {
"description": "The place: a name (\"Boise\", \"Portland, Maine\"), a place id, or \"lat,lon\" (the nearest Mappit place answers).",
"type": "string"
},
"include": {
"description": "Sections to include, any of: about, stories, threads, sources, radio_tv, stocks, conditions. Default: about, stories, threads, sources.",
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
},
"default": null
},
"detail": {
"description": "\"brief\" (default: the overview clipped) or \"full\" (the whole overview).",
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"place"
]
}🟢list_threads(window, topic, cursor, limit)
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.
輸入結構描述
{
"type": "object",
"properties": {
"window": {
"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.",
"type": [
"string",
"null"
],
"default": null
},
"topic": {
"description": "A topic slug or name (\"world-conflict\", \"Science\"); several separated by commas.",
"type": [
"string",
"null"
],
"default": null
},
"cursor": {
"description": "The cursor from the previous page, exactly as returned.",
"type": [
"string",
"null"
],
"default": null
},
"limit": {
"description": "How many: default 10, at most 30.",
"type": [
"integer",
"null"
],
"default": null
}
}
}🟢get_thread(id, detail, cursor, limit)
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.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"description": "The storyline's id, exactly as returned.",
"type": "string"
},
"detail": {
"description": "\"brief\" (default: the analysis clipped) or \"full\" (the whole analysis).",
"type": [
"string",
"null"
],
"default": null
},
"cursor": {
"description": "The cursor from the previous page of stories, exactly as returned.",
"type": [
"string",
"null"
],
"default": null
},
"limit": {
"description": "Stories per page: default 10, at most 30.",
"type": [
"integer",
"null"
],
"default": null
}
},
"required": [
"id"
]
}🟢get_digest(kind, date, slug, list, detail)
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.
輸入結構描述
{
"type": "object",
"properties": {
"kind": {
"description": "\"daily\" (default) or \"weekly\".",
"type": [
"string",
"null"
],
"default": null
},
"date": {
"description": "For a daily digest: its date, like \"2026-09-28\".",
"type": [
"string",
"null"
],
"default": null
},
"slug": {
"description": "For a Week in Review: its slug, exactly as the list returned it.",
"type": [
"string",
"null"
],
"default": null
},
"list": {
"description": "true for the archive (newest first) instead of one edition.",
"type": "boolean",
"default": false
},
"detail": {
"description": "\"brief\" (default: long texts clipped) or \"full\".",
"type": [
"string",
"null"
],
"default": null
}
}
}🟢find_places(near, q, category, radius_km, limit)
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.
輸入結構描述
{
"type": "object",
"properties": {
"near": {
"description": "Where to look: a place name, a landmark (\"Pike Place Market\"), a place id or \"lat,lon\".",
"type": "string"
},
"q": {
"description": "A name, a kind of place or a cuisine (\"Starbucks\", \"pharmacy\", \"ramen\"). Omit to list what is nearest.",
"type": [
"string",
"null"
],
"default": null
},
"category": {
"description": "One of: food-drink, shopping, health, services, culture, recreation, education, lodging, office.",
"type": [
"string",
"null"
],
"default": null
},
"radius_km": {
"description": "How far to look in km: default 5, at most 50.",
"type": [
"number",
"null"
],
"default": null
},
"limit": {
"description": "How many: default 10, at most 30.",
"type": [
"integer",
"null"
],
"default": null
}
},
"required": [
"near"
]
}🟢get_map_layer(layer, place, date, radius_km, limit)
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.
輸入結構描述
{
"type": "object",
"properties": {
"layer": {
"description": "One of: earthquakes, wildfires, air_quality, weather, history, stocks, events, radio_tv.",
"type": "string"
},
"place": {
"description": "Where: a place name, place id, country or \"lat,lon\". Omit for the whole world.",
"type": [
"string",
"null"
],
"default": null
},
"date": {
"description": "For history and stocks: a date like \"2026-09-28\" (history uses its month and day). Default today.",
"type": [
"string",
"null"
],
"default": null
},
"radius_km": {
"description": "Around a place, how far to look in km. Default 100.",
"type": [
"number",
"null"
],
"default": null
},
"limit": {
"description": "How many: default 20, at most 50.",
"type": [
"integer",
"null"
],
"default": null
}
},
"required": [
"layer"
]
}🟢get_mappit_info(include)
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.
輸入結構描述
{
"type": "object",
"properties": {
"include": {
"description": "Sections, any of: pulse, topics, countries, token. Default: pulse and topics.",
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
},
"default": null
}
}
}🟢list_map_apps(app)
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").
輸入結構描述
{
"type": "object",
"properties": {
"app": {
"description": "Optional app key, to list just that app.",
"type": [
"string",
"null"
],
"default": null
}
}
}🟢get_statistic(indicator, place, period, topic)
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).
輸入結構描述
{
"type": "object",
"properties": {
"indicator": {
"description": "An indicator code from list_map_apps, e.g. \"unemployment_rate\", \"gdp_per_capita_ppp\", \"pres_margin\", \"news_topic_share:world-conflict\".",
"type": "string"
},
"place": {
"description": "A country, US state, US county (\"Travis County, TX\") or district (\"TX-07\"), or a region key (\"FR\", \"US-TX\").",
"type": "string"
},
"period": {
"description": "A period like \"2024\", \"2026-08\" or \"2026-08-15\". Default: the latest.",
"type": [
"string",
"null"
],
"default": null
},
"topic": {
"description": "For news_topic_share only: the topic slug from list_map_apps (\"world-conflict\"), when indicator does not carry it.",
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"indicator",
"place"
]
}🟢rank_regions(indicator, level, within, period, order, ...)
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).
輸入結構描述
{
"type": "object",
"properties": {
"indicator": {
"description": "An indicator code from list_map_apps, e.g. \"unemployment_rate\" or \"news_topic_share:crime-safety\".",
"type": "string"
},
"level": {
"description": "One of: country, state, county, cd119, cd120 (congressional districts on the 2024 and 2026 lines).",
"type": "string"
},
"within": {
"description": "Optional scope: a country (\"United States\"), a US state (for counties or districts) or a continent (\"Africa\").",
"type": [
"string",
"null"
],
"default": null
},
"period": {
"description": "A period like \"2024\", \"2026-08\" or \"2026-08-15\". Default: the latest.",
"type": [
"string",
"null"
],
"default": null
},
"order": {
"description": "\"desc\" (highest first, the default) or \"asc\".",
"type": [
"string",
"null"
],
"default": null
},
"limit": {
"description": "How many: default 10, at most 50.",
"type": [
"integer",
"null"
],
"default": null
},
"topic": {
"description": "For news_topic_share only: the topic slug from list_map_apps (\"crime-safety\"), when indicator does not carry it.",
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"indicator",
"level"
]
}🟢get_directions(from, to, mode, via, steps)
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.
輸入結構描述
{
"type": "object",
"properties": {
"from": {
"description": "Where the trip starts: a place name, a business or landmark, a street address, or \"lat,lon\".",
"type": "string"
},
"to": {
"description": "Where it ends, in any of the same forms.",
"type": "string"
},
"mode": {
"description": "One of: driving (default), walking, cycling.",
"type": [
"string",
"null"
],
"default": null
},
"via": {
"description": "Stops on the way, in order (at most 8), in any of the same forms.",
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
},
"default": null
},
"steps": {
"description": "How many turn-by-turn steps to return: default 25, at most 80; 0 for none.",
"type": [
"integer",
"null"
],
"default": null
}
},
"required": [
"from",
"to"
]
}社群
證據