Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Krackedmaps

FreeMaintained

Themeable SVG maps with zero runtime dependencies: Malaysia's 16 regions and 159 districts, a rotating globe, country maps. Library, CLI, MCP server, plain SVG/

GitHubEmbed

About

Themeable SVG maps with zero runtime dependencies: Malaysia's 16 regions and 159 districts, a rotating globe, country maps. Library, CLI, MCP server, plain SVG/GeoJSON.

README

KrackedMaps

KrackedMaps

Themeable SVG maps with zero runtime dependencies. Malaysia's 16 regions and 159 districts from one shared projection, plus a rotating globe and country maps. Use it as a component, a CLI, an MCP server, or plain SVG and GeoJSON.

License: MIT  npm  Tests  Live

Customize & export · Demo · Docs · Playground

Install

npm i krackedmaps
import { createMalaysiaMap } from "krackedmaps";
import "krackedmaps/css";

const map = createMalaysiaMap("#map", { theme: "blueprint" });
map.on("select", (slug) => console.log("selected", slug));
map.setData({ penang: 1.8, sabah: 3.4 });          // choropleth by slug
map.addPin({ lng: 101.7117, lat: 3.1578, label: "KLCC" });

Click a state to drill into its districts, hover a district for its name, Esc steps back out. Make as many instances as you like; destroy() tears each one down.

Server-side, with no DOM:

import { renderSVG, project } from "krackedmaps";
const svg = renderSVG({ theme: "batik", withDistricts: true });   // a string
project(101.7117, 3.1578);                                        // → { x, y }

Data only: import { STATES, DISTRICTS, PROJECTION } from "krackedmaps/data".

From the terminal

npx krackedmaps svg --theme blueprint --districts > malaysia.svg
npx krackedmaps geojson --districts > daerah.geojson
npx krackedmaps react --theme batik > MalaysiaMap.jsx
npx krackedmaps project 101.7117 3.1578          # KLCC → {"x":…,"y":…}
npx krackedmaps globe react --theme blueprint > Globe.jsx
npx krackedmaps --help

Inside Claude

claude mcp add krackedmaps -- npx -y krackedmaps mcp

Then ask: "give me the Malaysia map as a blueprint SVG with districts", or "add a rotating globe hero to this app". The MCP server exposes the SVG, GeoJSON, projection, React and embed builders as tools.

Globe and countries

import { createGlobe, WORLD_COUNTRIES } from "krackedmaps/globe";
import "krackedmaps/globe.css";
const globe = createGlobe("#globe", { countries: WORLD_COUNTRIES, theme: "blueprint" });

Country maps beyond Malaysia are served by the hosted site (npx krackedmaps country japan embed); see "What is open" below.

Options

option default description
theme "blueprint" mono · flat-dark · light · blueprint · batik, or { cssVar: value }
panel / tooltip true built-in info panel / hover tooltip
showDistricts true district drill-down layer
interactive / keyboard true pointer, click and Esc handlers (scoped, never global)
zoom true zoom to a state on select
labels false start with state labels shown
initialState null slug to select after build
meta / colors / renderPanel per-state info, choropleth ramp, custom panel

Methods: select · focus · drillInto · addPin · setData · setTheme · toggleLabels · on / off (select, hover, drill) · destroy.

Data

Malaysia boundaries are geoBoundaries gbOpen (CC BY): ADM1 for the 16 regions, ADM2 for the 159 districts. World outlines are Natural Earth (public domain). Keep one attribution line when you redistribute exports; the exporter writes it into the SVG's <metadata>. Details and citation: DATA-LICENSES.md.

What is open, what is hosted

This package is the engine and the Malaysia data, MIT. maps.krackeddevs.com adds the Poster Studio and the per-country atlas tiers, some of whose sources carry stricter licences; those live in a separate repo and are served, not redistributed.

Contributing

Data corrections with a source, new themes, and API improvements: see CONTRIBUTING.md.

License

MIT © KrackedDevs

from github.com/enonforetsam/krackedmaps

Install Krackedmaps in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install krackedmaps

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add krackedmaps -- npx -y krackedmaps

Step-by-step: how to install Krackedmaps

FAQ

Is Krackedmaps MCP free?

Yes, Krackedmaps MCP is free — one-click install via Unyly at no cost.

Does Krackedmaps need an API key?

No, Krackedmaps runs without API keys or environment variables.

Is Krackedmaps hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Krackedmaps in Claude Desktop, Claude Code or Cursor?

Open Krackedmaps on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Krackedmaps with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs