Geospatial MCP Servers
A curated, tracked list of Model Context Protocol (MCP) servers for geospatial, GIS, mapping, and earth-observation work — geocoding, routing, PostGIS, STAC/imagery, QGIS/ArcGIS, weather, and the commercial location platforms.
The tables below are generated from servers.yaml — the single source of truth.
Add a server
- Quick: open a New server issue.
- Direct: add an entry to
servers.yamland regenerate — see CONTRIBUTING.md.
bash
python3 -m venv .venv && ./.venv/bin/pip install -r requirements.txt # first time
./.venv/bin/python scripts/generate_readme.py # regenerate tables
Legend — Type is
official(published by the platform/data vendor) orcommunity(independent). Health comes fromhealth.json, refreshed bypython scripts/check_health.py: 🟢 active (repo pushed within 12 months) · 🟡 stale (real but dormant) · ⚪ hosted (a hosted service, no repo activity signal) · ⏳ pending (early access / not generally available yet — on the health-check watchlist) · 🔴 archived/dead. Access is how the underlying service can be used: 🟩 open (open-source on free/open data) · 🟨 free (free, not open source) · 🟦 commercial (a commercial product with a usable free tier) · 🟥 paywalled (no free tier — payment required). A few entries carry anote:inservers.yamlflagging a URL still to be confirmed.
Use it as a Claude skill
This repo ships a Claude Code skill in skill/ that searches/recommends servers from the catalog and adds new ones. Install it by symlinking into your skills directory (the skill resolves the repo location from this symlink — no hard-coded paths):
git clone https://github.com/sparkgeo/geo-mcp-servers.git
ln -sfn "$(pwd)/geo-mcp-servers/skill" ~/.claude/skills/geo-mcp-servers
Then ask Claude things like "is there an MCP server for STAC imagery?" or "track this new geo MCP server: ".
96 servers tracked across 11 categories.
Health checked 2026-10-05 (active = repo pushed within 12 months): 🟢 active 60 · 🟡 stale 17 · ⚪ hosted 17 · ⏳ pending 2.
Access: 🟩 open 44 · 🟨 free 3 · 🟦 commercial 43 · 🟥 paywalled 6.
Categories
- Geocoding & place search (15)
- Routing, isochrones & navigation (2)
- Maps, tiles & commercial platforms (17)
- Spatial databases & analytics (3)
- Remote sensing, STAC & earth observation (16)
- Weather & climate (12)
- Desktop & enterprise GIS (QGIS, ArcGIS) (9)
- General GIS / geoprocessing toolkits (6)
- Geospatial data access & catalogs (4)
- Aviation & maritime tracking (ADS-B, AIS) (5)
- Other (IP geolocation, misc) (7)
Geocoding & place search
| Server | Description | Lang | By | Type | Access | Health |
|---|---|---|---|---|---|---|
| Geoapify MCP Server | Geoapify geocoding, reverse geocoding, places, routing, isolines & travel-time | Python | OriShmila | community | 🟦 commercial | 🟡 stale |
| geocode-mcp | Lat/long for places via free Nominatim, no API key | Python | X-McKay | community | 🟩 open | 🟡 stale |
| HERE Maps MCP Server | HERE Platform geocoding, reverse geocoding, routing, places search & traffic | TypeScript | limingchina | community | 🟦 commercial | 🟡 stale |
| MCP-Geo | Geocoding MCP built on GeoPy — multi-provider (Nominatim, ArcGIS, Bing) | Python | webcoderz | community | 🟩 open | 🟡 stale |
| mcp-nominatim | Geocoding / reverse geocoding via OSM Nominatim | Python | pipeworx-io | community | 🟩 open | 🟢 active |
| open-streetmap-mcp | OSM location services — geocode/reverse, POI, directions, meeting points, neighborhood analysis | Python | Jagan Shanmugam | community | 🟩 open | 🟡 stale |
| OpenCage Geocoding MCP | Forward/reverse geocoding via the OpenCage API, plus API-status/quota checks | TypeScript | OpenCage | official | 🟦 commercial | 🟢 active |
| openstreetmap-mcp-server | Geocode, reverse geocode, and Overpass spatial queries (STDIO or Streamable HTTP) | TypeScript | cyanheads | community | 🟩 open | 🟢 active |
| OSM-GeoJSON-MCP-Server | Fetches OSM data as GeoJSON via Overpass | JavaScript | shimizu | community | 🟩 open | 🟢 active |
| osmmcp | OSM geospatial tools — geocoding, routing, nearby places, neighborhood analysis, EV charging | Go | NERV Systems | community | 🟩 open | 🟢 active |
| PlaceRoot | Overture Maps places, geocoding, admin boundaries, buildings & isochrones via DuckDB (no ETL, no API key); token-budgeted responses with GERS ids | Python | chuofringer | community | 🟩 open | 🟢 active |
| Smarty MCP Server | 20 tools for US/international address verification, ZIP lookup, reverse geocoding & property/census enrichment | — | Smarty | official | 🟦 commercial | ⚪ hosted |
| what3words MCP | Convert 3-word addresses to lat/long + bounding box | — | Pipeworx (uses what3words API) | community | 🟦 commercial | 🟢 active |
| Wheremind | Hosted remote MCP for live place search, place details, nearby search, geocoding & turn-by-turn directions for Claude, ChatGPT, Cursor and Claude Code — no Maps API key to manage | — | Wheremind | community | 🟦 commercial | ⏳ pending |
| Zephr Places Grounding MCP | Places grounding for local AI — nearest-place search, rich place details & walking navigation (find_nearest_to_me, get_place_details, navigate_to_place) | — | Zephr | official | 🟦 commercial | ⚪ hosted |
Routing, isochrones & navigation
| Server | Description | Lang | By | Type | Access | Health |
|---|---|---|---|---|---|---|
| OSRM MCP | Routing, distances & travel times via OSRM, with map-matching & trip optimization | TypeScript | Pipeworx (uses OSRM) | community | 🟩 open | 🟢 active |
| valhalla-mcp | Valhalla OSM routing engine — routing, isochrones, tiles, matrix | TypeScript | Atakan Salar | community | 🟩 open | 🟡 stale |
Maps, tiles & commercial platforms
| Server | Description | Lang | By | Type | Access | Health |
|---|---|---|---|---|---|---|
| ArcGIS Location Services MCP (beta) | Official Esri MCP exposing ArcGIS Location Platform services — geocoding, routing, static maps | — | Esri | official | 🟦 commercial | ⚪ hosted |
| ArcGIS Location Services MCP (community) | Community wrapper over the Esri ArcGIS Location Platform — geocoding, routing, places | — | lwsinclair | community | 🟦 commercial | 🟡 stale |
| baidu-maps/mcp | Official Baidu Map — geocoding, POI, route planning, weather, IP location, traffic (China) | Python / TypeScript | Baidu | official | 🟦 commercial | 🟡 stale |
| CARTO MCP Server | Remote MCP over CARTO — explore data, render Builder maps inline, run saved spatial Workflows on your cloud warehouse | — | CARTO | official | 🟦 commercial | ⚪ hosted |
| Cesium AI Integrations | Official Cesium MCP servers & agent skills connecting the Cesium 3D geospatial ecosystem (CesiumJS, 3D Tiles) to AI assistants | TypeScript | Cesium (CesiumGS) | official | 🟦 commercial | 🟢 active |
| Felt MCP Server | Remote MCP — create maps, query warehouse, run spatial SQL, style layers, publish live URLs | — | Felt | official | 🟦 commercial | ⚪ hosted |
| foursquare-places-mcp | Official Foursquare Places API v3 — venue search, place details, location context | TypeScript | Foursquare | official | 🟦 commercial | 🟡 stale |
| GIS Cloud MCP Server | Remote read & write MCP for the GIS Cloud platform — 55 tools covering maps, layers, features, spatial queries, forms, tables, file import & map rendering, with OAuth 2.1 sign-in and two-phase confirmation for destructive tools | — | GIS Cloud | official | 🟦 commercial | ⚪ hosted |
| Google Maps MCP (reference) | Reference server — geocoding, places, directions, distance matrix, elevation (now archived) | TypeScript | Anthropic / MCP project | community | 🟦 commercial | 🟢 active |
| google-maps-mcp-server | STDIO server on the new Google Places (New) + Routes APIs | TypeScript | david-pivonka | community | 🟦 commercial | 🟢 active |
| google-maps-places-mcp | Google Places search + photos | TypeScript | domdomegg | community | 🟦 commercial | 🟢 active |
| Mapbox MCP Server | Official Mapbox web services — geocoding, POI search, multimodal routing, matrix, isochrones, static maps | TypeScript | Mapbox | official | 🟦 commercial | 🟢 active |
| MapTiler MCP | MapTiler geocoding, elevation and mapping APIs as MCP tools | — | Pipeworx (uses MapTiler API) | community | 🟦 commercial | 🟢 active |
| mcp-google-map | Google Places (New), Routes, geocoding, distance matrix | TypeScript | cablate | community | 🟦 commercial | 🟢 active |
| Stadia Maps MCP Server | Official Stadia Maps APIs - geocoding, search, routing, isochrones, map tiles, time zone lookup | TypeScript | Stadia Maps | official | 🟦 commercial | 🟡 stale |
| TomTom Maps MCP Server | Official TomTom location services — search, geocoding, routing, traffic | TypeScript | TomTom | official | 🟦 commercial | 🟢 active |
| TomTom Traffic Analytics MCP | TomTom MOVE traffic analytics — past, present & predicted traffic | — | TomTom | official | 🟦 commercial | 🟢 active |
Spatial databases & analytics
| Server | Description | Lang | By | Type | Access | Health |
|---|---|---|---|---|---|---|
| Overture Maps MCP Server | Query Overture Maps GeoParquet directly from S3 via DuckDB spatial — buildings, place density, land-use analytics | Python | srivinod1 | community | 🟩 open | 🟢 active |
| postgis-mcp | PostGIS database connection over MCP — multi-connection via env vars | Node.js | receptopalak | community | 🟩 open | 🟢 active |
| Wherobots MCP Server | Direct access to WherobotsDB (Apache Sedona) — design & run spatial SQL over S3 & Unity Catalog data | Python | Wherobots | official | 🟦 commercial | ⚪ hosted |
Remote sensing, STAC & earth observation
| Server | Description | Lang | By | Type | Access | Health |
|---|---|---|---|---|---|---|
| Arraylake MCP Server | Browse Arraylake repos, inspect schemas, run OGC EDR queries & render maps over Zarr/Icechunk scientific arrays | — | Earthmover | official | 🟦 commercial | ⚪ hosted |
| Axion-MCP | Earth Engine analysis platform for Claude Desktop — NDVI/NDWI, classification, maps | TypeScript | Dhenenjay | community | 🟦 commercial | 🟢 active |
| copernicus-mcp | Access ESA Copernicus OData API — search/download Sentinel-1/2/3/5P/6 imagery | Python | wb1016 | community | 🟩 open | 🟢 active |
| earthdata-mcp | LLM access to NASA Common Metadata Repository — discover/verify/access Earth science datasets | Python | NASA | official | 🟩 open | 🟢 active |
| google-earth-engine-mcp | Query Google Earth Engine with natural language — fetch datasets, run tasks, visualize in chat | TypeScript | cameronking4 | community | 🟦 commercial | 🟡 stale |
| LGND Developer MCP | Search Earth-embedding collections by text, image chip or coordinates, run inference to create new collections, and inspect chip/cell metadata | — | LGND AI | official | 🟦 commercial | 🟢 active |
| LGND Geo | Hosted MCP for Earth questions over satellite/aerial imagery — find similar locations, analyze change over time, build land-cover classifiers & verify imagery claims (Sentinel-2 + US NAIP) | — | LGND AI | official | 🟨 free | ⚪ hosted |
| Microsoft Planetary Computer Pro MCP Tools | 35+ tools connecting Planetary Computer + Planetary Computer Pro, shipped for VS Code / Copilot | — | Microsoft | official | 🟥 paywalled | ⚪ hosted |
| NASA-MCP-server | Standardized interface to many NASA APIs incl. Earth observations & imagery | TypeScript | ProgramComputer | community | 🟩 open | 🟢 active |
| Planet MCP Server (beta) | Natural-language search/preview/order over the Planet Insights Platform Data API using existing Planet SDK creds | — | Planet Labs | official | 🟥 paywalled | ⚪ hosted |
| planetary-computer-mcp | Query & download satellite imagery from the Microsoft Planetary Computer STAC API | Python | Isaac Corley | community | 🟩 open | 🟢 active |
| SkyFi MCP | Search 150+ satellites from 12+ providers, compare pricing, order archive or tasking imagery in natural language | — | jpwilson (SkyFi platform) | community | 🟦 commercial | 🟢 active |
| stac-mcp | Natural-language search of any STAC-compliant catalog (defaults to Planetary Computer) | Python | BnJam | community | 🟩 open | 🟢 active |
| Tilebox MCP Server | Create and manage geospatial datasets and distributed workflows, with docs search + CLI and Skills for coding agents | Python / Go | Tilebox | official | 🟦 commercial | ⚪ hosted |
| unicef-gee-mcp | Google Earth Engine access/analysis for UNICEF workflows | Python | Tryolabs (for UNICEF) | community | 🟦 commercial | 🟢 active |
| Vexcel MCP | Official Vexcel aerial & oblique imagery, DSM/DTM elevation, roof/solar/pool property metadata & post-disaster damage assessments for AI agents | — | Vexcel | official | 🟥 paywalled | ⚪ hosted |
Weather & climate
| Server | Description | Lang | By | Type | Access | Health |
|---|---|---|---|---|---|---|
| aqicn-mcp | Real-time air quality from the World Air Quality Index (AQICN) by city or coordinates | — | mattmarcin | community | 🟨 free | 🟡 stale |
| dynamical.org Weather & Climate Catalog | Hosted server over dynamical.org's open STAC catalog of cloud-optimized weather & climate archives and forecasts (GFS, HRRR, ECMWF/AIFS) — dataset search & docs, ready-to-run xarray/Zarr/Icechunk snippets, forecast-run freshness | Python | dynamical.org | official | 🟩 open | 🟢 active |
| Government of Canada Weather MCP | 5-day weather forecasts for any location in Canada (by latitude/longitude) via the Government of Canada Weather API | Python | SeanLF | community | 🟩 open | 🟡 stale |
| mcp_weather_server | Weather info via the Open-Meteo API | Python | isdaniel | community | 🟩 open | 🟢 active |
| NOAA Marine MCP Server | NOAA CO-OPS tide stations + NDBC buoys — tide predictions, water levels, tidal currents, live buoy conditions | — | cyanheads | community | 🟩 open | 🟢 active |
| NOAA-TidesAndCurrents-MCP | NOAA Data/Metadata/Derived-Products APIs for tides and currents | TypeScript | RyanCardin15 | community | 🟩 open | 🟢 active |
| nws-mcp-server | Quickstart NWS server — get-alerts + get-forecast from the National Weather Service | TypeScript | nitvob | community | 🟩 open | 🟢 active |
| open-meteo-mcp | Full Open-Meteo API — forecast, ERA5 archive, air quality, marine, seasonal | TypeScript | cmer81 | community | 🟩 open | 🟢 active |
| open-meteo-mcp-server (cyanheads) | Open-Meteo forecasts + geocoding, ERA5 historical climate, marine, air quality & terrain elevation | TypeScript | cyanheads | community | 🟩 open | 🟢 active |
| OpenAQ MCP Server | Global air-quality stations & pollutant observations (PM2.5, PM10, O3, NO2, SO2, CO) via OpenAQ v3, with SQL over history | — | cyanheads | community | 🟩 open | 🟢 active |
| weather-mcp | 17 weather tools — forecasts, alerts, air quality, marine, radar, lightning, rivers, wildfires, history to 1940 (NOAA + Open-Meteo) | Python | weather-mcp | community | 🟩 open | 🟢 active |
| weather-mcp (Fahrenheit) | 12 tools — NWS data, NWP model imagery, NEXRAD radar, 205 meteorological calculations | Python | FahrenheitResearch | community | 🟩 open | 🟢 active |
Desktop & enterprise GIS (QGIS, ArcGIS)
| Server | Description | Lang | By | Type | Access | Health |
|---|---|---|---|---|---|---|
| ArcGISMCP | Integrates ArcGIS Online — search/query geospatial feature layers | Python | GarrickGarcia | community | 🟦 commercial | 🟡 stale |
| esri-mcp | Query & map Esri Living Atlas data, focus on water resources | Python | eKerney | community | 🟦 commercial | 🟡 stale |
| MCP-ArcGISPro | Control and automate ArcGIS Pro from Claude Desktop | Python | geo2004 | community | 🟥 paywalled | 🟢 active |
| MCP-Server-ArcGIS-Pro-AddIn | MCP server delivered as an ArcGIS Pro add-in | C#/.NET | nicogis | community | 🟥 paywalled | 🟢 active |
| qgis-mcp (nkarasiak) | 117 QGIS tools — layer mgmt, feature editing, processing, styling, layout/atlas, cross-layer SQL | Python | nkarasiak | community | 🟩 open | 🟢 active |
| qgis-mcp-1 | Fork connecting QGIS to Claude via MCP | Python | Sir-Adrien-Claudington | community | 🟩 open | 🟢 active |
| QGIS2OllamaMCP | Lets LLMs (via Ollama) drive QGIS Desktop | Python | Anita Graser | community | 🟩 open | 🟢 active |
| qgis_mcp | Links QGIS Desktop to Claude — project setup, layer management, spatial ops via PyQGIS | Python | jjsantos01 | community | 🟩 open | 🟡 stale |
| QgisStreamMCP | Full QGIS Desktop in Docker via noVNC — 1000+ Processing algorithms (Native/GDAL/GRASS/SAGA) | Python | nic01asFr | community | 🟩 open | 🟢 active |
General GIS / geoprocessing toolkits
| Server | Description | Lang | By | Type | Access | Health |
|---|---|---|---|---|---|---|
| fastgeoapi MCP server | Optional integrated MCP server exposing a secured pygeoapi (OGC API) instance's endpoints as LLM tools, auto-generated from its OpenAPI spec | Python | Geobeyond | community | 🟩 open | 🟢 active |
| gdal-mcp | GDAL-style raster/vector workflows (Rasterio, GeoPandas, PyProj) — conversion, reprojection, COG, metadata | Python | JordanGunn / Wayfinder-Foundry | community | 🟩 open | 🟢 active |
| geoserver-mcp | Drives the GeoServer REST API — manage workspaces/layers/styles, CQL spatial queries, WMS/WFS access | Python | mahdin75 | community | 🟩 open | 🟢 active |
| Geospatial Power Pack (Kiro) | 19 modular MCP servers with a Kiro hub power — STAC/vector/geocoding connectors, CRS/geometry/raster/point-cloud/3D processing, H3/S2 indexing, and GeoAI embeddings & similarity search over open data on AWS | Python | AWS | official | 🟩 open | 🟢 active |
| gis-mcp | Connects LLMs to core GIS libraries (Shapely, PyProj, GeoPandas, Rasterio, PySAL) for geometry, projections, raster & spatial stats | Python | mahdin75 | community | 🟩 open | 🟢 active |
| MapSmith | Deterministic GIS geoprocessing for AI agents — buffers, overlays, reprojection, zonal stats, terrain & hydrology (GeoPandas/DuckDB/Whitebox), with a verifiable provenance manifest on every output | Python | mapsmith-ai | community | 🟩 open | 🟢 active |
Geospatial data access & catalogs
| Server | Description | Lang | By | Type | Access | Health |
|---|---|---|---|---|---|---|
| GeoAI Tools | Hosted MCP platform bridging AI agents to ArcGIS Online/Enterprise data — 35 tools: service discovery, AI service guides, geocoding, spatial analysis, feature editing & server-side pipelines | — | GeoAI Tools | official | 🟦 commercial | ⏳ pending |
| GeoLens MCP | Read-only access to a self-hosted GeoLens instance: catalog search, dataset schemas, GeoJSON features, saved maps & sandboxed read-only SQL | Python | GeoLens | official | 🟩 open | 🟢 active |
| geonode-mcp | Search, edit metadata/permissions, upload datasets and transfer ownership on a GeoNode catalogue, every call made as the logged-in user via OAuth2 | Python | Christian Braun | community | 🟩 open | 🟢 active |
| Scigantic MCP | Cross-domain scientific dataset catalog and schema cards (genomics, proteomics, imaging, and a large Earth-observation/geospatial footprint), with per-dataset access snippets for agents | Python | Scigantic | official | 🟨 free | 🟢 active |
Aviation & maritime tracking (ADS-B, AIS)
| Server | Description | Lang | By | Type | Access | Health |
|---|---|---|---|---|---|---|
| ADS-B MCP Server | Exposes a local ADS-B feeder (readsb/tar1090) — aircraft positions, callsigns, altitudes, routes | Python | dirkhh | community | 🟩 open | 🟢 active |
| Flightradar24 API MCP | Official Flightradar24 flight-tracking API access | — | Flightradar24 | official | 🟦 commercial | 🟢 active |
| MarineTraffic MCP Server | Vessel positions/details, search & vessels-in-area via MarineTraffic | — | Cyreslab-AI | community | 🟦 commercial | 🟢 active |
| SignalK MCP Server | Conversational access to live boat/marine sensor data over Signal K | — | Signal K project | community | 🟩 open | ⚪ hosted |
| Vessel Traffic MCP | Read-only vessel identity, AIS-style positions/tracks, port calls & schedules (BYOK maritime providers) | — | tools-mcp | community | 🟦 commercial | 🟢 active |
Other (IP geolocation, misc)
| Server | Description | Lang | By | Type | Access | Health |
|---|---|---|---|---|---|---|
| ATTOM MCP | Premium US real-estate & property data from ATTOM Data Solutions — property details, valuations, ownership & sales history | TypeScript | Pipeworx (uses ATTOM API) | community | 🟥 paywalled | 🟢 active |
| ipgeolocation-io-mcp | Official ipgeolocation.io — IP geolocation, VPN/proxy detection, timezone, astronomy, ASN | — | IPGeolocation.io | official | 🟦 commercial | 🟢 active |
| IPinfo MCP Server | Hosted IPinfo MCP — country/continent (free), city/coords/timezone/postal (detailed) | — | IPinfo | official | 🟦 commercial | ⚪ hosted |
| LandRecords.us MCP Server | Query 160M+ US land parcels by attribute, address, radius, bbox or GeoJSON polygon — ownership, assessed value, land use, acreage & geometry | — | landrecords.us | official | 🟦 commercial | ⚪ hosted |
| mcp-server-ipinfo | IP geolocation via the IPInfo API (location + network details) | Python | briandconnelly | community | 🟦 commercial | 🟢 active |
| Regrid MCP Server | 160M+ US/Canada land parcels — query by location, zoning, acreage, ownership & building criteria | — | Regrid | official | 🟦 commercial | ⚪ hosted |
| TimezoneToolkit | Timezone conversion plus sunrise/sunset/twilight from lat/long | TypeScript | Cicatriiz | community | 🟩 open | 🟡 stale |
License
MIT © Sparkgeo — the catalog data and tooling are free to use, share, and adapt.
