---
bezeichner: "io.github.cyanheads/openstreetmap-mcp-server"
art: "mcp_server"
slug: "io-github-cyanheads-openstreetmap-mcp-server"
paketkoordinate: "npm:@cyanheads/openstreetmap-mcp-server"
status: "aktiv"
homepage: "https://github.com/cyanheads/openstreetmap-mcp-server"
erhebungsstand: "2026-10-10T01:17:01.464Z"
namensraum: "io.github.cyanheads"
registerseite: "https://tracevero.com/mcp/io-github-cyanheads-openstreetmap-mcp-server"
abgerufen_am: "2026-10-10"
zugangsdaten_erforderlich: false
ausfuehrungsort: "lokal"
dateisystem_pfadargument: false
quelloffen_einsehbar: true
einsatzgebiet: "karten"
roh_beschreibung: "Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data."
version: "0.6.0"
roh_umgebungsvariablen: "OSM_NOMINATIM_BASE_URL, OSM_USER_AGENT, OSM_OVERPASS_BASE_URL, OSM_OVERPASS_ENDPOINTS, OSM_OVERPASS_MAX_CONCURRENCY, MCP_LOG_LEVEL, MCP_HTTP_HOST, MCP_HTTP_PORT, MCP_HTTP_ENDPOINT_PATH, MCP_PUBLIC_URL, MCP_AUTH_MODE, OSM_NOMINATIM_BASE_URL, OSM_USER_AGENT, OSM_OVERPASS_BASE_URL, OSM_OVERPASS_ENDPOINTS, OSM_OVERPASS_MAX_CONCURRENCY, MCP_LOG_LEVEL"
roh_geheime_pflichtvariablen: ""
roh_transportarten: "stdio, streamable-http, streamable-http"
roh_pfadargumente: ""
roh_repository_url: "https://github.com/cyanheads/openstreetmap-mcp-server"
roh_paketquellen: "npm, npm"
roh_geheime_pflichtkopfzeilen: ""
roh_pfad_umgebungsvariablen: ""
roh_remote_adressen: "https://openstreetmap.caseyjhand.com/mcp"
roh_remote_hosts: "openstreetmap.caseyjhand.com"
roh_statusmeldung: ""
roh_veroeffentlicht_am: "2026-10-03"
roh_aktualisiert_am: "2026-10-03"
roh_schemafassung: "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json"
roh_bereitstellungsform: "paket und remote"
roh_repository_quelle: "github"
roh_repository_unterordner: ""
roh_paketbezeichner: "@cyanheads/openstreetmap-mcp-server"
roh_paketversionen: "0.6.0"
roh_laufzeithinweise: "bun"
roh_umgebungsformate: "number, string"
roh_umgebungsbeschreibungen: "MCP_AUTH_MODE=Authentication mode to use: 'none', 'jwt', or 'oauth'. · MCP_HTTP_ENDPOINT_PATH=The endpoint path for the MCP server. · MCP_HTTP_HOST=The hostname for the HTTP server. · MCP_HTTP_PORT=The port to run the HTTP server on. · MCP_LOG_LEVEL=Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). · MCP_PUBLIC_URL=Public origin override for deployments behind a TLS-terminating reverse proxy (e.g. https://mcp.example.com). · OSM_NOMINATIM_BASE_URL=Nominatim API base URL. Override to use a private or mirror instance. · OSM_OVERPASS_BASE_URL=Overpass 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_ENDPOINTS=Comma-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; an unsuffixed later entry is failover only. Write a | inside a URL as %7C. Verify a mirror's usage policy, data coverage, and freshness before adding it. Ignored when OSM_OVERPASS_BASE_URL is set. · OSM_OVERPASS_MAX_CONCURRENCY=Concurrent Overpass queries per endpoint: the pinned OSM_OVERPASS_BASE_URL and every OSM_OVERPASS_ENDPOINTS entry without a |N suffix. A query waits at most 30 seconds in total for a slot. Match the slot budget the endpoint advertises at /api/status. · OSM_USER_AGENT=User-Agent sent to Nominatim and Overpass. Required by usage policy."
roh_symbolformate: ""
roh_verbindungswege: "{\"packages\":[{\"registryType\":\"npm\",\"identifier\":\"@cyanheads/openstreetmap-mcp-server\",\"version\":\"0.6.0\",\"runtimeHint\":\"bun\",\"transport\":\"stdio\",\"environment\":[{\"name\":\"OSM_NOMINATIM_BASE_URL\",\"description\":\"Nominatim API base URL. Override to use a private or mirror instance.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OSM_USER_AGENT\",\"description\":\"User-Agent sent to Nominatim and Overpass. Required by usage policy.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OSM_OVERPASS_BASE_URL\",\"description\":\"Overpass 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.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OSM_OVERPASS_ENDPOINTS\",\"description\":\"Comma-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; an unsuffixed later entry is failover only. Write a | inside a URL as %7C. Verify a mirror's usage policy, data coverage, and freshness before adding it. Ignored when OSM_OVERPASS_BASE_URL is set.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OSM_OVERPASS_MAX_CONCURRENCY\",\"description\":\"Concurrent Overpass queries per endpoint: the pinned OSM_OVERPASS_BASE_URL and every OSM_OVERPASS_ENDPOINTS entry without a |N suffix. A query waits at most 30 seconds in total for a slot. Match the slot budget the endpoint advertises at /api/status.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"MCP_LOG_LEVEL\",\"description\":\"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').\",\"format\":\"string\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":true},{\"registryType\":\"npm\",\"identifier\":\"@cyanheads/openstreetmap-mcp-server\",\"version\":\"0.6.0\",\"runtimeHint\":\"bun\",\"transport\":\"streamable-http\",\"environment\":[{\"name\":\"MCP_HTTP_HOST\",\"description\":\"The hostname for the HTTP server.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_HTTP_PORT\",\"description\":\"The port to run the HTTP server on.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_HTTP_ENDPOINT_PATH\",\"description\":\"The endpoint path for the MCP server.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_PUBLIC_URL\",\"description\":\"Public origin override for deployments behind a TLS-terminating reverse proxy (e.g. https://mcp.example.com).\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_AUTH_MODE\",\"description\":\"Authentication mode to use: 'none', 'jwt', or 'oauth'.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OSM_NOMINATIM_BASE_URL\",\"description\":\"Nominatim API base URL. Override to use a private or mirror instance.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OSM_USER_AGENT\",\"description\":\"User-Agent sent to Nominatim and Overpass. Required by usage policy.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OSM_OVERPASS_BASE_URL\",\"description\":\"Overpass 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.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OSM_OVERPASS_ENDPOINTS\",\"description\":\"Comma-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; an unsuffixed later entry is failover only. Write a | inside a URL as %7C. Verify a mirror's usage policy, data coverage, and freshness before adding it. Ignored when OSM_OVERPASS_BASE_URL is set.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"OSM_OVERPASS_MAX_CONCURRENCY\",\"description\":\"Concurrent Overpass queries per endpoint: the pinned OSM_OVERPASS_BASE_URL and every OSM_OVERPASS_ENDPOINTS entry without a |N suffix. A query waits at most 30 seconds in total for a slot. Match the slot budget the endpoint advertises at /api/status.\",\"format\":\"number\",\"required\":false,\"secret\":false},{\"name\":\"MCP_LOG_LEVEL\",\"description\":\"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').\",\"format\":\"string\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":true}],\"remotes\":[{\"url\":\"https://openstreetmap.caseyjhand.com/mcp\",\"transport\":\"streamable-http\",\"headers\":[]}]}"
---

# io.github.cyanheads/openstreetmap-mcp-server

## Measured values

| Property | Value | Source | Collected on | Level of trust | Raw declaration |
| --- | --- | --- | --- | --- | --- |
| Required secrets declared | false | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_geheime_pflichtvariablen: ; roh_geheime_pflichtkopfzeilen: |
| Execution location | lokal | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_transportarten: stdio, streamable-http, streamable-http |
| Path argument present | false | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_pfadargumente: ; roh_pfad_umgebungsvariablen: |
| Repository URL listed | true | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_repository_url: https://github.com/cyanheads/openstreetmap-mcp-server |
| Field of use, derived from the vendor description | karten | MCP-Register | 2026-08-26T16:45:01.514Z | abgeleitet | roh_beschreibung: Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data. |
| Description (raw) | Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data. | MCP-Register | 2026-08-26T16:45:01.514Z | selbstauskunft |  |
| Declared version | 0.6.0 | MCP-Register | 2026-10-04T01:17:01.638Z | selbstauskunft |  |
| Environment variables (raw) | OSM_NOMINATIM_BASE_URL, OSM_USER_AGENT, OSM_OVERPASS_BASE_URL, OSM_OVERPASS_ENDPOINTS, OSM_OVERPASS_MAX_CONCURRENCY, MCP_LOG_LEVEL, MCP_HTTP_HOST, MCP_HTTP_PORT, MCP_HTTP_ENDPOINT_PATH, MCP_PUBLIC_URL, MCP_AUTH_MODE, OSM_NOMINATIM_BASE_URL, OSM_USER_AGENT, OSM_OVERPASS_BASE_URL, OSM_OVERPASS_ENDPOINTS, OSM_OVERPASS_MAX_CONCURRENCY, MCP_LOG_LEVEL | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Required secret variables (raw) |  | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Transports (raw) | stdio, streamable-http, streamable-http | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Path arguments (raw) |  | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Repository (raw) | https://github.com/cyanheads/openstreetmap-mcp-server | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Package registries (raw) | npm, npm | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Required secret headers (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Path environment variables (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Remote URLs (raw) | https://openstreetmap.caseyjhand.com/mcp | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Remote hosts (raw) | openstreetmap.caseyjhand.com | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Registry status message (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| First listed in the registry (raw) | 2026-10-03 | MCP-Register | 2026-10-04T01:17:01.638Z | selbstauskunft |  |
| Last changed in the registry (raw) | 2026-10-03 | MCP-Register | 2026-10-04T01:17:01.638Z | selbstauskunft |  |
| Schema version of the raw record (raw) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Delivery form (raw) | paket und remote | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Repository platform (raw) | github | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Repository subfolder (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Package identifiers (raw) | @cyanheads/openstreetmap-mcp-server | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Package versions (raw) | 0.6.0 | MCP-Register | 2026-10-04T01:17:01.638Z | selbstauskunft |  |
| Runtime hints (raw) | bun | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Environment variable formats (raw) | number, string | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Environment variable descriptions (raw) | MCP_AUTH_MODE=Authentication mode to use: 'none', 'jwt', or 'oauth'. · MCP_HTTP_ENDPOINT_PATH=The endpoint path for the MCP server. · MCP_HTTP_HOST=The hostname for the HTTP server. · MCP_HTTP_PORT=The port to run the HTTP server on. · MCP_LOG_LEVEL=Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). · MCP_PUBLIC_URL=Public origin override for deployments behind a TLS-terminating reverse proxy (e.g. https://mcp.example.com). · OSM_NOMINATIM_BASE_URL=Nominatim API base URL. Override to use a private or mirror instance. · OSM_OVERPASS_BASE_URL=Overpass 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_ENDPOINTS=Comma-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; an unsuffixed later entry is failover only. Write a \| inside a URL as %7C. Verify a mirror's usage policy, data coverage, and freshness before adding it. Ignored when OSM_OVERPASS_BASE_URL is set. · OSM_OVERPASS_MAX_CONCURRENCY=Concurrent Overpass queries per endpoint: the pinned OSM_OVERPASS_BASE_URL and every OSM_OVERPASS_ENDPOINTS entry without a \|N suffix. A query waits at most 30 seconds in total for a slot. Match the slot budget the endpoint advertises at /api/status. · OSM_USER_AGENT=User-Agent sent to Nominatim and Overpass. Required by usage policy. | MCP-Register | 2026-10-04T01:17:01.638Z | selbstauskunft |  |
| Icon formats (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Connection paths (source structure) | {"packages":[{"registryType":"npm","identifier":"@cyanheads/openstreetmap-mcp-server","version":"0.6.0","runtimeHint":"bun","transport":"stdio","environment":[{"name":"OSM_NOMINATIM_BASE_URL","description":"Nominatim API base URL. Override to use a private or mirror instance.","format":"string","required":false,"secret":false},{"name":"OSM_USER_AGENT","description":"User-Agent sent to Nominatim and Overpass. Required by usage policy.","format":"string","required":false,"secret":false},{"name":"OSM_OVERPASS_BASE_URL","description":"Overpass 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.","format":"string","required":false,"secret":false},{"name":"OSM_OVERPASS_ENDPOINTS","description":"Comma-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; an unsuffixed later entry is failover only. Write a \| inside a URL as %7C. Verify a mirror's usage policy, data coverage, and freshness before adding it. Ignored when OSM_OVERPASS_BASE_URL is set.","format":"string","required":false,"secret":false},{"name":"OSM_OVERPASS_MAX_CONCURRENCY","description":"Concurrent Overpass queries per endpoint: the pinned OSM_OVERPASS_BASE_URL and every OSM_OVERPASS_ENDPOINTS entry without a \|N suffix. A query waits at most 30 seconds in total for a slot. Match the slot budget the endpoint advertises at /api/status.","format":"number","required":false,"secret":false},{"name":"MCP_LOG_LEVEL","description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","required":false,"secret":false}],"additional_arguments_declared":true},{"registryType":"npm","identifier":"@cyanheads/openstreetmap-mcp-server","version":"0.6.0","runtimeHint":"bun","transport":"streamable-http","environment":[{"name":"MCP_HTTP_HOST","description":"The hostname for the HTTP server.","format":"string","required":false,"secret":false},{"name":"MCP_HTTP_PORT","description":"The port to run the HTTP server on.","format":"string","required":false,"secret":false},{"name":"MCP_HTTP_ENDPOINT_PATH","description":"The endpoint path for the MCP server.","format":"string","required":false,"secret":false},{"name":"MCP_PUBLIC_URL","description":"Public origin override for deployments behind a TLS-terminating reverse proxy (e.g. https://mcp.example.com).","format":"string","required":false,"secret":false},{"name":"MCP_AUTH_MODE","description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","required":false,"secret":false},{"name":"OSM_NOMINATIM_BASE_URL","description":"Nominatim API base URL. Override to use a private or mirror instance.","format":"string","required":false,"secret":false},{"name":"OSM_USER_AGENT","description":"User-Agent sent to Nominatim and Overpass. Required by usage policy.","format":"string","required":false,"secret":false},{"name":"OSM_OVERPASS_BASE_URL","description":"Overpass 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.","format":"string","required":false,"secret":false},{"name":"OSM_OVERPASS_ENDPOINTS","description":"Comma-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; an unsuffixed later entry is failover only. Write a \| inside a URL as %7C. Verify a mirror's usage policy, data coverage, and freshness before adding it. Ignored when OSM_OVERPASS_BASE_URL is set.","format":"string","required":false,"secret":false},{"name":"OSM_OVERPASS_MAX_CONCURRENCY","description":"Concurrent Overpass queries per endpoint: the pinned OSM_OVERPASS_BASE_URL and every OSM_OVERPASS_ENDPOINTS entry without a \|N suffix. A query waits at most 30 seconds in total for a slot. Match the slot budget the endpoint advertises at /api/status.","format":"number","required":false,"secret":false},{"name":"MCP_LOG_LEVEL","description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","required":false,"secret":false}],"additional_arguments_declared":true}],"remotes":[{"url":"https://openstreetmap.caseyjhand.com/mcp","transport":"streamable-http","headers":[]}]} | MCP-Register | 2026-10-04T01:17:01.638Z | selbstauskunft |  |

## Links

- Namespace: [[namensraum/io-github-cyanheads|io.github.cyanheads]]

---

- Registry page: <https://tracevero.com/mcp/io-github-cyanheads-openstreetmap-mcp-server>
- Retrieved on: 2026-10-10
