Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data via MCP. STDIO or Streamable HTTP.
Public Hosted Server: https://openstreetmap.caseyjhand.com/mcp
6 tools for geocoding and spatial queries against OpenStreetMap data:
| Tool | Description |
|---|---|
openstreetmap_search_places | Convert a place name or address to geographic coordinates and structured place data |
openstreetmap_reverse_geocode | Convert latitude/longitude coordinates to the nearest address or place name |
openstreetmap_lookup_objects | Fetch address details for one or more known OSM objects by their IDs |
openstreetmap_query_nearby | Find OSM features within a radius around a geographic point |
openstreetmap_query_bbox | Find OSM features within a rectangular bounding box |
openstreetmap_query_raw | Execute a raw Overpass QL query for advanced spatial operations |
openstreetmap_search_placesConvert a place name or address to geographic coordinates via Nominatim/OpenStreetMap.
"Space Needle Seattle") or structured address fields (street, city, state, country, postal code) β mutually exclusivecountrycodes)openstreetmap_lookup_objectsextratags decorates the matched object and cannot select one, so an absent tag describes that object rather than OpenStreetMap. Selecting or enumerating by tag is Overpass-only (openstreetmap_query_nearby, openstreetmap_query_bbox, openstreetmap_query_raw)openstreetmap_reverse_geocodeConvert latitude/longitude to the nearest address or named place.
extratags decorates the matched object and cannot select one. To find the objects in an area carrying a given tag, use openstreetmap_query_nearby, openstreetmap_query_bbox, or openstreetmap_query_rawopenstreetmap_lookup_objectsFetch full Nominatim address records for known OSM object IDs.
["N240109189"]"N240109189", "W50637691", "R146656"not_found list for IDs that returned no resultosm_ids β extratags decorates them and cannot select them. Discover objects by tag with openstreetmap_query_nearby, openstreetmap_query_bbox, or openstreetmap_query_raw, then pass their IDs hereopenstreetmap_query_nearbyFind OSM features within a radius around a point via the Overpass API.
amenity shortcut for common POI types (hospital, pharmacy, restaurant, cafe, school, atm) or tag_key + tag_value for any OSM category (leisure=park, shop=supermarket, natural=peak)truncated flag signals when more existopenstreetmap_query_bboxFind OSM features within a rectangular geographic bounding box.
amenity / tag_key + tag_value interface as openstreetmap_query_nearbywest greater than east is a box crossing the antimeridian, covering west..180 plus -180..east; only south greater than north is rejectedtruncated flagopenstreetmap_query_rawExecute arbitrary Overpass QL for queries the convenience tools don't cover.
[out:json]; server injects [timeout:N] if absenttotalFound / truncated / nextOffset disclosure; page the rest with offsettimeout_seconds up to 180 is honored client-side, so a long-running query is not cut off earlyBuilt on @cyanheads/mcp-ts-core:
none, jwt, oauth)in-memory, filesystem, Supabase, Cloudflare KV/R2/D1Nominatim/Overpass-specific:
User-Agent via OSM_USER_AGENT, rate-limit-aware request handlingOSM_OVERPASS_MAX_CONCURRENCY, and a throttled endpoint is never re-submitted to β the call advances to the next endpoint instead, and fails only once every one has refused itOSM_OVERPASS_ENDPOINTS and a transient failure advances to the next one inside the same call. Deterministic failures (malformed query, result too large) stay on one endpoint, and every response reports the endpoint that served itData Β© OpenStreetMap contributors, ODbL 1.0)OSM_NOMINATIM_BASE_URL and OSM_OVERPASS_BASE_URL for self-hosted or mirror endpointsno_results, no_coverage, conflicting_query_mode, missing_query_mode, invalid_id_format, invalid_tag, invalid_bbox, query_timeout, rate_limited, upstream_error, query_error, result_too_large, overpass_gateway_timeout, overpass_unavailable, endpoints_exhausted β all with actionable recovery hintsruntime error: ... remark on every Overpass tool, and a malformed openstreetmap_query_raw query its line N: parse error: ... detail, instead of a bare statusAgent-friendly output:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/openstreetmap-mcp-server)<a href="https://allmcps.com/mcp/openstreetmap-mcp-server"><img src="https://allmcps.com/api/badge/openstreetmap-mcp-server?style=directory" alt="Openstreetmap MCP Server on AllMCPs" /></a>