Skip to content

Deployment

The static binary works anywhere a current Linux kernel does. Pick a distribution pattern based on your audience.

Pattern 1 — Drop the binary

sudo curl -fsSL \
  https://github.com/kartoza/kartoza-mcp/releases/latest/download/spatial-cluster-linux-amd64 \
  -o /usr/local/bin/spatial-cluster
sudo chmod +x /usr/local/bin/spatial-cluster

Best for: small teams, single hosts, anything where the unit of deployment is a person's laptop.

Pattern 2 — Distro package

We ship .deb, .rpm, AUR, snap, flatpak, AppImage and a Nix flake on every tagged release.

curl -fsSL https://github.com/kartoza/kartoza-mcp/releases/latest/download/kartoza-mcp_amd64.deb -o /tmp/kartoza-mcp.deb
sudo apt install /tmp/kartoza-mcp.deb
sudo dnf install https://github.com/kartoza/kartoza-mcp/releases/latest/download/kartoza-mcp-x86_64.rpm
yay -S kartoza-mcp
nix profile install github:kartoza/kartoza-mcp

Pattern 3 — Container image

docker pull ghcr.io/kartoza/kartoza-mcp:latest

Best for: anything orchestrated. The image is FROM scratch plus the static binary — under 10 MB, no shell, no userland.

See Containers for the full image catalogue and multi-arch builds.

Pattern 4 — Per-user via nix run

For users who don't want to install anything:

nix run github:kartoza/kartoza-mcp

The flake's default app is run. This is the recommended path for Claude Desktop config because it's self-updating to the flake's pinned commit.

Versioning & upgrades

  • Tagged with vX.Y.Z, semver-compliant.
  • latest artefact URLs always resolve to the most recent stable.
  • The MCP wire shape is stable within a MAJOR. Read the CHANGELOG before bumping major.

Air-gapped sites

Mirror the GitHub release artefacts to your internal artifact store. The binary has no runtime egress requirements.