Reported issues for openstreetmap-mcp-server
Pod holds 7 of 7 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.
Back to openstreetmap-mcp-server.
Most discussed
feat(query_nearby, query_bbox): key-existence and multi-tag conjunction filters
Use case
openstreetmap_query_nearby and openstreetmap_query_bbox accept one tag pair: amenity=<value> or tag_key + tag_value. Finding any shop, or Italian restaurants, currently requires hand-written Overpass QL in openstreetmap_query_raw.
Proposed behavior
| Ask | Input | Overpass filter emitted |
|---|---|---|
| Any shop | tag_key: "shop" (no tag_value) |
["shop"] |
| Italian restaurants | amenity: "restaurant", filters: [{ key: "cuisine", value: "italian" }]… |
Read the thread · 2026-09-10 · closed · 2 comments
feat(search_places): add viewbox locality bias
Use case
Place names and small features are often ambiguous outside a caller's study area. A hydrologist may need a creek inside one watershed, or an analyst may need a street or facility inside a municipal boundary. countrycodes is too coarse for this, and adding locality words to free-form text is less precise than Nominatim's geographic bias.
The current workflow can discover an area with openstreetmap_query_bbox, but it cannot carry those bounds into openstreetmap_search_places.…
Read the thread · 2026-08-11 · closed · 2 comments
bug(formatting): escape OSM text in Markdown content
Server version
0.4.3
mcp-ts-core version
0.12.5 (package.json pin ^0.12.5; behaviour re-verified with 0.12.8 resolved in node_modules)
Runtime
Bun
Runtime version
Bun 1.4.0
Transport
HTTP (Streamable HTTP)
OS
macOS 26.1
Description
Community-edited OSM text — Nominatim display_name/name/address values and Overpass tag keys/values/members[].role — is interpolated directly into Markdown-formatted content[] text across all six tools,…
Read the thread · 2026-08-11 · closed · 2 comments
bug(query_raw): out:json/timeout directive checks miss whitespace spellings Overpass accepts
Server version
0.4.6
mcp-ts-core version
0.12.8
Runtime
Bun
Runtime version
Bun 1.4.0
Transport
HTTP
Description
openstreetmap_query_raw (src/mcp-server/tools/definitions/openstreetmap-query-raw.tool.ts) validates and rewrites the [out:json]/[timeout:N] settings directives with three literal-string checks that all assume one exact spelling:
- preflight:
ql.includes('[out:json]') - timeout injection anchor:
ql.replace('[out:json]', ...) - timeout…
Read the thread · 2026-09-11 · closed · 1 comment
bug(overpass-service): a connection-level failure never faults the endpoint, so rotation returns to an unreachable host
Server version
0.4.6
mcp-ts-core version
0.12.8
Runtime
Bun
Runtime version
Bun 1.4.0
Transport
HTTP
Description
A connection-level failure never faults the endpoint that produced it, so rotation can return to an unreachable host for the rest of the call.
postQuery in src/services/overpass/overpass-service.ts wraps every fetch rejection that is not an McpError, not its own deadline, and not a caller abort as `serviceUnavailable('Network error…
Read the thread · 2026-09-11 · closed · 1 comment
bug(search_places): countrycodes accepts non-alpha-2 tokens and Nominatim silently drops the filter
Server version
0.4.6
mcp-ts-core version
0.12.8
Runtime
Bun
Runtime version
Bun 1.4.0
Transport
HTTP
Description
countrycodes is a bare z.string(). Nominatim only honors comma-separated ISO 3166-1 alpha-2 codes; any token it cannot parse is discarded and the search runs unfiltered, with HTTP 200 and no warning. So an alpha-3 code, a semicolon-separated list, or a country name silently widens the query to the whole world while the response still echoes the…
Read the thread · 2026-09-11 · closed · 1 comment
feat(query_bbox, query_raw): scope a tag search to an OSM boundary — everything inside this city, park, or watershed
The most common spatial question after "what is near X" is "what is inside Y": every school within Seattle's city limits, every spring inside a named watershed relation, every shop inside a park boundary. openstreetmap_search_places and openstreetmap_reverse_geocode return exactly the identifier needed — the boundary's osm_type/osm_id (R237385 for Seattle) — but no tool accepts it as a search scope. openstreetmap_query_bbox over the boundary's boundingbox overcovers by design…
Read the thread · 2026-09-11 · open · 0 comments
Most recent
The remaining reports are on the project's issue tracker.