GeoSpark
REMOTE · GEOSPARK.TERRASCOUT.APP
Verifiable geospatial tools: distances, topology, isochrones, Overture Maps, with sources.
Available components
Last scanned (2 hours ago)
Scores higher than 64% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Maps and Location
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security74
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability64
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2841 tokens (~135/item across 21 items; 21 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management43
- Stability observed for 13 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage95
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 84% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 21 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 22 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 25 Oct 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: 2149 → 2841 ▼ functional
- Tool coverage: 79% → 84% ▲ functional
- Server version: 0.9.0 → 0.10.0 functional
- New tool “line_of_sight” functional
- New tool “sun_position” functional
- New tool “sun_times” functional
- New tool “terrain_horizon” functional
- 24 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: 109 → 126 ▼ functional
- Stability: unverified → 0.03 ▲ functional
- Server version: 0.8.0 → 0.9.0 functional
- New tool “convert_height” functional
- New tool “transform_coordinates” functional
- 23 Oct 26 69
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://geospark.terrascout.app/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=terrascout.app | CN=YE2,O=Let's Encrypt,C=US | 4 Nov 2026 | 2 Feb 2027 | ECDSA 256 | ECDSA-SHA384 | 6e6ebdf3c4afd776eb0dfa929259cf5db4c |
| SANs: *.terrascout.app, terrascout.app | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of geospark.terrascout.app. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| terrascout.app. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://geospark.terrascout.app/mcp | Verified | 200 | |
| http (plaintext) | http://geospark.terrascout.app/mcp | HTTPS enforced | 301 | https://geospark.terrascout.app/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
calculate_distance Geodesic distance ~238
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 | Type | Req | Description |
|---|---|---|---|
| place_a | – | – | A place NAME, e.g. 'Adelaide Oval'; geocoded on the server (preferred) |
| place_b | – | – | A place NAME, e.g. 'Adelaide Oval'; geocoded on the server (preferred) |
| point_a | – | – | A GeoJSON geometry, e.g. {"type": "Point", "coordinates": [lon, lat]}; only for coordinates the user gave or a tool returned |
| point_b | – | – | A GeoJSON geometry, e.g. {"type": "Point", "coordinates": [lon, lat]}; only for coordinates the user gave or a tool returned |
| Name | Type | Req | Description |
|---|---|---|---|
| distance_km | number | yes | – |
| distance_m | number | yes | Geodesic distance in metres (WGS84 ellipsoid) |
| places | array | – | Named places as geocoded on the server: query, display_name, coordinates [lon, lat] |
| provenance | array | – | Source, licence, attribution, retrieval time and method |
| status | string | – | – |
| units | object | – | Unit of each numeric field |
| warnings | array | – | Caveats to tell the user |
No examples provided.
check_spatial_relationship Topological relationship ~121
Ground-truth topology: does geometry_a <relationship> geometry_b? Use instead of guessing containment, overlap or adjacency. Invalid geometries (for example self-intersecting polygons) are refused with the reason.
| Name | Type | Req | Description |
|---|---|---|---|
| geometry_a | object | yes | A GeoJSON geometry, e.g. {"type": "Point", "coordinates": [lon, lat]} |
| geometry_b | object | yes | A GeoJSON geometry, e.g. {"type": "Point", "coordinates": [lon, lat]} |
| relationship | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| holds | boolean | yes | Whether geometry_a <relationship> geometry_b is true |
| provenance | array | – | Source, licence, attribution, retrieval time and method |
| relationship | string | yes | – |
| status | string | – | – |
| units | object | – | Unit of each numeric field |
| warnings | array | – | Caveats to tell the user |
No examples provided.
convert_height Convert height (geoid models) ~213
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.
| Name | Type | Req | Description |
|---|---|---|---|
| from_reference | string | yes | 'ellipsoidal', AHD, ODN, NZVD2016, NAVD88 or EGM2008 |
| height_m | number | yes | The height to convert, in metres |
| latitude | number | yes | Latitude in degrees (WGS84) |
| longitude | number | yes | Longitude in degrees (WGS84) |
| to_reference | string | yes | 'ellipsoidal', AHD, ODN, NZVD2016, NAVD88 or EGM2008 |
| Name | Type | Req | Description |
|---|---|---|---|
| accuracy_m | – | yes | – |
| from_reference | string | yes | – |
| geoid_model | string | yes | – |
| grids | array | – | – |
| height_m | number | yes | – |
| method | string | yes | – |
| provenance | array | – | Source, licence, attribution, retrieval time and method |
| separation_m | number | yes | Ellipsoidal height minus the datum height at this point |
| status | string | – | – |
| to_reference | string | yes | – |
| units | object | – | Unit of each numeric field |
| warnings | array | – | Caveats to tell the user |
No examples provided.
geocode Geocode a place ~79
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 | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| query | string | yes | Address or place name |
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | – | – | – |
| features | array | yes | – |
| geospark | object | – | – |
| type | string | – | – |
No examples provided.
get_active_fires Active fires ~67
Satellite active-fire detections near a point (NASA FIRMS; the server needs a FIRMS_MAP_KEY).
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| latitude | number | yes | Latitude in degrees (WGS84) |
| longitude | number | yes | Longitude in degrees (WGS84) |
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | yes | – |
| features | array | yes | Records from the data source |
| provenance | array | – | Source, licence, attribution, retrieval time and method |
| query | object | – | – |
| status | string | – | – |
| total_results | integer | – | – |
| units | object | – | Unit of each numeric field |
| warnings | array | – | Caveats to tell the user |
No examples provided.
get_air_quality Air quality ~75
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 | Type | Req | Description |
|---|---|---|---|
| latitude | number | yes | Latitude in degrees (WGS84) |
| longitude | number | yes | Longitude in degrees (WGS84) |
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | yes | – |
| features | array | yes | Records from the data source |
| provenance | array | – | Source, licence, attribution, retrieval time and method |
| query | object | – | – |
| status | string | – | – |
| total_results | integer | – | – |
| units | object | – | Unit of each numeric field |
| warnings | array | – | Caveats to tell the user |
No examples provided.
get_elevation Elevation ~64
Ground elevation in metres (Copernicus GLO-30, Open Elevation fallback), with its vertical datum and accuracy.
| Name | Type | Req | Description |
|---|---|---|---|
| latitude | number | yes | Latitude in degrees (WGS84) |
| longitude | number | yes | Longitude in degrees (WGS84) |
| Name | Type | Req | Description |
|---|---|---|---|
| attribution | – | – | – |
| elevation_m | – | yes | – |
| latitude | number | yes | – |
| longitude | number | yes | – |
| provenance | array | – | Source, licence, attribution, retrieval time and method |
| quality | object | – | e.g. vertical_accuracy_le90_m |
| status | string | – | – |
| units | object | – | Unit of each numeric field |
| vertical_datum | – | – | – |
| warnings | array | – | Caveats to tell the user |
No examples provided.
get_weather Weather ~63
Current weather and a daily forecast for a point (Open-Meteo, no key needed).
| Name | Type | Req | Description |
|---|---|---|---|
| forecast_days | integer | – | – |
| latitude | number | yes | Latitude in degrees (WGS84) |
| longitude | number | yes | Longitude in degrees (WGS84) |
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | yes | – |
| features | array | yes | Records from the data source |
| provenance | array | – | Source, licence, attribution, retrieval time and method |
| query | object | – | – |
| status | string | – | – |
| total_results | integer | – | – |
| units | object | – | Unit of each numeric field |
| warnings | array | – | Caveats to tell the user |
No examples provided.
isochrone Isochrone (reachable area) ~100
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 | Type | Req | Description |
|---|---|---|---|
| latitude | number | yes | Latitude in degrees (WGS84) |
| longitude | number | yes | Longitude in degrees (WGS84) |
| minutes | array | – | Contour times, 1-60 |
| mode | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | – | – | – |
| features | array | yes | – |
| geospark | object | – | – |
| type | string | – | – |
No examples provided.
line_of_sight Line of sight ~183
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).
| Name | Type | Req | Description |
|---|---|---|---|
| frequency_mhz | – | – | For a radio link: report first Fresnel zone clearance |
| height_a_m | number | – | Height above ground at A (e.g. a mast) |
| height_b_m | number | – | Height above ground at B |
| lat_a | number | yes | Latitude in degrees (WGS84) |
| lat_b | number | yes | Latitude in degrees (WGS84) |
| lon_a | number | yes | Longitude in degrees (WGS84) |
| lon_b | number | yes | Longitude in degrees (WGS84) |
| Name | Type | Req | Description |
|---|---|---|---|
| bearing_deg | number | yes | – |
| distance_m | number | yes | – |
| fresnel | – | – | – |
| method | string | yes | – |
| min_clearance_at | object | yes | – |
| min_clearance_m | number | yes | Smallest gap between the sight line and the terrain; negative = blocked |
| provenance | array | – | Source, licence, attribution, retrieval time and method |
| status | string | – | – |
| units | object | – | Unit of each numeric field |
| visible | boolean | yes | – |
| warnings | array | – | Caveats to tell the user |
No examples provided.
location_report Location report ~66
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 | Type | Req | Description |
|---|---|---|---|
| location | string | yes | Place to analyse |
| radius_m | number | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | – | – | – |
| features | array | yes | – |
| geospark | object | – | – |
| type | string | – | – |
No examples provided.
overture_features Overture Maps features ~167
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 | Type | Req | Description |
|---|---|---|---|
| category | – | – | Places only, e.g. 'cafe' |
| latitude | number | yes | Latitude in degrees (WGS84) |
| limit | – | – | – |
| longitude | number | yes | Longitude in degrees (WGS84) |
| radius_m | number | – | Search radius in metres |
| theme | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | – | – | – |
| features | array | yes | – |
| geospark | object | – | – |
| type | string | – | – |
No examples provided.
reverse_geocode Reverse geocode ~53
Find the address or place at a coordinate (OpenStreetMap Nominatim).
| Name | Type | Req | Description |
|---|---|---|---|
| latitude | number | yes | Latitude in degrees (WGS84) |
| longitude | number | yes | Longitude in degrees (WGS84) |
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | – | – | – |
| features | array | yes | – |
| geospark | object | – | – |
| type | string | – | – |
No examples provided.
route Driving route ~97
Driving route between two points (OSRM over OpenStreetMap): line geometry, distance in metres and duration in seconds.
| Name | Type | Req | Description |
|---|---|---|---|
| from_latitude | number | yes | Latitude in degrees (WGS84) |
| from_longitude | number | yes | Longitude in degrees (WGS84) |
| to_latitude | number | yes | Latitude in degrees (WGS84) |
| to_longitude | number | yes | Longitude in degrees (WGS84) |
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | – | – | – |
| features | array | yes | – |
| geospark | object | – | – |
| type | string | – | – |
No examples provided.
select_site Site selection ~99
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 | Type | Req | Description |
|---|---|---|---|
| avoid | array | – | Amenity types to stay away from |
| facility_type | string | – | – |
| near | array | – | Amenity types to be close to |
| radius_m | number | – | – |
| within | string | yes | City or neighbourhood |
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | – | – | – |
| features | array | yes | – |
| geospark | object | – | – |
| type | string | – | – |
No examples provided.
spatial_operation Geometry operation ~90
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 | Type | Req | Description |
|---|---|---|---|
| geometry | object | yes | A GeoJSON geometry, e.g. {"type": "Point", "coordinates": [lon, lat]} |
| operation | string | yes | – |
| radius_m | – | – | Buffer radius in metres |
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | – | – | – |
| features | array | yes | – |
| geospark | object | – | – |
| type | string | – | – |
No examples provided.
sun_position Sun position and shadow ~152
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).
| Name | Type | Req | Description |
|---|---|---|---|
| latitude | number | yes | Latitude in degrees (WGS84) |
| longitude | number | yes | Longitude in degrees (WGS84) |
| object_height_m | – | – | Height of a vertical object, for its shadow |
| time | string | yes | ISO 8601, with a UTC offset (2026-12-21T12:00:00+11:00) or local with tz |
| tz | – | – | IANA time zone for a local time, e.g. Australia/Melbourne |
| Name | Type | Req | Description |
|---|---|---|---|
| above_horizon | boolean | yes | – |
| azimuth_deg | number | yes | Clockwise from true north |
| declination_deg | number | yes | – |
| elevation_deg | number | yes | Apparent elevation above a flat horizon, refraction included |
| equation_of_time_min | number | yes | – |
| method | string | yes | – |
| provenance | array | – | Source, licence, attribution, retrieval time and method |
| shadow_direction_deg | – | – | Direction the shadow points, from true north |
| shadow_length_m | – | – | On level ground, for object_height_m |
| status | string | – | – |
| time | string | yes | – |
| units | object | – | Unit of each numeric field |
| warnings | array | – | Caveats to tell the user |
No examples provided.
sun_times Sunrise, sunset and hours of sun ~131
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.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | yes | Local date, YYYY-MM-DD |
| latitude | number | yes | Latitude in degrees (WGS84) |
| longitude | number | yes | Longitude in degrees (WGS84) |
| terrain | boolean | – | Also count hours of direct sun above the terrain horizon (reads the DEM; ~10-60 s) |
| tz | – | – | IANA time zone, e.g. Australia/Melbourne; default UTC |
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | yes | – |
| day_length_h | number | yes | – |
| first_direct_sun | – | – | – |
| last_direct_sun | – | – | – |
| method | string | yes | – |
| provenance | array | – | Source, licence, attribution, retrieval time and method |
| solar_noon | string | yes | – |
| solar_noon_elevation_deg | number | yes | – |
| status | string | – | – |
| sunrise | – | yes | – |
| sunset | – | yes | – |
| terrain_hours | – | – | Hours of direct sun above the terrain horizon |
| time_zone | string | yes | – |
| units | object | – | Unit of each numeric field |
| warnings | array | – | Caveats to tell the user |
No examples provided.
terrain_horizon Terrain horizon ~144
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.
| Name | Type | Req | Description |
|---|---|---|---|
| latitude | number | yes | Latitude in degrees (WGS84) |
| longitude | number | yes | Longitude in degrees (WGS84) |
| max_distance_m | number | – | – |
| observer_height_m | number | – | Eye or sensor height above ground |
| step_deg | number | – | Azimuth spacing; must divide 360 |
| Name | Type | Req | Description |
|---|---|---|---|
| azimuths_deg | array | yes | – |
| ground_elevation_m | number | yes | – |
| highest | object | yes | – |
| horizon_elevation_deg | array | yes | Skyline elevation angle at each azimuth |
| latitude | number | yes | – |
| longitude | number | yes | – |
| max_distance_m | number | yes | – |
| method | string | yes | – |
| observer_height_m | number | yes | – |
| obstruction_distance_m | array | yes | – |
| provenance | array | – | Source, licence, attribution, retrieval time and method |
| status | string | – | – |
| units | object | – | Unit of each numeric field |
| warnings | array | – | Caveats to tell the user |
No examples provided.
transform_coordinates Transform coordinates (official datums) ~224
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.
| Name | Type | Req | Description |
|---|---|---|---|
| coordinates | array | yes | [x, y] or [x, y, z]: [lon, lat] or [easting, northing] |
| epoch | – | – | Decimal year, for ITRF/ATRF frames |
| source_crs | string | yes | CRS name or EPSG code, e.g. 'GDA94 / MGA zone 55' or EPSG:28355 |
| target_crs | string | yes | CRS name or EPSG code, e.g. 'GDA2020 / MGA zone 55' or EPSG:7855 |
| Name | Type | Req | Description |
|---|---|---|---|
| accuracy_m | – | yes | The operation's stated accuracy; null for an exact conversion |
| area_of_use | – | – | – |
| coordinates | array | yes | Transformed points, in the target CRS's x/y(/z) order |
| grids | array | – | Official grid files the operation used |
| method | string | yes | The EPSG operation used |
| provenance | array | – | Source, licence, attribution, retrieval time and method |
| source_crs | string | yes | – |
| status | string | – | – |
| target_crs | string | yes | – |
| units | object | – | Unit of each numeric field |
| warnings | array | – | Caveats to tell the user |
No examples provided.
travel_time_matrix Travel-time matrix ~74
Network travel time (minutes) and distance (metres) from each origin to each destination. Note: points here are [latitude, longitude] pairs.
| Name | Type | Req | Description |
|---|---|---|---|
| destinations | array | yes | [[lat, lon], ...] |
| mode | string | – | – |
| origins | array | yes | [[lat, lon], ...] |
| Name | Type | Req | Description |
|---|---|---|---|
| bbox | – | – | – |
| features | array | yes | – |
| geospark | object | – | – |
| type | string | – | – |
No examples provided.
How do I install the GeoSpark MCP server?
GeoSpark is a hosted endpoint at https://geospark.terrascout.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · geospark.terrascout.app
claude mcp add --transport http maz2580-geospark 'https://geospark.terrascout.app/mcp'
What is the GeoSpark MCP server?
GeoSpark is an MCP server listed in the public MCP registry as io.github.Maz2580/geospark. Verifiable geospatial tools: distances, topology, isochrones, Overture Maps, with sources. This page covers its hosted endpoint (https://geospark.terrascout.app/mcp).
Is the GeoSpark MCP server safe to use?
GeoSpark scores 75 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the GeoSpark MCP server expose?
GeoSpark exposes 21 tools: calculate_distance, check_spatial_relationship, spatial_operation, geocode, reverse_geocode, and 16 more. Their descriptions and schemas cost roughly 2,500 tokens of context every time the server is loaded.
Does the GeoSpark MCP server require authentication?
No. We connected to GeoSpark without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the GeoSpark MCP server still maintained?
GeoSpark is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.