Historical borders and dated map events with source attribution and coverage limits.
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.
Build a link that opens RewindMap's short-video maker preloaded with a map clip: borders (and optional event layers) changing from one year to another over a place, with an optional title and map labels. The visitor opens the link and taps Download to get a watermarked MP4 (vertical 9:16 for Shorts/Reels/TikTok, or landscape). Rendering happens in the visitor's browser; this tool returns the link only, never a video file.
Year. Negative is BC: -500 = 500 BC. There is no year 0.
Year. Negative is BC: -500 = 500 BC. There is no year 0.
Area to frame [west, south, east, north] in degrees. Default: Europe and the Mediterranean.
Text burned into the top of the video.
Map labels drawn at fixed points in every frame.
Layers shown in the clip.
Build a link that opens RewindMap's short-video maker preloaded with a map clip: borders (and optional event layers) changing from one year to another over a place, with an optional title and map labels. The visitor opens the link and taps Download to get a watermarked MP4 (vertical 9:16 for Shorts/Reels/TikTok, or landscape). Rendering happens in the visitor's browser; this tool returns the link only, never a video file.
| Argument | Type | Description |
|---|---|---|
| bbox | array | Area to frame [west, south, east, north] in degrees. Default: Europe and the Mediterranean. |
| title | string | Text burned into the top of the video. |
| format | string | |
| labels | array | Map labels drawn at fixed points in every frame. |
| layers | array | Layers shown in the clip. |
| seconds | integer | |
| to_year* | integer | Year. Negative is BC: -500 = 500 BC. There is no year 0. |
| from_year* | integer | Year. Negative is BC: -500 = 500 BC. There is no year 0. |
{
"type": "object",
"required": [
"from_year",
"to_year"
],
"properties": {
"bbox": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 4,
"minItems": 4,
"description": "Area to frame [west, south, east, north] in degrees. Default: Europe and the Mediterranean."
},
"title": {
"type": "string",
"maxLength": 60,
"description": "Text burned into the top of the video."
},
"format": {
"enum": [
"vertical",
"landscape"
],
"type": "string",
"default": "vertical"
},
"labels": {
"type": "array",
"items": {
"type": "object",
"required": [
"lon",
"lat",
"text"
],
"properties": {
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"text": {
"type": "string",
"maxLength": 40
}
}
},
"maxItems": 5,
"description": "Map labels drawn at fixed points in every frame."
},
"layers": {
"type": "array",
"items": {
"enum": [
"borders",
"conflict",
"ucdp",
"volcano",
"quake",
"meteorite",
"heritage"
],
"type": "string"
},
"default": [
"borders"
],
"description": "Layers shown in the clip."
},
"seconds": {
"enum": [
6,
10,
15
],
"type": "integer",
"default": 10
},
"to_year": {
"type": "integer",
"description": "Year. Negative is BC: -500 = 500 BC. There is no year 0."
},
"from_year": {
"type": "integer",
"description": "Year. Negative is BC: -500 = 500 BC. There is no year 0."
}
}
}Look up a state or empire by name or any of its Wikidata labels and aliases (substring, case-insensitive), or by Wikidata QID. Returns its lifespan, every border snapshot with its bounding box, and links.
| Argument | Type | Description |
|---|---|---|
| lang | string | Site language for returned page and map links. Use the language the user is writing in. |
| query* | string | Name, e.g. "Ottoman", or a QID, e.g. "Q12560". |
{
"type": "object",
"required": [
"query"
],
"properties": {
"lang": {
"enum": [
"en",
"fr",
"es",
"pt",
"de",
"it",
"nl",
"ja",
"ru",
"pl",
"tr",
"id",
"hi",
"ar"
],
"type": "string",
"default": "en",
"description": "Site language for returned page and map links. Use the language the user is writing in."
},
"query": {
"type": "string",
"description": "Name, e.g. \"Ottoman\", or a QID, e.g. \"Q12560\"."
}
}
}Search map events: battles (Wikidata), UCDP armed-conflict events since 1989, volcanic eruptions VEI 4+ (Smithsonian GVP), significant earthquakes (NOAA), witnessed meteorite falls, and UNESCO World Heritage sites (undated). Month/day bounds match only events recorded at least that precisely; undated heritage sites match only searches without a date bound. Results are sorted by date.
| Argument | Type | Description |
|---|---|---|
| bbox | array | Bounding box [west, south, east, north] in degrees. |
| lang | string | Site language for returned page and map links. Use the language the user is writing in. |
| layer | string | |
| limit | integer | |
| query | string | Substring of the event name or detail, e.g. "Vienna". |
| to_date | object | Source-calendar date fields at month precision, or day precision when day is supplied. Historical sources may use Julian dates; bounds compare their recorded fields without calendar conversion. |
| to_year | integer | Year. Negative is BC: -500 = 500 BC. There is no year 0. |
| from_date | object |
List states, empires and cultures with an OpenHistoricalMap border snapshot in a given year, optionally overlapping a region. Coverage is incomplete; an empty result does not establish historical absence.
| Argument | Type | Description |
|---|---|---|
| bbox | array | Bounding box [west, south, east, north] in degrees. |
| lang | string | Site language for returned page and map links. Use the language the user is writing in. |
| year* | integer | Year. Negative is BC: -500 = 500 BC. There is no year 0. |
{
"type": "object",
"required": [
"year"
],
"properties": {
"bbox": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 4,
"minItems": 4,
"description": "Bounding box [west, south, east, north] in degrees."
},
"lang": {
"enum": [
"en",
"fr",
"es",
"pt",
"de",
"it",
"nl",
"ja",
"ru",
"pl",
"tr",
"id",
"hi",
"ar"
],
"type": "string",
"default": "en",
"description": "Site language for returned page and map links. Use the language the user is writing in."
},
"year": {
"type": "integer",
"description": "Year. Negative is BC: -500 = 500 BC. There is no year 0."
}
}
}| Source-calendar date fields at month precision, or day precision when day is supplied. Historical sources may use Julian dates; bounds compare their recorded fields without calendar conversion. |
| from_year | integer | Year. Negative is BC: -500 = 500 BC. There is no year 0. |
{
"type": "object",
"properties": {
"bbox": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 4,
"minItems": 4,
"description": "Bounding box [west, south, east, north] in degrees."
},
"lang": {
"enum": [
"en",
"fr",
"es",
"pt",
"de",
"it",
"nl",
"ja",
"ru",
"pl",
"tr",
"id",
"hi",
"ar"
],
"type": "string",
"default": "en",
"description": "Site language for returned page and map links. Use the language the user is writing in."
},
"layer": {
"enum": [
"conflict",
"ucdp",
"volcano",
"quake",
"meteorite",
"heritage"
],
"type": "string"
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1
},
"query": {
"type": "string",
"description": "Substring of the event name or detail, e.g. \"Vienna\"."
},
"to_date": {
"type": "object",
"required": [
"year",
"month"
],
"properties": {
"day": {
"type": "integer",
"maximum": 31,
"minimum": 1
},
"year": {
"type": "integer",
"description": "Year. Negative is BC: -500 = 500 BC. There is no year 0."
},
"month": {
"type": "integer",
"maximum": 12,
"minimum": 1
}
},
"description": "Source-calendar date fields at month precision, or day precision when day is supplied. Historical sources may use Julian dates; bounds compare their recorded fields without calendar conversion."
},
"to_year": {
"type": "integer",
"description": "Year. Negative is BC: -500 = 500 BC. There is no year 0."
},
"from_date": {
"type": "object",
"required": [
"year",
"month"
],
"properties": {
"day": {
"type": "integer",
"maximum": 31,
"minimum": 1
},
"year": {
"type": "integer",
"description": "Year. Negative is BC: -500 = 500 BC. There is no year 0."
},
"month": {
"type": "integer",
"maximum": 12,
"minimum": 1
}
},
"description": "Source-calendar date fields at month precision, or day precision when day is supplied. Historical sources may use Julian dates; bounds compare their recorded fields without calendar conversion."
},
"from_year": {
"type": "integer",
"description": "Year. Negative is BC: -500 = 500 BC. There is no year 0."
}
}
}