OpenStreetMap MCP Server

OpenStreetMap MCP server providing precision geospatial tools for LLMs via Model Context Protocol. Features geocoding, routing, nearby places

Local serverstdioPython

What is the OpenStreetMap MCP Server?

OpenStreetMap MCP server providing precision geospatial tools for LLMs via Model Context Protocol. Features geocoding, routing, nearby places, neighborhood

What it actually does

This is a Go OpenStreetMap MCP server. It implements the Model Context Protocol to enable LLMs to interact with geospatial data.

  • Geocoding addresses and place names to coordinates
  • Reverse geocoding coordinates to addresses
  • Finding nearby points of interest
  • Calculating routes and getting directions between locations
  • Searching for places by category within a bounding box
  • Suggesting optimal meeting points for multiple people

Configuration

  • Go 1.24 or higher - OpenStreetMap API access (no API key required, but rate limits apply)

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Maintainer setup documentation.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
bbox_from_pointsCreate a bounding box that encompasses all given geographic coordinates
centroid_pointsCalculate the geographic centroid (mean center) of a set of coordinates
enrich_emissionsEnrich route options with CO2 emissions, calorie burn, and cost estimates
filter_tagsFilter OSM elements by specified tags
geocode_addressConvert an address or place name to geographic coordinates
geo_distanceCalculate the distance between two geographic coordinates
get_map_imageRetrieve and display an OpenStreetMap image for analysis
osm_query_bboxQuery OpenStreetMap data within a bounding box with tag filters
polyline_decodeDecode an encoded polyline string into a series of geographic coordinates
polyline_encodeEncode a series of geographic coordinates into a polyline string
reverse_geocodeConvert geographic coordinates to a human-readable address
route_fetchFetch a route between two points using OSRM routing service

Configuration

  • Go 1.24 or higher - OpenStreetMap API access (no API key required, but rate limits apply)

Example prompts to try

  • “Use OpenStreetMap to Nominatim.”
  • “Use OpenStreetMap to OSRM.”
  • “Use OpenStreetMap to bbox from points.”

Frequently asked questions

The server uses the OSRM routing service for route fetching and OpenStreetMap API data for queries. Polyline tools are self‑contained.