Skip to content

osm-mcpThe world map, in the conversation

An MCP server for OpenStreetMap travel planning: geocoding, walking/driving/cycling routes, multi-stop optimization, isochrones and POI search — over free public services, with no API key.

osm-mcp architectureAn MCP client such as Claude talks to osm-mcp over stdio. The server exposes eleven read-only tools and calls the public OpenStreetMap services over HTTPS: Nominatim and Photon for geocoding, OSRM for routing, Valhalla for isochrones and Overpass for POI search. With an optional API key, routing, matrices and isochrones switch to OpenRouteService.MCP clientClaude, Codex, …osm-mcp11 read-only toolsrate limits · cacheno API key requiredstdioNominatimgeocodingPhotontypo-tolerant searchOSRMrouting (FOSSGIS)ValhallaisochronesOverpassPOI search · mirrorsOpenRouteServiceoptional · API keyHTTPS
The server speaks stdio, holds no credentials by default, and throttles itself below the published limits of every public OSM service it calls.

Terminal recording: the server lists its 11 tools, geocodes a place name and answers the same route on foot and by car — with the foot route several times slower, proving the FOSSGIS profile prefixes work

In one command

sh
claude mcp add osm -- npx -y osm-mcp

No URL, no token — the public OpenStreetMap services are the default configuration. Then ask things like "how long is the walk from the Louvre to Notre-Dame?", "plan the best order to visit these five places", "what can I reach in 15 minutes on foot from my hotel?" or "find a fair cafe for the three of us to meet".

What it does not do

By design: no writes to OpenStreetMap (the API for that is not even wired up), no map image rendering, no GPS tracking, no traffic data, and no bulk geocoding — the client-side throttles that keep it inside the public services' usage policies make it deliberately unsuitable for hammering. For heavy or commercial use, self-host the backends and point the *_BASE_URL variables at them. See Security.

Released under the MIT License.