A local web app for creating custom painted world maps. Color countries, group them into categories, apply heatmaps from data, build timelines, and export to JSON, SVG or PNG.
Paint & multi-select Color categories Heatmap from data Timeline / history Stats charts Country data (pop/GDP/area) CSV import SVG + PNG export Undo / redo Crop screenshot REST API MCP server NL paint via Claude
This app exposes a REST API and an MCP manifest so AI agents can paint and query the map programmatically. Point an agent here: /about.md for the full machine-readable spec.
| Method | Path | Description |
|---|---|---|
| GET | /api/state | Full map state |
| GET | /api/countries | All valid country names |
| GET | /api/country_data?name=… | Pop / GDP / area for one country |
| POST | /api/paint | Paint a single country |
| POST | /api/paint_bulk | Paint multiple countries |
| POST | /api/clear | Clear one or all countries |
| POST | /api/category | Create / update a category |
| POST | /api/nl | Natural language paint (needs API key) |
| GET | /mcp | MCP manifest |
| GET | /mcp/openapi.json | OpenAPI 3.0 spec |
POST /api/paint
{"country": "Germany", "color": "#3498db", "label": "EU"}
POST /api/paint_bulk
[{"country":"France","color":"#3498db","label":"EU"},
{"country":"Italy", "color":"#3498db","label":"EU"}]
POST /api/nl
{"prompt": "Color all G7 countries gold and label them G7"}
Connect any MCP-compatible client (Claude Desktop, Claude Code) to:
http://localhost:5000/mcp