Skip to main content
Glama

Server Details

Verifiable geospatial tools: distances, topology, isochrones, Overture Maps, with sources.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Maz2580/geospark
GitHub Stars
20
Server Listing
geospark
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 21 tools

Disambiguation4/5

Most tools target a distinct resource or operation, and the descriptions actively disambiguate the risky pairs (calculate_distance for geodesic vs route/travel_time_matrix for network distance; geocode vs reverse_geocode; get_elevation vs convert_height). Some residual overlap remains in the place-insight cluster — location_report, overture_features and select_site all surface nearby amenities/distances — and terrain_horizon vs line_of_sight are close cousins, but the descriptions give enough signal to choose.

Naming Consistency4/5

Names are uniformly snake_case and mostly verb_noun (calculate_distance, get_elevation, transform_coordinates, check_spatial_relationship). A minority are bare nouns with no verb (geocode, isochrone, route, sun_times, terrain_horizon, overture_features), which is a minor convention break but still readable and unambiguous.

Tool Count3/5

21 tools is on the heavy side; while the geospatial domain is genuinely broad (geodesy, routing, weather, solar, POI, imagery), each tool is a distinct capability, so no tool is clearly redundant. It sits at the upper edge where an agent must scan many similar-sounding options before committing.

Completeness4/5

Coverage is unusually broad: geocoding both ways, geodesic and network measurement, topology predicates, geometric operations, elevation, datum/CRS transformation, geoid heights, weather/air quality/fires, and solar analysis. Gaps are minor — no polygon overlay ops (clip/intersection/union), no multi-waypoint routing, and analysis results are GeoJSON-only with no map rendering — but all core workflows are reachable.

Available Tools

21 tools
calculate_distanceGeodesic distanceA
Read-onlyIdempotent
Inspect

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.
    

Inputs: place_a, place_b, point_a, point_b. Returns: units, places, status, warnings, +3 more

check_spatial_relationshipTopological relationshipA
Read-onlyIdempotent
Inspect

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.
    

Inputs: geometry_a (required), geometry_b (required), relationship (required). Returns: holds, units, status, warnings, +2 more

convert_heightConvert height (geoid models)A
Read-onlyIdempotent
Inspect

Convert a height between the ellipsoid (GNSS, drones) and a national height datum with the official geoid model: AHD (AUSGeoid2020), ODN (OSGM15), NZVD2016 (NZGeoid2016), NAVD88 (GEOID18), or global EGM2008. Never estimate a geoid separation from memory: it is often tens of metres and varies by metres across a region.

Inputs: height_m (required), latitude (required), longitude (required), to_reference (required), +1 more. Returns: grids, units, method, status, +8 more

geocodeGeocode a placeA
Read-onlyIdempotent
Inspect

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.
    

Inputs: query (required), limit. Returns: An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings…

get_active_firesActive firesA
Read-onlyIdempotent
Inspect

Satellite active-fire detections near a point (NASA FIRMS; the server needs a FIRMS_MAP_KEY).

Inputs: latitude (required), longitude (required), days. Returns: query, units, status, channel, +4 more

get_air_qualityAir qualityA
Read-onlyIdempotent
Inspect

Latest PM2.5, NO2, O3 from the nearest monitoring stations (OpenAQ; the server needs an OPENAQ_API_KEY), with each station's data licence.

Inputs: latitude (required), longitude (required). Returns: query, units, status, channel, +4 more

get_elevationElevationA
Read-onlyIdempotent
Inspect

Ground elevation in metres (Copernicus GLO-30, Open Elevation fallback), with its vertical datum and accuracy.

Inputs: latitude (required), longitude (required). Returns: units, status, quality, latitude, +6 more

get_weatherWeatherA
Read-onlyIdempotent
Inspect

Current weather and a daily forecast for a point (Open-Meteo, no key needed).

Inputs: latitude (required), longitude (required), forecast_days. Returns: query, units, status, channel, +4 more

isochroneIsochrone (reachable area)B
Read-onlyIdempotent
Inspect

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).

Inputs: latitude (required), longitude (required), mode, minutes. Returns: An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings…

line_of_sightLine of sightA
Read-onlyIdempotent
Inspect

Whether A and B can see each other over the terrain (Copernicus 30 m DEM, curvature and refraction), the minimum clearance and where it occurs; with frequency_mhz, the first Fresnel zone clearance of a radio link (60% clear is the usual rule).

Inputs: lat_a (required), lat_b (required), lon_a (required), lon_b (required), +3 more. Returns: units, method, status, fresnel, +7 more

location_reportLocation reportA
Read-onlyIdempotent
Inspect

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.

Inputs: location (required), radius_m. Returns: An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings…

overture_featuresOverture Maps featuresA
Read-onlyIdempotent
Inspect

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.

Inputs: theme (required), latitude (required), longitude (required), limit, +2 more. Returns: An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings…

reverse_geocodeReverse geocodeA
Read-onlyIdempotent
Inspect

Find the address or place at a coordinate (OpenStreetMap Nominatim).

Inputs: latitude (required), longitude (required). Returns: An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings…

routeDriving routeA
Read-onlyIdempotent
Inspect

Driving route between two points (OSRM over OpenStreetMap): line geometry, distance in metres and duration in seconds.

Inputs: to_latitude (required), to_longitude (required), from_latitude (required), from_longitude (required). Returns: An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings…

select_siteSite selectionA
Read-onlyIdempotent
Inspect

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.

Inputs: within (required), near, avoid, radius_m, +1 more. Returns: An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings…

spatial_operationGeometry operationA
Read-onlyIdempotent
Inspect

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.

Inputs: geometry (required), operation (required), radius_m. Returns: An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings…

sun_positionSun position and shadowA
Read-onlyIdempotent
Inspect

The Sun's apparent elevation and azimuth (from true north) at a place and time, and the shadow a vertical object casts on level ground (NOAA solar position, refraction included).

Inputs: time (required), latitude (required), longitude (required), tz, +1 more. Returns: time, units, method, status, +9 more

sun_timesSunrise, sunset and hours of sunA
Read-onlyIdempotent
Inspect

Sunrise, solar noon, sunset and day length on a date for a flat horizon; with terrain=True, also the hours of direct sun once hills are taken into account.

Inputs: date (required), latitude (required), longitude (required), tz, +1 more. Returns: date, units, method, status, +11 more

terrain_horizonTerrain horizonA
Read-onlyIdempotent
Inspect

The skyline the terrain makes around a point: for each azimuth, the elevation angle of the horizon and how far away the blocking terrain is (Copernicus 30 m DEM, Earth curvature and refraction). Use for solar-panel shading, valley sunlight, or what hills hide. ~10-60 s.

Inputs: latitude (required), longitude (required), step_deg, max_distance_m, +1 more. Returns: units, method, status, highest, +10 more

transform_coordinatesTransform coordinates (official datums)A
Read-onlyIdempotent
Inspect

Convert coordinates between CRSs as the official transformation does: GDA94 to GDA2020, MGA zones, British National Grid (OSTN15), NAD27 to NAD83 (NADCON), ITRF at an epoch, and any other EPSG pair. Uses national grids (downloaded once), refuses PROJ's ballpark approximations, and returns the operation and its stated accuracy. Use this instead of applying datum parameters yourself.

Inputs: source_crs (required), target_crs (required), coordinates (required), epoch. Returns: grids, units, method, status, +7 more

travel_time_matrixTravel-time matrixA
Read-onlyIdempotent
Inspect

Network travel time (minutes) and distance (metres) from each origin to each destination. Note: points here are [latitude, longitude] pairs.

Inputs: origins (required), destinations (required), mode. Returns: An RFC 7946 GeoJSON FeatureCollection; `geospark` holds status, units, warnings…

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Enables 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.
      12
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Geospatial 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.
      18
      34 npm
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.