openstreetmap-mcp-server
io.github.cyanheads/openstreetmap-mcp-server·v0.5.1Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data.
5 stars2.6k downloads/wk
Reviews
Write oneNobody has reviewed openstreetmap-mcp-server yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Tools (6, 1 write)
write = sends, deletes, buys or postsopenstreetmap_lookup_objectsFreeFetch the Nominatim address record for up to 50 known OSM objects by ID, 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_bbox; it returns only objects named in osm_ids, listing any that resolve to nothing under not_found, and cannot select by tag, so discover objects with those tools or openstreetmap_query_raw first.
openstreetmap_query_bboxFreeFind 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 relation or a park way, which searches the boundary polygon itself instead of an overcovering box; never both. 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).
openstreetmap_query_nearbyFreeFind 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), sorted nearest-first by distance_meters, with nodes covering standalone POIs and ways covering buildings and areas.
openstreetmap_query_rawwrite actionFreeRun 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,47.7,-122.2);out body;"; scope to an OSM boundary with rel(<id>);map_to_area->.a; or way(<id>);map_to_area->.a; then (area.a) on each statement (the 2400000000 way-area offset is gone since Overpass 0.7.57; openstreetmap_query_bbox takes the same scope as within, without QL). The response is one page: page with limit and offset, read totalFound and truncated for the whole match, and an element over max_element_bytes arrives with its members, nodes or geometry array withheld whole and withheldNotice saying how to fetch it back. For plain "near X" or "in this area" questions use openstreetmap_query_nearby or openstreetmap_query_bbox.
openstreetmap_reverse_geocodeFreeConvert 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; proximity and layer pick it, never an OSM attribute tag, so find features by tag with openstreetmap_query_nearby, openstreetmap_query_bbox, or openstreetmap_query_raw.
openstreetmap_search_placesFreeGeocode 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, and matching never uses an OSM attribute tag, so filter or enumerate by tag with openstreetmap_query_nearby, openstreetmap_query_bbox, or openstreetmap_query_raw.
Public scan report
scanner v0.1.3 · 2026-09-19 · same rubric, same numbers if you re-run it
- Code scan42 source files scanned; 42 source files scanned25/25
- Live reliabilityremote reachable in 1192ms20/20
- Tool poisoning6 tool descriptions checked15/15
- Auth qualityopen endpoint exposes 1 write-action tools with no auth3/15
- Maintenancelast push 2 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (1)
- highWrite-action tools reachable without authentication
auth.open-write
Grade history
- 2026-09-19restoreC → Ascore 86: Write-action tools reachable without authentication
Install directly
claude mcp add --transport http openstreetmap-mcp-server https://openstreetmap.caseyjhand.com/mcp
Alternatives to openstreetmap-mcp-server
Same job, ranked by rating then adoption.
- Azure MCP ServerAll Azure MCP tools to create a seamless connection between AI agents and Azure services.not reviewedWidely usedC
- Microsoft 365 MCP ServerInteract with Microsoft 365 and Office services through the Microsoft Graph API.not reviewedEstablishedB
MemorixLocal-first project memory with legacy MCP and 2026 discovery compatibility.not reviewedEstablishedC- mcp-grafanaAn MCP server giving access to Grafana dashboards, data and more.not reviewedEstablishedA
ARC-1MCP server for SAP ABAP systemsnot reviewedEstablishedB