Data#MCP#Data analysis

RustGIS: replayable GIS workflows in Rust

RustGIS is a Rust GIS for desktop and browser, with CLI, Python, and MCP. Its commands make map work repeatable as the project evolves.

Project facts

GitHub Ecosystem
Repositorygithub.com/opengeos/RustGIS
License
Apache-2.0
Language
Rust
Stars
1,403
Data checked
2026-10-17

Snapshot figures reflect the check date and may change over time.

If you work with geospatial data but want to move between a desktop, a browser, and scripts, RustGIS offers one GIS project across all three. Written in Rust, it maps each ribbon action to a command with an ID, so the same operation can be clicked, scripted, or called by an AI assistant and MCP client. Its latest GitHub release, v0.3.0, was published on October 16, 2026. As of October 17, the repository has 1,403 stars and an Apache-2.0 license. The README demo shows its 3D globe and AI assistant pane.

Core features

  • Replayable commands: every ribbon button maps to a command ID, and rustgis-cli commands lists the available commands and parameters. The CLI can chain analysis, symbology, and export against sample data; the same engine is available through Python, Jupyter notebooks, and MCP. Saving a workflow as commands makes it easier to inspect and run again.
  • Desktop and browser versions: RustGIS ships desktop builds for Windows, macOS, and Linux, plus a WebAssembly app. The v0.3.0 release assets show why the “under 30 MB” headline needs a platform qualifier: the ARM64 macOS DMG is about 23.4 MB and the x86_64 DMG about 25.7 MB, while the Linux x86_64 AppImage is about 36.0 MB.
  • Broad geospatial inputs and analysis: the README lists GeoJSON, CSV, Shapefile, GeoPackage, GeoParquet, KML, and LAS/LAZ inputs, along with GeoTIFF, COG, and Zarr rasters. Tools cover Buffer, Clip, route and viewshed analysis, and model building; the project also integrates more than 1,000 GeoLibre and Whitebox tools.
  • An assistant that acts through GIS commands: the assistant can inspect layers, answer questions about data, and run map operations through configured Anthropic, OpenAI, Gemini, Ollama, or compatible services. Changes can be undone. The README says the chosen model receives the user’s question and the data it reads; online basemaps, plugins, and some tools also make network requests.
  • Plugins and export paths: sandboxed WebAssembly plugins can add commands, tools, and ribbon tabs. The project exports PDF, PNG, web maps, MapLibre styles, and glTF scenes. If your goal is to give an existing desktop application a command interface, CLI-Anything takes a related route by generating agent-facing CLIs for software such as QGIS.

Typical use cases

  • GIS analysts who need reproducible work: save spatial operations as CLI commands or notebook steps, then rerun them and inspect how the output layer was produced.
  • People who want to evaluate before installing: open the RustGIS web app to check familiar data formats and interactions against an existing workflow.
  • Developers connecting agents to geospatial tools: register rustgis-cli mcp as an MCP server, or call the same engine from Python for agent-driven queries and processing.

In an October 13, 2026 hands-on article, It’s FOSS also covered layer analysis, DuckDB Spatial, the AI assistant, and the command line, while describing RustGIS as an early-stage project. The project’s official comparison page places it alongside QGIS and ArcGIS, which is useful for checking where it fits before treating it as a replacement.

Quick start

To try the app without a desktop install, open web.rustgis.app. To build and launch the desktop app from a checkout, the README requires Rust 1.90 or later:

cargo run --release -p rustgis

Start with the CLI’s command list and sample assistant query:

rustgis-cli commands
rustgis-cli ask --sample "Which 5 countries have the largest GDP?"

These commands come from the project README. Installation steps and system requirements vary between the desktop app, web app, Python package, and CLI; check the current installation guide and release notes before deployment.

Summary

RustGIS is aimed at GIS users who need map inspection, spatial analysis, and repeatable workflows, plus developers who want scripts and agents to call those operations. Replayable commands, browser access, and multiple data interfaces are concrete strengths. Releases are arriving quickly, so it is sensible to evaluate it on public sample data or a copy of a real dataset before adopting it in production.

The project is still adding features. The official roadmap lists editing existing feature vertices as future work, and a format list alone does not establish full coverage or stability for large production projects. Basemaps, plugins, GeoLibre tools, and the selected AI model can make network requests. Files may stay on the device by default, but users should confirm that data is appropriate to send to a model before enabling the assistant. RustGIS is primarily written in Rust and uses the Apache-2.0 license.