Moving Polygons
Create, edit and publish animated historical maps in your Moving Polygons account.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`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#"
}커뮤니티
증거