{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.cyanheads/openstreetmap-mcp-server","description":"Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data.","repository":{"url":"https://github.com/cyanheads/openstreetmap-mcp-server","source":"github"},"version":"0.6.2","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openstreetmap-mcp-server","version":"0.6.2","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Nominatim API base URL. Override to use a private or mirror instance.","format":"string","default":"https://nominatim.openstreetmap.org","name":"OSM_NOMINATIM_BASE_URL"},{"description":"User-Agent sent to Nominatim and Overpass. Required by usage policy.","format":"string","default":"openstreetmap-mcp-server/0.6.2","name":"OSM_USER_AGENT"},{"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","name":"OSM_OVERPASS_BASE_URL"},{"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, for an instance whose operator allows parallel queries, never a public FOSSGIS server; 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","default":"https://overpass-api.de/api/interpreter","name":"OSM_OVERPASS_ENDPOINTS"},{"description":"Concurrent 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 and a retryAfter. The default of 1 follows the public FOSSGIS instances, which allow one query in flight per user; raise it only for an instance whose operator allows parallel queries, such as a private or paid one.","format":"number","default":"1","name":"OSM_OVERPASS_MAX_CONCURRENCY"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openstreetmap-mcp-server","version":"0.6.2","runtimeHint":"npx","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"environmentVariables":[{"description":"Selects the HTTP transport.","format":"string","value":"http","name":"MCP_TRANSPORT_TYPE"},{"description":"The hostname for the HTTP server.","format":"string","default":"127.0.0.1","name":"MCP_HTTP_HOST"},{"description":"The port to run the HTTP server on.","format":"string","default":"3010","name":"MCP_HTTP_PORT"},{"description":"The endpoint path for the MCP server.","format":"string","default":"/mcp","name":"MCP_HTTP_ENDPOINT_PATH"},{"description":"Public origin override for deployments behind a TLS-terminating reverse proxy (e.g. https://mcp.example.com).","format":"string","name":"MCP_PUBLIC_URL"},{"description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","default":"none","name":"MCP_AUTH_MODE"},{"description":"Nominatim API base URL. Override to use a private or mirror instance.","format":"string","default":"https://nominatim.openstreetmap.org","name":"OSM_NOMINATIM_BASE_URL"},{"description":"User-Agent sent to Nominatim and Overpass. Required by usage policy.","format":"string","default":"openstreetmap-mcp-server/0.6.2","name":"OSM_USER_AGENT"},{"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","name":"OSM_OVERPASS_BASE_URL"},{"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, for an instance whose operator allows parallel queries, never a public FOSSGIS server; 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","default":"https://overpass-api.de/api/interpreter","name":"OSM_OVERPASS_ENDPOINTS"},{"description":"Concurrent 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 and a retryAfter. The default of 1 follows the public FOSSGIS instances, which allow one query in flight per user; raise it only for an instance whose operator allows parallel queries, such as a private or paid one.","format":"number","default":"1","name":"OSM_OVERPASS_MAX_CONCURRENCY"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]}],"remotes":[{"type":"streamable-http","url":"https://openstreetmap.caseyjhand.com/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-25T09:59:31.911855Z","publishedAt":"2026-10-25T09:59:31.911855Z","updatedAt":"2026-10-25T09:59:31.911855Z","isLatest":true}}}
