# Moving Polygons (remote · www.movingpolygons.com)

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

- Trust score: 81/100 (high trust)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-24

## Components

- remote · `www.movingpolygons.com`: 81/100 (this document), [markdown](https://verifymcp.io/servers/com-movingpolygons-maps/www.md), [page](https://verifymcp.io/servers/com-movingpolygons-maps/www)

## Channel facts

- Endpoint: `https://www.movingpolygons.com/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-24.

- **Endpoint Security**: 97/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 80/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1256 tokens (~83/item across 15 items; 14 tools + 1 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 90/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 70% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Moving Polygons MCP server?

Moving Polygons is a hosted endpoint at https://www.movingpolygons.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-movingpolygons-maps 'https://www.movingpolygons.com/mcp'
```

### Cursor

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

### VS Code

```json
{
  "servers": {
    "com-movingpolygons-maps": {
      "type": "http",
      "url": "https://www.movingpolygons.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-movingpolygons-maps]
url = "https://www.movingpolygons.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-movingpolygons-maps": {
      "type": "remote",
      "url": "https://www.movingpolygons.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-movingpolygons-maps --url 'https://www.movingpolygons.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-movingpolygons-maps:
    url: "https://www.movingpolygons.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-movingpolygons-maps": {
      "Transport": "http",
      "Url": "https://www.movingpolygons.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-movingpolygons-maps -t streamable-http -u 'https://www.movingpolygons.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-movingpolygons-maps": {
      "type": "http",
      "url": "https://www.movingpolygons.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-24 (score 81, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] New tool “finish_map_upload”, which the server declares destructive
- [functional regression] Schema quality: 941 → 1256
- [functional improvement] Stability: unverified → 0.03
- [functional] New tool “start_map_upload”
- [functional] New tool “upload_map_part”

### 2026-10-23 (score 80)

First indexed and scored.

## MCP tools (14)

### `get_import_format` (~28 tokens)

Get the map import format

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

### `get_account` (~25 tokens)

Get account

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

### `list_maps` (~47 tokens)

List my maps

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

Input parameters:

- `limit` (integer): Default 50
- `search` (string): Only maps whose name contains this text

### `get_map` (~55 tokens)

Get a map

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.

Input parameters:

- `mapId` (string, required): The map id

### `create_map` (~49 tokens)

Create a map

Create a new private draft map from an import JSON of up to about 1 MB.

Input parameters:

- `map` (required): The map in the Moving Polygons import format, as a JSON object or a JSON string

### `create_upload_link` (~94 tokens)

Create an upload link

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.

Input parameters:

- `mapId` (string): Required for mode replace
- `mode` (string): create (default): a new map. replace: overwrite mapId's content

### `start_map_upload` (~91 tokens)

Start a chunked map upload

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.

Input parameters:

- `mapId` (string): Required for mode replace
- `mode` (string): create (default): a new map. replace: overwrite mapId's content

### `upload_map_part` (~89 tokens)

Upload one part of a map

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.

Input parameters:

- `part` (integer, required): 1 for the first piece
- `text` (string, required): This piece of the map JSON text, verbatim
- `uploadId` (string, required)

### `finish_map_upload` (~73 tokens)

Finish a chunked map upload

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.

Input parameters:

- `parts` (integer, required): How many parts were sent
- `uploadId` (string, required)

### `replace_map_content` (~89 tokens)

Replace a map's content

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.

Input parameters:

- `map` (required): The map in the Moving Polygons import format, as a JSON object or a JSON string
- `mapId` (string, required)

### `publish_map` (~40 tokens)

Publish a map

Make one of the user's maps public at its /map/<handle>/<slug> link, where anyone can view it.

Input parameters:

- `mapId` (string, required)

### `unpublish_map` (~32 tokens)

Unpublish a map

Make one of the user's maps private again (its public link stops working).

Input parameters:

- `mapId` (string, required)

### `search_maps` (~120 tokens)

Search published maps

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.

Input parameters:

- `limit` (integer): Default 10
- `query` (string): Words to match, e.g. 'Ottoman', 'Holy Roman Empire', 'Ukraine war'
- `year` (integer): Only maps whose timeline includes this year; negative for BC (-44 = 44 BC)

### `get_public_map` (~99 tokens)

Get a published map

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.

Input parameters:

- `slug` (string)
- `url` (string): e.g. https://www.movingpolygons.com/map/Chris/the-ottoman-empire-12991923
- `username` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-movingpolygons-maps/www#diagnostics

## Score history

- 2026-10-24: 81
- 2026-10-23: 80

## Common questions

### What is the Moving Polygons MCP server?

Moving Polygons is an MCP server listed in the public MCP registry as com.movingpolygons/maps. Create, edit and publish animated historical maps in your Moving Polygons account. This page covers its hosted endpoint (https://www.movingpolygons.com/mcp).

### Is the Moving Polygons MCP server safe to use?

Moving Polygons scores 81 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Moving Polygons MCP server expose?

Moving Polygons exposes 14 tools: get_import_format, get_account, list_maps, get_map, create_map, and 9 more. Their descriptions and schemas cost roughly 931 tokens of context every time the server is loaded.

### Does the Moving Polygons MCP server require authentication?

Yes. Moving Polygons asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the Moving Polygons MCP server still maintained?

Moving Polygons is still listed as active in the MCP registry. We last reached this channel on 24 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://www.movingpolygons.com/mcp
- Website: https://www.movingpolygons.com/create-with-ai
- Changelog RSS feed: https://verifymcp.io/servers/com-movingpolygons-maps/www.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-movingpolygons-maps/www.json
- HTML version of this page: https://verifymcp.io/servers/com-movingpolygons-maps/www
