# Nominatim MCP

> Nominatim lets your AI client search the world’s open-source map data (OpenStreetMap) without needing an API key. You can find places, translate GPS coordinates into street addresses, and pull detailed geographical information simply by talking to your agent.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** geocoding, reverse-geocoding, openstreetmap, location-search, spatial-data

## Description

Need to understand a location but don't want to pay for mapping services? This MCP connects you directly to OpenStreetMap’s massive, community-driven database. Forget the hassle of managing API keys or dealing with service limits. You just talk to your AI client and it handles the complex lookup process.

It lets your agent find physical locations by name—whether it's a school, a restaurant, or a specific street corner. If you only have GPS coordinates, the MCP converts them back into full, readable addresses, giving you context immediately. You can also drill down into geographic details: look up complex object IDs or determine the exact boundaries of a city block. This service is critical for anyone dealing with location data who needs reliable results without proprietary restrictions. Connect it via Vinkius and your agent accesses this entire catalog of global spatial data instantly.

## Tools

### get_details
Pulls comprehensive information about a specific OpenStreetMap feature using its unique ID.

### lookup_osm
Retrieves general data, coordinates, and properties for multiple OpenStreetMap objects based on their IDs.

### reverse_geocode
Converts a set of geographic coordinates into the nearest official address details, including city and state.

### search
Finds places by name or partial address, returning structured results with bounding boxes and address components.

### get_status
Checks the current operational status of the Nominatim service to confirm it's ready for use.

## Prompt Examples

**Prompt:** 
```
Find the coordinates for the Eiffel Tower.
```

**Response:** 
```
Found: Eiffel Tower at coordinates 48.8584, 2.2945. Address: Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France. Bounding box: 48.8574-48.8594, 2.2935-2.2955. OSM ID: W5013364 (way).
```

**Prompt:** 
```
What address is at coordinates 40.7128, -74.0060?
```

**Response:** 
```
Coordinates 40.7128, -74.0060 correspond to: City Hall Park, New York, NY 10007, United States. Borough: Manhattan. County: New York County. State: New York. Country: United States. Place type: park.
```

**Prompt:** 
```
Search for 'Central Park' and show me its bounding box.
```

**Response:** 
```
Central Park, New York: Bounding box 40.7644 to 40.8006 (lat), -73.9818 to -73.9491 (lon). OSM ID: W326168186 (way). Place type: park. Address: Manhattan, New York County, New York, 10024, United States.
```

## Capabilities

### Search places by name or type
Your agent can find specific points of interest anywhere in the world, whether you know the street address or just the kind of place (like a hospital).

### Convert coordinates to readable addresses
If you get GPS numbers, this MCP translates them into clear, human-readable city and state addresses.

### Look up detailed object information by ID
You can query the system using a specific OpenStreetMap ID to pull all known details about that geographical feature.

### Determine geographic boundaries
The MCP returns defined bounding boxes for large areas, like whole countries or city districts.

## Use Cases

### Validating a mailing list
A marketing team has a spreadsheet of old addresses. Instead of manually checking each one, they prompt their agent to 'validate these 50 locations.' The agent uses the `search` tool to verify if the address exists and pull standardized components like zip codes.

### Mapping archaeological sites
A researcher finds a collection of historical GPS coordinates. They ask their agent to 'translate these points into formal addresses.' The agent uses `reverse_geocode` to give the coordinates immediate, usable context for reporting.

### Building a localized content app
A developer needs to list all local amenities (hospitals, schools) near a central point. They prompt their agent to 'find all type=hospital within 1km of X coordinates.' The agent uses `search` with structured filters.

### Analyzing regional market reach
A business wants to know the exact boundaries of a state or metropolitan area for sales planning. They ask their agent to 'give me the bounding box for Ohio.' The MCP uses this information to define the precise operational region.

## Benefits

- Eliminate API costs. You get access to the entire OpenStreetMap database for free, meaning you never have to worry about paid usage limits when running `search` or `reverse_geocode`.
- Get structured data components instantly. When your agent runs a search, it doesn't just give you a name; it provides detailed address parts like street, postal code, and country, which is perfect for databases.
- Work with raw IDs. Need to know everything about a specific object? Use `get_details` or `lookup_osm` to pull deep context from the map data that simple searches miss.
- Understand boundaries. If you need to scope an area—say, all locations within a given city limit—the MCP returns precise geographic bounding boxes for reliable filtering.
- Handle global scale. The service supports multi-language naming conventions and robust searching across diverse global regions, making it ideal for international projects.

## How It Works

The bottom line is that once connected, your AI client treats OpenStreetMap data like a built-in tool you can call with natural language instructions.

1. Subscribe to this MCP on Vinkius.
2. Connect your preferred AI client (like Claude or Cursor) to the catalog.
3. Tell your agent what you need—for example, 'What address is at 40.7128, -74.0060?' and it handles the rest.

## Frequently Asked Questions

**Does Nominatim MCP require me to pay for API access?**
No. This MCP connects directly to OpenStreetMap and does not require you to manage or provide any paid API keys. It's completely free, powered by community data.

**How do I use the Nominatim MCP in my agent workflow?**
You simply connect your AI client through Vinkius and ask it to perform an action—like 'find a restaurant near 40.7128, -74.0060.' The agent figures out which tool to call.

**Can Nominatim MCP find addresses in countries without good mapping coverage?**
Yes, because it uses OpenStreetMap data, its coverage is vast and community-driven, making it useful for regions where commercial map services might fail or charge exorbitant rates.

**Which tool should I use to verify an address component?**
The `search` tool is best. It returns results with structured components (street, city, state) and coordinates, allowing you to validate specific parts of the address.

**Can Nominatim MCP get me the boundaries for a region?**
Yes, use `get_details` or other lookup tools. They provide bounding boxes, which define the exact minimum and maximum coordinates for a given area.

**Do I need an API key?**
No! Nominatim is completely free and requires no authentication. It's powered by the OpenStreetMap community. Just subscribe and start searching. Rate limit is 1 request per second.

**How accurate is the geocoding?**
Nominatim uses OpenStreetMap data, which is crowd-sourced and varies by region. Urban areas typically have very accurate results. Use addressdetails=1 to get structured address components and namedetails=1 for multi-language names.

**Can I convert coordinates to an address?**
Yes! Use reverse_geocode with latitude and longitude. Returns the nearest address with street name, house number, city, state, postal code and country. Supports different zoom levels for varying detail granularity.

**What is an OSM ID and how do I use it?**
OSM IDs are unique identifiers for OpenStreetMap objects: N for nodes (points), W for ways (lines/areas), R for relations (groups). Use lookup_osm with IDs like 'W123456' or 'N987654'. Use get_details for comprehensive info on a single object.