# nominatim-mcp-server MCP server

Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-cyanheads-nominatim-mcp-server
- Repository: https://github.com/cyanheads/nominatim-mcp-server

## Install
- Command: `npx -y @cyanheads/nominatim-mcp-server`
- Endpoint: https://nominatim.caseyjhand.com/mcp
- Auth: Not captured

## Setup notes
- Package: Npm @cyanheads/nominatim-mcp-server v0.1.6
- Environment variable: NOMINATIM_BASE_URL (default https://nominatim.openstreetmap.org)
- Environment variable: NOMINATIM_USER_AGENT (default nominatim-mcp-server/0.1.6)
- Environment variable: OVERPASS_BASE_URL (default https://overpass-api.de/api/interpreter)
- Environment variable: MCP_LOG_LEVEL (default info)
- Package: Npm @cyanheads/nominatim-mcp-server v0.1.6
- Environment variable: MCP_HTTP_HOST (default 127.0.0.1)
- Environment variable: MCP_HTTP_PORT (default 3010)
- Environment variable: MCP_HTTP_ENDPOINT_PATH (default /mcp)
- Environment variable: MCP_PUBLIC_URL
- Environment variable: MCP_AUTH_MODE (default none)
- Environment variable: NOMINATIM_BASE_URL (default https://nominatim.openstreetmap.org)
- Environment variable: NOMINATIM_USER_AGENT (default nominatim-mcp-server/0.1.6)
- Environment variable: OVERPASS_BASE_URL (default https://overpass-api.de/api/interpreter)
- Environment variable: MCP_LOG_LEVEL (default info)
- Remote endpoint: https://nominatim.caseyjhand.com/mcp

## Tools
- nominatim_geocode (Geocode a place name or address) - Convert a place name or address to geographic coordinates and structured place data via Nominatim/OpenStreetMap. Accepts either a free-form query string (e.g., "Space Needle Seattle") or structured address fields (street, city, state, etc.) — the two modes are mutually exclusive. Returns results ordered by Nominatim relevance (importance score). Use countrycodes to restrict results to specific countries. For exhaustive POI lists in an area, use overpass_query_nearby or overpass_query_bbox instead — Nominatim search returns best matches, not all matching objects. Endpoint: https://nominatim.caseyjhand.com/mcp
- nominatim_reverse (Reverse geocode coordinates to an address) - Convert latitude/longitude coordinates to the nearest address or place name via Nominatim/OpenStreetMap. Returns the closest matching OSM object at the given coordinates. Note: Nominatim finds the nearest indexed OSM object — in dense areas this may differ from the address at the exact coordinate. Use zoom=18 for building-level accuracy, lower zoom values for coarser resolution (e.g., zoom=10 for city-level). Endpoint: https://nominatim.caseyjhand.com/mcp
- nominatim_lookup (Look up address details for OSM objects by ID) - Fetch address details for one or more known OSM objects by their IDs via Nominatim. Each ID must be prefixed with N (node), W (way), or R (relation), e.g., "N240109189", "W50637691", "R146656". Up to 50 IDs per call. Use when an OSM ID is already known from a prior overpass_query_nearby or overpass_query_bbox result — this is more efficient than a geocoding round trip to get the full Nominatim address record. Endpoint: https://nominatim.caseyjhand.com/mcp
- overpass_query_nearby (Find OSM features near a point) - Find OSM features within a radius around a geographic point via the Overpass API. The primary tool for "what's near X?" spatial queries. Use amenity for common POI types (hospital, pharmacy, restaurant, cafe, school, atm, etc.) or tag_key + tag_value for other OSM categories (leisure=park, shop=supermarket, natural=peak). Exactly one of amenity or tag_key/tag_value must be provided. Results include all element types specified (nodes cover standalone POIs, ways cover buildings and areas). Note: results are not sorted by distance — the Overpass API returns them in OSM element ID order. Endpoint: https://nominatim.caseyjhand.com/mcp
- overpass_query_bbox (Find OSM features within a bounding box) - Find OSM features within a rectangular geographic area (bounding box) via the Overpass API. Useful for area surveys where you want everything in a region, not proximity searches. Use amenity for common POI types (hospital, pharmacy, cafe, school, etc.) or tag_key + tag_value for other OSM categories (leisure=park, shop=supermarket, natural=peak). Exactly one of amenity or tag_key/tag_value must be provided. For proximity searches centered on a point, use overpass_query_nearby instead. Endpoint: https://nominatim.caseyjhand.com/mcp
- overpass_query_raw (Execute a raw Overpass QL query) - Execute a raw Overpass QL query for advanced spatial queries that the convenience tools do not cover. Use for multi-type queries, union queries, relation membership, historical queries, or any operation requiring full Overpass QL expressiveness. The query must include [out:json]. Example: "[out:json][timeout:15];node[\"natural\"=\"peak\"](47.5,-122.5,47.7,-122.2);out body;" Validate complex queries at overpass-turbo.eu before use. For simple "what's near X?" or "what's in this area?" queries, use overpass_query_nearby or overpass_query_bbox instead. Endpoint: https://nominatim.caseyjhand.com/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.github.cyanheads
- Version: 0.1.6
- Runtime: Npm
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: May 24, 2026
- Source: https://registry.modelcontextprotocol.io
