KARTOZA · SPATIAL MCP
Spatial analytics, native to your LLM¶
A high-performance Model Context Protocol server that lets Claude, Gemini and any MCP-aware client run real geospatial analysis on real GeoJSON — no plumbing, no Python kernel, no cloud account.
Pick your path¶
-
I want to use it
Wire the server into Claude Desktop or Gemini CLI, paste in some points, and get clusters back as map-ready polygons.
-
I want to extend it
Add new spatial analytics — buffer, hull, voronoi, nearest neighbour — using the same Go + Orb + Quadtree pattern.
-
I want to deploy it
Drop the static binary on any Linux host. Wrap it in a container or a systemd unit. No runtime, no shared libraries.
What it does¶
Kartoza Spatial MCP exposes spatial-analysis tools to any Model Context Protocol
client. The first tool, cluster_points, runs DBSCAN with Quadtree
acceleration and parallel neighbour search over GeoJSON FeatureCollections and
returns the clusters as map-ready polygon circles.
sequenceDiagram
autonumber
participant U as You (in Claude / Gemini)
participant C as MCP Client
participant S as kartoza-mcp (stdio)
participant Q as Quadtree + DBSCAN
U->>C: "Cluster these survey points"
C->>S: tools/call cluster_points { geojson, eps, minPts }
S->>Q: index + parallel neighbour search
Q-->>S: cluster assignments
S-->>C: FeatureCollection of cluster circles
C-->>U: rendered map overlay
Why use it¶
-
Fast by design
O(N log N) neighbour search via Quadtree, parallelised with Go routines. Cluster thousands of points in milliseconds — entirely in-process.
-
MCP-native
Speaks Model Context Protocol over stdio. Drop into Claude Desktop, Gemini CLI, ChatGPT, or anything that speaks MCP
2024-11-05. -
Single static binary
Static-linked Go binary with
musl— nolibgeos, no Python, no Docker needed. Ship it. Run it. -
Built to extend
One handler per analytic. Add buffers, hulls, voronoi, isochrones — the Quadtree + Orb stack is ready.
-
Reproducible Nix shell
nix developprovisions Go, GEOS, pkg-config, mkdocs — every contributor on the exact same toolchain CI uses. -
REUSE-compliant
Every source file carries SPDX headers. Licensing is auditable. Kartoza ships software the EU procurement office can sign off on.
Quickstart in 60 seconds¶
# Clone and enter the reproducible dev shell.
git clone https://github.com/kartoza/kartoza-mcp.git
cd kartoza-mcp
nix develop
# Build the static binary.
nix run .#build
# Smoke-test against a sample GeoJSON.
./spatial-cluster-static < test.json
Then point Claude Desktop at it — see Configure Claude Desktop.