Specification¶
The authoritative spec lives at
SPECIFICATION.md
in the repo root. It treats requirements at the level of "you could
re-implement kartoza-mcp in another language and arrive at the same
observable behaviour".
Summary¶
- Mission. Expose spatial analytics to MCP clients with minimum ceremony and maximum performance.
- Scope today. One tool —
cluster_points(DBSCAN over GeoJSON points). - Scope next. Convex hull, buffer, voronoi, point-in-polygon, nearest neighbour.
- Out of scope. Map rendering, tile serving, raster analysis, network routing, anything HTTP-listener-shaped.
Architectural commitments¶
- Stdio MCP — never bind a port from this binary.
- Static linking — one binary, zero shared-library dependencies.
- Nix-first —
flake.nixis the source of truth for the toolchain. - REUSE-compliant — every file has SPDX headers.
- Tested — every tool has unit + integration coverage.
For the user stories, business rules and functional requirements, see the full document in the repository root.