Geospatial MCP Servers
SkillSearchBrowse, search, and recommend geospatial / GIS / mapping / earth-observation MCP servers, and add newly discovered ones to the tracked list. Use when the user asks "is there an MCP server for <geospatial thing>", wants to find a geocoding/routing/PostGIS/STAC/imagery/weather MCP server, or says they found a new geo MCP server to track.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Geospatial MCP Servers skill
What this skill tells your AI
The instructions your AI receives, as published by sparkgeo/geo-mcp-servers in skill/SKILL.md and read by ahel’s review.
This skill wraps a curated, version-controlled catalog of MCP servers for
geospatial work. servers.yaml is the source of truth; README.md is
generated from it.
Locate the catalog
The skill is installed at ~/.claude/skills/geo-mcp-servers, a symlink into
the cloned repo's skill/ directory. Resolve the repo root from it — do not
assume any absolute path:
REPO="$(cd "$(dirname "$(readlink ~/.claude/skills/geo-mcp-servers)")" && pwd -P)"
echo "$REPO" # repo root — parent of the skill dir
If readlink returns nothing (the skill was copied rather than symlinked), ask
the user where they cloned geo-mcp-servers, or search for it, e.g.
find ~ -name servers.yaml -path '*geo-mcp-servers*' 2>/dev/null. Use the
resolved $REPO in every command below.
Find / recommend a server
-
Read the catalog data:
REPO="$(cd "$(dirname "$(readlink ~/.claude/skills/geo-mcp-servers)")" && pwd -P)" cat "$REPO/servers.yaml" -
Match the user's need to a
categoryand to entrytags/description. Categories include: geocoding, routing, mapping, database (PostGIS/DuckDB), remote_sensing (STAC/EO), weather, desktop_gis (QGIS/ArcGIS), toolkit, data_access, other. -
Recommend the closest 1–3 servers with their URLs and a one-line why. If nothing fits, say so plainly rather than inventing a server.
Add a newly discovered server
When the user points you at a new geospatial MCP server (a URL, a name, "track this one"):
-
Confirm it's real and geospatial — fetch/inspect the source URL if needed.
-
Check it isn't already in
servers.yaml(match on url and name). -
Append an entry under
servers:in$REPO/servers.yaml:- name: <Name> url: <canonical source URL, prefer GitHub repo> description: <one line> category: <one of the keys in the categories map> author: <person/org> language: <Python|TypeScript|...> official: <true only for vendor-published> tags: [<keywords>] added: <YYYY-MM-DD> -
Regenerate the README (the repo ships a
.venvwith PyYAML):REPO="$(cd "$(dirname "$(readlink ~/.claude/skills/geo-mcp-servers)")" && pwd -P)" "$REPO/.venv/bin/python" "$REPO/scripts/generate_readme.py"If
$REPO/.venvis missing (fresh clone), create it once:python3 -m venv "$REPO/.venv" && "$REPO/.venv/bin/pip" install -r "$REPO/requirements.txt". -
Report what you added, and offer to commit
servers.yaml+README.mdtogether (don't push without asking).
Notes
- Never edit the tables in
README.mdby hand — the generator overwrites them. - Only add
official: truewhen the vendor/owner of the underlying service publishes the server. - Prefer one canonical URL per server (the GitHub repo).
Signals
- GitHub stars
- 95
- Forks
- 17
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
geo-mcp-servers- Source
- github.com/sparkgeo/geo-mcp-servers