Moving Polygons

Create, edit and publish animated historical maps in your Moving Polygons account.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
96%
Integridad del esquema
79%
Calidad de los nombres
96%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,702Tokens (definiciones de herramientas)
~695 BTamaño de respuesta típico
Impacto moderado en la atención (1.33% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "maps": {
      "url": "https://www.movingpolygons.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://www.movingpolygons.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (14)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢get_import_format

The JSON format for maps: layers with timed polygon keyframes, point markers and a style.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢get_account

The signed-in user's public handle, plan and how many maps they can still create.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢list_maps(search, limit)

The user's maps, most recently changed first, with their ids and links.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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).

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada14 herramientas