
Openstreetmap Mcp Server
Wraps Nominatim and Overpass API to give Claude spatial reasoning over OpenStreetMap data. Six tools cover the standard workflow: geocode addresses to coordinates, reverse geocode lat/lon to places, look up OSM objects by ID, and run proximity or bounding box queries for amenities and tagged features. The raw Overpass QL tool handles complex spatial queries when the convenience methods don't fit. Results carry OSM IDs that chain directly into lookup calls, and every response includes ODbL attribution. Built on the author's mcp-ts-core framework, so it runs over stdio or streamable HTTP with the same codebase. Respects Nominatim rate limits and lets you point at private instances if you're running your own tile server.
- GitHub stars
- 9
- tools
- 6
- transport
- STDIO, HTTP
- env vars
- 12
- last updated
- Nov 11, 2026
Install
From registry metadata$ npx add-mcp https://openstreetmap.caseyjhand.com/mcp --name openstreetmapRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http openstreetmap https://openstreetmap.caseyjhand.com/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 6 toolsVerified live against the running server on Nov 6, 2026.
openstreetmap_search_placesGeocode a place name or address to coordinates and structured place data via Nominatim. Send either a free-form query or the structured address fields (street, city, county, state, country, postalcode), never both; results are the best-ranked matches, not every matching object...16 params
Geocode a place name or address to coordinates and structured place data via Nominatim. Send either a free-form query or the structured address fields (street, city, county, state, country, postalcode), never both; results are the best-ranked matches, not every matching object...
boundedbooleancitystringcountrystringcountrycodesvaluecountystringexclude_place_idsarrayextratagsbooleanfeatureTypestringcountry · state · city · settlementlanguagestringlayervaluelimitintegerpostalcodestringquerystringstatestringstreetstringviewboxobjectopenstreetmap_reverse_geocodeConvert a latitude/longitude pair to the nearest address or named place via Nominatim. The result is the closest indexed OSM object at the requested zoom (18 building, 10 city), which in dense areas can be a neighbouring feature rather than the one containing the coordinate; p...6 params
Convert a latitude/longitude pair to the nearest address or named place via Nominatim. The result is the closest indexed OSM object at the requested zoom (18 building, 10 city), which in dense areas can be a neighbouring feature rather than the one containing the coordinate; p...
extratagsbooleanlanguagestringlat*numberlayervaluelon*numberzoomintegeropenstreetmap_lookup_objectsFetch the Nominatim address record for known OSM objects by ID, 50 per call with any more returned under deferred_ids, each prefixed N (node), W (way), or R (relation), e.g. "N240109189". Use it for IDs already in hand from openstreetmap_query_nearby or openstreetmap_query_bbo...3 params
Fetch the Nominatim address record for known OSM objects by ID, 50 per call with any more returned under deferred_ids, each prefixed N (node), W (way), or R (relation), e.g. "N240109189". Use it for IDs already in hand from openstreetmap_query_nearby or openstreetmap_query_bbo...
extratagsbooleanlanguagestringosm_ids*arrayopenstreetmap_query_nearbyFind OSM features within a radius of a point via the Overpass API, the tool for "what is near X?" questions. Filter with amenity, or with tag_key plus an optional tag_value, ANDing up to five more filters; every feature returns with its full OSM tag set (no extratags flag here...12 params
Find OSM features within a radius of a point via the Overpass API, the tool for "what is near X?" questions. Filter with amenity, or with tag_key plus an optional tag_value, ANDing up to five more filters; every feature returns with its full OSM tag set (no extratags flag here...
amenitystringelement_typesarrayfiltersarraylat*numberlimitintegerlon*numberoffsetintegerradius_metersnumbertag_keystringtag_valuestringtag_value_matchstringexact · list_itemtimeout_secondsintegeropenstreetmap_query_bboxFind OSM features inside an area via the Overpass API, for surveys of everything in a region (openstreetmap_query_nearby covers proximity to a point). Scope with the four corner fields south, west, north, east, or with within and a single OSM boundary ref such as a city relati...14 params
Find OSM features inside an area via the Overpass API, for surveys of everything in a region (openstreetmap_query_nearby covers proximity to a point). Scope with the four corner fields south, west, north, east, or with within and a single OSM boundary ref such as a city relati...
amenitystringeastnumberelement_typesarrayfiltersarraylimitintegernorthnumberoffsetintegersouthnumbertag_keystringtag_valuestringtag_value_matchstringexact · list_itemtimeout_secondsintegerwestnumberwithinstringopenstreetmap_query_rawRun an arbitrary Overpass QL query for anything the convenience tools cannot express: multi-type or union queries, relation membership, historical queries, regex tag matching. The query must include [out:json], e.g. "[out:json][timeout:15];node[\"natural\"=\"peak\"](47.5,-122....5 params
Run an arbitrary Overpass QL query for anything the convenience tools cannot express: multi-type or union queries, relation membership, historical queries, regex tag matching. The query must include [out:json], e.g. "[out:json][timeout:15];node[\"natural\"=\"peak\"](47.5,-122....
limitintegermax_element_bytesintegeroffsetintegerquery*stringtimeout_secondsintegerSponsors
Configuration
OSM_NOMINATIM_BASE_URLdefault: https://nominatim.openstreetmap.orgNominatim API base URL. Override to use a private or mirror instance.
OSM_USER_AGENTdefault: openstreetmap-mcp-server/0.7.2User-Agent sent to Nominatim and Overpass. Required by usage policy.
OSM_OVERPASS_BASE_URLOverpass API endpoint URL. When set, pins every query to this one endpoint and disables mirror failover; OSM_OVERPASS_MAX_CONCURRENCY sizes it and a |N suffix is rejected. Leave unset to use OSM_OVERPASS_ENDPOINTS.
OSM_OVERPASS_ENDPOINTSdefault: https://overpass-api.de/api/interpreterComma-separated ordered list of Overpass endpoints. A failure advances to the next entry within the same tool call; a single entry means no failover. An entry written url|N gets N slots of its own and adds capacity, for an instance whose operator allows parallel queries, never a
OSM_OVERPASS_MAX_CONCURRENCYdefault: 1Concurrent Overpass queries per endpoint: OSM_OVERPASS_BASE_URL, and every OSM_OVERPASS_ENDPOINTS entry not sized with |N. With no |N entry it is also the most queries in flight across all endpoints. A query waits at most 30 seconds in total for a slot, then fails with pacer_shed
MCP_LOG_LEVELdefault: infoSets the minimum log level for output (e.g., 'debug', 'info', 'warn').
MCP_TRANSPORT_TYPEdefault: httpSelects the HTTP transport.
MCP_HTTP_HOSTdefault: 127.0.0.1The hostname for the HTTP server.
MCP_HTTP_PORTdefault: 3010The port to run the HTTP server on.
MCP_HTTP_ENDPOINT_PATHdefault: /mcpThe endpoint path for the MCP server.
MCP_PUBLIC_URLPublic origin override for deployments behind a TLS-terminating reverse proxy (e.g. https://mcp.example.com).
MCP_AUTH_MODEdefault: noneAuthentication mode to use: 'none', 'jwt', or 'oauth'.
Readme
@cyanheads/openstreetmap-mcp-server
Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data via MCP. STDIO or Streamable HTTP.
Details
- Repository
- github.com/cyanheads/openstreetmap-mcp-server
- Category
- Data & Analytics
- Package
@cyanheads/openstreetmap-mcp-server- Transport
- STDIO, HTTP
- Registry
- MCP registry, active
- Resources
- 1
- Tools verified
- Nov 6, 2026
More from cyanheads
- Biorxiv Mcp Server4
- Brapi Mcp Server4
- Courtlistener Mcp Server4
- Crossref Mcp Server4
- Internet Archive Mcp Server4
- Met Museum Mcp Server4
- Noaa Spaceweather Mcp Server4
- Openfda Mcp Server4
- Openlibrary Mcp Server4
- Un Comtrade Mcp Server4
- Aviation Weather Mcp Server3
- Devops Status Mcp Server3
- Earthquake Mcp Server3
- Eia Energy Mcp Server3
- Ensembl Mcp Server3
- Noaa Marine Mcp Server3
- Openstates Mcp Server3
- Treasury Fiscaldata Mcp Server3
- Usgs Water Mcp Server3
- Wikidata Mcp Server3
- Worldbank Mcp Server3
- Mcp Ts Core153
- Arxiv Mcp Server7
- Bluesky Mcp Server2