GeoSpark
Server Details
Verifiable geospatial tools: distances, topology, isochrones, Overture Maps, with sources.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- Maz2580/geospark
- GitHub Stars
- 19
TDQS
Score is being calculated.
Available Tools
15 toolscalculate_distanceGeodesic distanceRead-onlyIdempotentInspect
Exact geodesic distance between two places or geometries on the WGS84 ellipsoid.
Use for any "how far" question instead of estimating. For NAMED places pass place_a and
place_b; the server geocodes them, so never type coordinates for a place yourself. Use
point_a/point_b only for coordinates the user gave or another tool returned. For lines
and polygons the distance is between their nearest points. Returns metres and kilometres.
| Name | Required | Description | Default |
|---|---|---|---|
| place_a | No | A place NAME, e.g. 'Adelaide Oval'; geocoded on the server (preferred) | |
| place_b | No | A place NAME, e.g. 'Adelaide Oval'; geocoded on the server (preferred) | |
| point_a | No | A GeoJSON geometry, e.g. {"type": "Point", "coordinates": [lon, lat]}; only for coordinates the user gave or a tool returned | |
| point_b | No | A GeoJSON geometry, e.g. {"type": "Point", "coordinates": [lon, lat]}; only for coordinates the user gave or a tool returned |
Output Schema
| Name | Required | Description |
|---|---|---|
| units | No | Unit of each numeric field |
| places | No | Named places as geocoded on the server: query, display_name, coordinates [lon, lat] |
| status | No | |
| warnings | No | Caveats to tell the user |
| distance_m | Yes | Geodesic distance in metres (WGS84 ellipsoid) |
| provenance | No | Source, licence, attribution, retrieval time and method |
| distance_km | Yes |
check_spatial_relationshipTopological relationshipRead-onlyIdempotentInspect
Ground-truth topology: does geometry_a geometry_b?
Use instead of guessing containment, overlap or adjacency. Invalid geometries (for
example self-intersecting polygons) are refused with the reason.
| Name | Required | Description | Default |
|---|---|---|---|
| geometry_a | Yes | A GeoJSON geometry, e.g. {"type": "Point", "coordinates": [lon, lat]} | |
| geometry_b | Yes | A GeoJSON geometry, e.g. {"type": "Point", "coordinates": [lon, lat]} | |
| relationship | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| holds | Yes | Whether geometry_a <relationship> geometry_b is true |
| units | No | Unit of each numeric field |
| status | No | |
| warnings | No | Caveats to tell the user |
| provenance | No | Source, licence, attribution, retrieval time and method |
| relationship | Yes |
geocodeGeocode a placeRead-onlyIdempotentInspect
Find coordinates for an address or place name (OpenStreetMap Nominatim).
Check `geospark.warnings` for ambiguous names (e.g. "Springfield") and ask the user
which one they mean, or add a region.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Address or place name |
Output Schema
| Name | Required | Description |
|---|---|---|
| bbox | No | |
| type | No | |
| features | Yes | |
| geospark | No |
get_active_firesActive firesRead-onlyIdempotentInspect
Satellite active-fire detections near a point (NASA FIRMS; the server needs a FIRMS_MAP_KEY).
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| latitude | Yes | Latitude in degrees (WGS84) | |
| longitude | Yes | Longitude in degrees (WGS84) |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | No | |
| units | No | Unit of each numeric field |
| status | No | |
| channel | Yes | |
| features | Yes | Records from the data source |
| warnings | No | Caveats to tell the user |
| provenance | No | Source, licence, attribution, retrieval time and method |
| total_results | No |
get_air_qualityAir qualityRead-onlyIdempotentInspect
Latest PM2.5, NO2, O3 from the nearest monitoring stations (OpenAQ; the server needs an OPENAQ_API_KEY), with each station's data licence.
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | Latitude in degrees (WGS84) | |
| longitude | Yes | Longitude in degrees (WGS84) |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | No | |
| units | No | Unit of each numeric field |
| status | No | |
| channel | Yes | |
| features | Yes | Records from the data source |
| warnings | No | Caveats to tell the user |
| provenance | No | Source, licence, attribution, retrieval time and method |
| total_results | No |
get_elevationElevationRead-onlyIdempotentInspect
Ground elevation in metres (Copernicus GLO-30, Open Elevation fallback), with its vertical datum and accuracy.
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | Latitude in degrees (WGS84) | |
| longitude | Yes | Longitude in degrees (WGS84) |
Output Schema
| Name | Required | Description |
|---|---|---|
| units | No | Unit of each numeric field |
| status | No | |
| quality | No | e.g. vertical_accuracy_le90_m |
| latitude | Yes | |
| warnings | No | Caveats to tell the user |
| longitude | Yes | |
| provenance | No | Source, licence, attribution, retrieval time and method |
| attribution | No | |
| elevation_m | Yes | |
| vertical_datum | No |
get_weatherWeatherRead-onlyIdempotentInspect
Current weather and a daily forecast for a point (Open-Meteo, no key needed).
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | Latitude in degrees (WGS84) | |
| longitude | Yes | Longitude in degrees (WGS84) | |
| forecast_days | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | No | |
| units | No | Unit of each numeric field |
| status | No | |
| channel | Yes | |
| features | Yes | Records from the data source |
| warnings | No | Caveats to tell the user |
| provenance | No | Source, licence, attribution, retrieval time and method |
| total_results | No |
isochroneIsochrone (reachable area)Read-onlyIdempotentInspect
Where can you get to from a point within N minutes on foot, by bike or by car? Returns one polygon per contour with its geodesic area (Valhalla over OpenStreetMap).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | walk | |
| minutes | No | Contour times, 1-60 | |
| latitude | Yes | Latitude in degrees (WGS84) | |
| longitude | Yes | Longitude in degrees (WGS84) |
Output Schema
| Name | Required | Description |
|---|---|---|
| bbox | No | |
| type | No | |
| features | Yes | |
| geospark | No |
location_reportLocation reportRead-onlyIdempotentInspect
A dossier for a place: address, elevation, weather, and nearby amenities with exact distances, as a GeoJSON map layer listing every data source used. Takes ~10-30 s.
| Name | Required | Description | Default |
|---|---|---|---|
| location | Yes | Place to analyse | |
| radius_m | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| bbox | No | |
| type | No | |
| features | Yes | |
| geospark | No |
overture_featuresOverture Maps featuresRead-onlyIdempotentInspect
Open global map data from Overture Maps, no API key: points of interest (with
categories), building footprints (height, floors, geodesic footprint area), road and path
segments (geodesic length), or divisions, the administrative areas containing the point
(country, region, city, neighbourhood). Results are nearest first, with distances in metres.
Can take 5-20 s on a cold cache.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| theme | Yes | ||
| category | No | Places only, e.g. 'cafe' | |
| latitude | Yes | Latitude in degrees (WGS84) | |
| radius_m | No | Search radius in metres | |
| longitude | Yes | Longitude in degrees (WGS84) |
Output Schema
| Name | Required | Description |
|---|---|---|
| bbox | No | |
| type | No | |
| features | Yes | |
| geospark | No |
reverse_geocodeReverse geocodeRead-onlyIdempotentInspect
Find the address or place at a coordinate (OpenStreetMap Nominatim).
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | Latitude in degrees (WGS84) | |
| longitude | Yes | Longitude in degrees (WGS84) |
Output Schema
| Name | Required | Description |
|---|---|---|
| bbox | No | |
| type | No | |
| features | Yes | |
| geospark | No |
routeDriving routeRead-onlyIdempotentInspect
Driving route between two points (OSRM over OpenStreetMap): line geometry, distance in metres and duration in seconds.
| Name | Required | Description | Default |
|---|---|---|---|
| to_latitude | Yes | Latitude in degrees (WGS84) | |
| to_longitude | Yes | Longitude in degrees (WGS84) | |
| from_latitude | Yes | Latitude in degrees (WGS84) | |
| from_longitude | Yes | Longitude in degrees (WGS84) |
Output Schema
| Name | Required | Description |
|---|---|---|
| bbox | No | |
| type | No | |
| features | Yes | |
| geospark | No |
select_siteSite selectionRead-onlyIdempotentInspect
Rank candidate sites in an area by geodesic distance to amenities you want nearby and away from ones to avoid (OpenStreetMap data). Takes ~10-30 s.
| Name | Required | Description | Default |
|---|---|---|---|
| near | No | Amenity types to be close to | |
| avoid | No | Amenity types to stay away from | |
| within | Yes | City or neighbourhood | |
| radius_m | No | ||
| facility_type | No | restaurant |
Output Schema
| Name | Required | Description |
|---|---|---|
| bbox | No | |
| type | No | |
| features | Yes | |
| geospark | No |
spatial_operationGeometry operationRead-onlyIdempotentInspect
Compute a buffer (shape-preserving, metres), geodesic area or length, centroid or convex hull.
Returns the resulting geometry as GeoJSON with its measurements and units.
| Name | Required | Description | Default |
|---|---|---|---|
| geometry | Yes | A GeoJSON geometry, e.g. {"type": "Point", "coordinates": [lon, lat]} | |
| radius_m | No | Buffer radius in metres | |
| operation | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| bbox | No | |
| type | No | |
| features | Yes | |
| geospark | No |
travel_time_matrixTravel-time matrixRead-onlyIdempotentInspect
Network travel time (minutes) and distance (metres) from each origin to each destination. Note: points here are [latitude, longitude] pairs.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | walk | |
| origins | Yes | [[lat, lon], ...] | |
| destinations | Yes | [[lat, lon], ...] |
Output Schema
| Name | Required | Description |
|---|---|---|
| bbox | No | |
| type | No | |
| features | Yes | |
| geospark | No |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
15 tool updates
- First observed
calculate_distance - First observed
check_spatial_relationship - First observed
geocode - First observed
get_active_fires - First observed
get_air_quality - First observed
get_elevation - First observed
get_weather - First observed
isochrone - First observed
location_report - First observed
overture_features - First observed
reverse_geocode - First observed
route - First observed
select_site - First observed
spatial_operation - First observed
travel_time_matrix
Related MCP Connectors
OpenStreetMap queries, maps/styles, search, routing, terrain, analysis, pipelines, and rendering.
Routing, geocoding, places, matrix and map tools for location-aware AI workflows.
- geoOAuthco.thinair
Geocoding, routing, isochrones, traffic, weather, and place search for AI agents. 19 MCP tools.
Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables LLMs to geocode and reverse geocode places, find nearby points of interest, search categories within an area, get turn-by-turn routing, suggest meeting points, and analyze neighborhoods, commutes, schools, EV charging, and parking through OpenStreetMap data services. It also serves place and map tile resources over stdio, SSE, or Streamable HTTP transports.12MIT
- AlicenseAqualityDmaintenanceGeospatial API tools for AI agents — geocoding, reverse geocoding, routing, isochrone, distance matrix, static maps, H3 hexagons, elevation, GPS map-matching, point-in-polygon, address normalisation, timezone lookup, and batch geocoding. Built on OpenStreetMap infrastructure. Cost-effective alternative to Google Maps API.1813 npmMIT
- AlicenseAqualityDmaintenanceQuery Overture Maps data — places (POIs), buildings, and administrative divisions — from MCP-compatible LLMs with token-efficient summaries.58 npmMIT

MapSmithofficial
AlicenseAqualityAmaintenanceEnables AI agents to perform professional-grade geoprocessing tasks such as buffers, overlays, reprojections, and terrain analysis with deterministic tools and verifiable provenance.28102 PyPI2AGPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.