A side-by-side look at the OpenStreetMap and Routekit MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose OpenStreetMap for location services work as a local process; choose Routekit for location services as a local process. You can also run both side by side in one mcpServers block.
geocode, reverse_geocode, route.ROUTEKIT_API_KEY.calculate_route, distance_matrix, snap_to_road.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Location Services | Location Services |
| Quality signal | 57/100 · Good | 48/100 · Fair |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | ROUTEKIT_API_KEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 2 | 0 |
| Directory activity | 0 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 11 | 12 |
| Full listing | View OpenStreetMap | View Routekit |
geocodePlace name/address → coordinates (Nominatim or Photon)reverse_geocodeCoordinates → nearest addressrouteDistance and duration between 2+ waypoints, `foot`/`car`/`bike`; optional turn-by-turn summaryroute_matrixTravel time/distance from every origin to every destination in one calloptimize_routeBest visiting order for a set of stops (traveling-salesman, OSRM trip)isochroneReachable area within a time or distance budget (Valhalla, or ORS with key)find_nearby_poisPOIs around a location by category or raw OSM tag, sorted by distance (Overpass)poi_detailsFull OSM record of one element: opening hours, website, phone, …suggest_meeting_pointFair meeting venue for 2–8 people (balanced travel times)straight_line_distanceGreat-circle distance, computed offlinemap_linkopenstreetmap.org marker / directions links, computed offlinecalculate_route- Driving route between points with real road distances and ETAs. Supports waypoints, encoded polyline geometry, turn-by-turn steps, and up to 3 alternative routes.distance_matrix- NxN distance/duration matrix between up to 5000 locations (transparently chunked for large sets, cached for repeated queries).snap_to_road- Snap a raw GPS coordinate to the nearest road segment. Returns the snapped point, distance from the original, and road name.isochrone- Area reachable from a point within N minutes by car. Returns a GeoJSON Polygon useful for coverage analysis, depot placement, and service area definition.geocode- Convert a Brazilian address or place name to latitude/longitude. Restricted to Brazil, in-house geocoder with no third-party dependency. Built-in fuzzy fallback handles abbreviations ("Av" -> "Avenida"), accents, and token drops.geocode_batch- Geocode up to 50 addresses in a single call with parallel execution. Perfect for delivery manifests or client lists.reverse_geocode- Convert lat/lon to a human-readable Brazilian address with components (road, neighborhood, city, state, postcode).compare_routes- Run `optimize_routes` under multiple balance strategies (minimize_vehicles, balance_tasks, minimize_distance) and return a side-by-side comparison with winners per metric.validate_eta- Simulate a pre-defined route in Python and return the real arrival times plus any constraint violations. Use when you already have a fixed order of stops and just need the ETAs.optimize_routes- Advanced VRP solver:balance_mode`minimize_vehicles` (default), `balance_tasks`, or `minimize_distance`matrix_overridesuser-provided per-pair travel time / distance overrides (for toll routes, restricted zones, known detours)Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"openstreetmap": {
"command": "npx",
"args": [
"-y",
"osm-mcp"
]
}
}
}
{
"mcpServers": {
"routekit": {
"command": "npx",
"args": [
"-y",
"routekit-mcp"
],
"env": {
"ROUTEKIT_API_KEY": "YOUR_ROUTEKIT_API_KEY_HERE"
}
}
}
}