A side-by-side look at the Geoapify and OpenStreetMap MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Geoapify for location services work as a local process; choose OpenStreetMap for location services as a local process. You can also run both side by side in one mcpServers block.
geocode, reverse_geocode, places.geocode, reverse_geocode, route.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Location Services | Location Services |
| Quality signal | 53/100 · Good | 57/100 · Good |
| 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 | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 2 |
| Directory activity | 0 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 4 | 11 |
| Full listing | View Geoapify | View OpenStreetMap |
geocodeForward geocoding: convert an address, place name, or freeform location text into geographic coordinates (latitude/longitude). Returns matched candidates with formatted address, lat, lon, country, city, and postcode. Example: geocode({ text: "1600 Amphitheatre Parkway, Mountain View, CA" })reverse_geocodeReverse geocoding: convert latitude/longitude coordinates into the nearest street address. Returns formatted address, country, city, street, house number, and postcode. Example: reverse_geocode({ lat: 48.8584, lon: 2.2945 })placesSearch for places and points of interest (POI) near a location, filtered by Geoapify category. Returns name, formatted address, categories, lat, lon, and distance from the center point. Example: places({ categories: "catering.restaurant", lat: 48.8584, lon: 2.2945, radius: 1000 })routingRouting / directions: compute the distance and travel time between two points for a given travel mode (drive, walk, bicycle, transit). Returns distance in meters and time in seconds. Example: routing({ from_lat: 48.8584, from_lon: 2.2945, to_lat: 48.8606, to_lon: 2.3376, mode: "drive" })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 offlinePaste 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": {
"geoapify": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-geoapify"
]
}
}
}
{
"mcpServers": {
"openstreetmap": {
"command": "npx",
"args": [
"-y",
"osm-mcp"
]
}
}
}