Open source · MCP server · Verifiable answers

Ask the planet.
Check the answer.

GeoSpark gives AI agents real geography — distances, reachable areas, places, buildings, terrain — and shows exactly where every number came from. If it can't answer, it says so.

— — status: ok
System checking… Version … Models … Routing …
01 — The proof chain

Every answer carries its own receipt.

Most AI tools give you a number. GeoSpark gives you the number, the tools that produced it, the data and licence behind each step, and a run record anyone can replay.

  1. STEP 1

    Question

    Plain words in. Places are geocoded — and when two places share a name, you're told.

    "Federation Square" → −37.8180, 144.9691
  2. STEP 2

    Tools

    The agent calls real tools — routing, Overture places, terrain — never a guess from memory.

    geocode → geocode → travel_time
  3. STEP 3

    Geometry

    Measured on the WGS84 ellipsoid and validated; swapped lat/lon is caught before it misleads you.

    geodesic · validated · RFC 7946
  4. STEP 4

    Provenance

    Sources, licences, accuracy and caveats — plus a replay that says whether the data or the code changed.

    geospark replay run.json → REPRODUCED
02 — Reachable area · live

Watch a city open up, minute by minute.

Isochrones from GeoSpark's own routing engine. Pick a time: the walkable area redraws and its area is measured, not estimated.

—km² on foot

From Federation Square, Melbourne · Valhalla on OpenStreetMap · coverage: Australia

03 — Why it matters

LLMs guess geography. GeoSpark computes it.

From GeoSpark Bench: numeric distance questions put to 9 models, from 3.8B open-weight models to frontier APIs. An answer counts as correct within 10% of the geodesic distance.

1–95%

Correct for language models on their own, depending on the model. Small open models were wrong about 95% of the time.

76–96%

Correct with GeoSpark's tools, for every model that made valid tool calls. Some small models did not use the tools properly.

5% → 76%

Qwen 2.5 7B, a model that runs on your own CPU: on its own, then with GeoSpark's tools.

Per-model results, intervals and caveats are in the README. The full analysis is under peer review.

04 — The platform

Everything an agent needs to reason about place.

Spatial engine

Geodesic distance, topology, buffers, areas and CRS handling — correct on the ellipsoid, with invalid input refused.

Measure something →

Reachable areas & travel times

Walk, bike or drive isochrones and travel-time matrices from a self-hosted Valhalla.

Draw an isochrone →

Open map data

Overture Maps places, buildings, roads and boundaries near any point — no API key.

Explore a place →

Agents

A coordinator routes your goal to GeoAgent, SpatialReport or SiteSelector, with live weather and air quality.

Run an agent →

Bring your own data

GeoJSON, GeoPackage, Shapefile, GeoParquet or CSV. The CRS is read, never guessed.

How it works →

Reproducible runs

Record any analysis, replay it later, and learn whether the data or the code changed the answer.

Record a run →
05 — For agents & developers

One install. Your agent gets a map.

A Python library, CLI, REST API and MCP server in one package. Works with Claude, local models through Ollama, and anything that speaks MCP.

terminal
$ pip install geospark-ai
$ geospark record isochrone --minutes 10 -- -37.818 144.969
✓ run saved to iso.json
$ geospark replay iso.json
REPRODUCED · same data, same code
Built on open data
OpenStreetMapOverture MapsValhallaCopernicus DEMOpen-MeteoOpenAQNASA FIRMS