Moving Polygons
Create, edit and publish animated historical maps in your Moving Polygons account.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"maps": {
"url": "https://www.movingpolygons.com/mcp"
}
}
}遠端端點
https://www.movingpolygons.com/mcpstreamable-http它能做什麼
工具清單
工具(14)
🟢get_import_format
The JSON format for maps: layers with timed polygon keyframes, point markers and a style.
輸入結構描述
{
"type": "object",
"properties": {}
}🟢get_account
The signed-in user's public handle, plan and how many maps they can still create.
輸入結構描述
{
"type": "object",
"properties": {}
}🟢list_maps(search, limit)
The user's maps, most recently changed first, with their ids and links.
輸入結構描述
{
"type": "object",
"properties": {
"search": {
"description": "Only maps whose name contains this text",
"type": "string"
},
"limit": {
"description": "Default 50",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_map(mapId)
A summary of one of the user's maps (layers, keyframe dates, markers) and a 15-minute download link for its full import JSON, which can be several MB.
輸入結構描述
{
"type": "object",
"properties": {
"mapId": {
"type": "string",
"description": "The map id"
}
},
"required": [
"mapId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_map(map)
Create a new private draft map from an import JSON of up to about 1 MB.
輸入結構描述
{
"type": "object",
"properties": {
"map": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "string"
}
],
"description": "The map in the Moving Polygons import format, as a JSON object or a JSON string"
}
},
"required": [
"map"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢create_upload_link(mode, mapId)
A one-off link (valid 15 minutes) for uploading a map JSON file of up to 40 MB with curl. It creates a new draft map, or with mode replace overwrites an existing map's content. The curl output reports the result.
輸入結構描述
{
"type": "object",
"properties": {
"mode": {
"description": "create (default): a new map. replace: overwrite mapId's content",
"type": "string",
"enum": [
"create",
"replace"
]
},
"mapId": {
"description": "Required for mode replace",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡start_map_upload(mode, mapId)
Opens an upload (valid 2 hours) for a map JSON text that is sent in numbered parts through tool calls rather than over the network. It creates a new draft map, or with mode replace overwrites an existing map's content.
輸入結構描述
{
"type": "object",
"properties": {
"mode": {
"description": "create (default): a new map. replace: overwrite mapId's content",
"type": "string",
"enum": [
"create",
"replace"
]
},
"mapId": {
"description": "Required for mode replace",
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡upload_map_part(uploadId, part, text)
Stores one numbered piece of a chunked map upload. The pieces are joined in part order with nothing in between; sending a part number again replaces that part. Returns the piece's length and SHA-256.
輸入結構描述
{
"type": "object",
"properties": {
"uploadId": {
"type": "string"
},
"part": {
"type": "integer",
"minimum": 1,
"maximum": 400,
"description": "1 for the first piece"
},
"text": {
"type": "string",
"maxLength": 250000,
"description": "This piece of the map JSON text, verbatim"
}
},
"required": [
"uploadId",
"part",
"text"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴finish_map_upload(uploadId, parts)
Joins parts 1 to the given count of a chunked upload, validates the map and creates the draft map (or replaces the map's content, keeping a backup). Reports missing parts or where the JSON breaks.
輸入結構描述
{
"type": "object",
"properties": {
"uploadId": {
"type": "string"
},
"parts": {
"type": "integer",
"minimum": 1,
"maximum": 400,
"description": "How many parts were sent"
}
},
"required": [
"uploadId",
"parts"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴replace_map_content(mapId, map)
Overwrite an existing map's layers, markers, name, description and casualty bar (and style, if given) with an import JSON of up to about 1 MB. The link and publish state stay; the old content is backed up.
輸入結構描述
{
"type": "object",
"properties": {
"mapId": {
"type": "string"
},
"map": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "string"
}
],
"description": "The map in the Moving Polygons import format, as a JSON object or a JSON string"
}
},
"required": [
"mapId",
"map"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡publish_map(mapId)
Make one of the user's maps public at its /map/<handle>/<slug> link, where anyone can view it.
輸入結構描述
{
"type": "object",
"properties": {
"mapId": {
"type": "string"
}
},
"required": [
"mapId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪unpublish_map(mapId)
Make one of the user's maps private again (its public link stops working).
輸入結構描述
{
"type": "object",
"properties": {
"mapId": {
"type": "string"
}
},
"required": [
"mapId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_maps(query, year, limit)
Find published animated maps on Moving Polygons (history, wars, empires, borders, epidemics, sea ice…) by words in their title or description and/or a year they cover. Returns links to the interactive map, its text version and its article.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"description": "Words to match, e.g. 'Ottoman', 'Holy Roman Empire', 'Ukraine war'",
"type": "string"
},
"year": {
"description": "Only maps whose timeline includes this year; negative for BC (-44 = 44 BC)",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit": {
"description": "Default 10",
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_public_map(url, username, slug)
One published map as Markdown: description and sources, the timeline of keyframes (date and caption), layers, events, and the iframe code to embed the interactive map. Pass its URL, or the handle and slug.
輸入結構描述
{
"type": "object",
"properties": {
"url": {
"description": "e.g. https://www.movingpolygons.com/map/Chris/the-ottoman-empire-12991923",
"type": "string"
},
"username": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}社群
證據