Skip to main content
ClaudeWave

Geocoding MCP Server - forward & reverse geocoding, place search, distance between locations via OpenStreetMap Nominatim. No API key, zero-config npx, for Claude & any MCP client.

MCP ServersRegistry oficial0 estrellas0 forksPythonMITActualizado today
Install in Claude Code / Claude Desktop
Method: NPX · wrapper
Claude Code CLI
claude mcp add geocode-mcp -- npx -y wrapper
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "geocode-mcp": {
      "command": "npx",
      "args": ["-y", "wrapper"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Casos de uso

Resumen de MCP Servers

# Geocoding MCP Server 🗺️

[![npm version](https://img.shields.io/npm/v/geocode-mcp.svg)](https://www.npmjs.com/package/geocode-mcp)
[![npm downloads](https://img.shields.io/npm/dm/geocode-mcp.svg)](https://www.npmjs.com/package/geocode-mcp)
[![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

Turn place names and addresses into coordinates (and back) for Claude Desktop and any MCP-compatible client, powered by [OpenStreetMap Nominatim](https://nominatim.org). Forward & reverse geocoding, place/POI search, and distance between locations — all from natural language. **No API key required.**

> **npm package:** [`geocode-mcp`](https://www.npmjs.com/package/geocode-mcp) &nbsp;·&nbsp; **GitHub repo:** [`danishashko/geocode-mcp`](https://github.com/danishashko/geocode-mcp).

## 🎯 What You Get

- 📍 **Geocode** — address/place/landmark → latitude & longitude
- 🔄 **Reverse geocode** — coordinates → human-readable address
- 🔎 **Place search** — find POIs/places by description
- 📏 **Distance** — straight-line distance between two named places

Geocoding is something LLMs can't reliably do on their own — this gives Claude real, current coordinates from OpenStreetMap. Every tool returns human-readable **markdown** by default, or structured **JSON** on request (`response_format: "json"`). Lightweight (Python standard library + `mcp` only), no API key.

## 🚀 Quick Start

Add this to your Claude Desktop config and restart Claude:

- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "geocode": {
      "command": "npx",
      "args": ["-y", "geocode-mcp"],
      "env": {
        "GEOCODE_USER_AGENT": "your-app-name your@email.com"
      }
    }
  }
}
```

OpenStreetMap asks every client to send a descriptive `User-Agent` with contact info. Set `GEOCODE_USER_AGENT` to your own name/email (a default is provided so it works out of the box). On first launch the npx wrapper creates an isolated Python environment and installs the dependency (one-time, ~a minute). You need **Python 3.10+** and **Node.js 16+**.

### Prefer a global install?

```bash
npm install -g geocode-mcp
```

```json
{
  "mcpServers": {
    "geocode": {
      "command": "geocode-mcp",
      "env": { "GEOCODE_USER_AGENT": "your-app-name your@email.com" }
    }
  }
}
```

## 🔧 Available Tools

| Tool | What it returns | Parameters |
|------|-----------------|------------|
| `geocode` | Ranked coordinate matches for an address/place/landmark | `query`, `limit`, `country_codes` |
| `reverse_geocode` | The address at a given latitude/longitude | `latitude`, `longitude` |
| `search_places` | Places/POIs matching a description, with coordinates | `query`, `limit`, `country_codes` |
| `distance_between` | Straight-line distance between two named places | `origin`, `destination`, `unit` |

Every tool also accepts `response_format` (`"markdown"`, the default, or `"json"`). `country_codes` is an optional comma-separated ISO 3166-1 alpha-2 filter (e.g. `us` or `us,ca`).

## 💬 Example Prompts

Once the server is connected, just ask Claude:

- "What are the coordinates of the Eiffel Tower?"
- "What's at latitude 40.7484, longitude -73.9857?"
- "Find bookstores in Paris."
- "How far is it from London to Edinburgh in miles?"
- "Geocode '1600 Pennsylvania Avenue' — US only."

## 🐛 Troubleshooting

**"OpenStreetMap is rate-limiting requests"**
Nominatim's public server allows ~1 request/second. This server self-throttles, but if you still hit it, wait a moment.

**"No locations found"**
Try a more specific or differently-worded query, or add a `country_codes` filter to disambiguate.

**"Command not found" / "Python not found"**
Ensure Python 3.10+ and Node.js 16+ are installed and on your PATH. On macOS/Linux, try `python3`.

**Tools not showing up in Claude**
1. Confirm the config file is valid JSON (no trailing commas).
2. Fully quit and reopen Claude Desktop.

## 🛠️ Manual Installation (Alternative)

If you would rather run the Python file directly instead of via npx:

**1. Download the server and install the dependency**

```bash
pip install mcp
```

(or `pip3` on macOS/Linux)

**2. Point Claude Desktop at it**

```json
{
  "mcpServers": {
    "geocode": {
      "command": "python3",
      "args": ["/absolute/path/to/geocode_mcp.py"],
      "env": { "GEOCODE_USER_AGENT": "your-app-name your@email.com" }
    }
  }
}
```

On Windows use `"command": "python"` and a path like `"C:\\path\\to\\geocode_mcp.py"`.

**3. Restart Claude Desktop.**

## 🔒 Privacy & Usage Policy

- Uses OpenStreetMap's free [Nominatim API](https://nominatim.org) — public, no key.
- Requests go straight from your machine to OpenStreetMap. Nothing is stored or proxied.
- Per the [Nominatim Usage Policy](https://operations.osmfoundation.org/policies/nominatim/), the server sends a descriptive `User-Agent` and self-throttles to ~1 request/second. Please don't use it for bulk/heavy workloads against the public server.
- Data © OpenStreetMap contributors, available under the [ODbL](https://www.openstreetmap.org/copyright).

## 📝 Notes

- `distance_between` returns straight-line (great-circle) distance, **not** driving/route distance.
- Results are ranked by relevance/importance; use `country_codes` to narrow ambiguous names (e.g. "Springfield").
- Reverse geocoding near water or remote areas may return no address.

## 📋 Changelog

See [CHANGELOG.md](CHANGELOG.md) for the full version history.

## 📚 Resources

- [Model Context Protocol](https://modelcontextprotocol.io/)
- [Nominatim API documentation](https://nominatim.org/release-docs/latest/api/Overview/)
- [Nominatim Usage Policy](https://operations.osmfoundation.org/policies/nominatim/)

## ⚖️ Legal Disclaimer

This tool uses the OpenStreetMap Nominatim API but is not affiliated with or endorsed by the OpenStreetMap Foundation. Geocoding data © OpenStreetMap contributors, licensed under the [Open Database License](https://www.openstreetmap.org/copyright). Use is subject to the [Nominatim Usage Policy](https://operations.osmfoundation.org/policies/nominatim/).

## 👤 Author

**Daniel Shashko**
- GitHub: [@danishashko](https://github.com/danishashko)
- LinkedIn: [daniel-shashko](https://linkedin.com/in/daniel-shashko)
- npm: [danielshashko](https://www.npmjs.com/~danielshashko)

## 📄 License

MIT © Daniel Shashko

Lo que la gente pregunta sobre geocode-mcp

¿Qué es danishashko/geocode-mcp?

+

danishashko/geocode-mcp es mcp servers para el ecosistema de Claude AI. Geocoding MCP Server - forward & reverse geocoding, place search, distance between locations via OpenStreetMap Nominatim. No API key, zero-config npx, for Claude & any MCP client. Tiene 0 estrellas en GitHub y se actualizó por última vez today.

¿Cómo se instala geocode-mcp?

+

Puedes instalar geocode-mcp clonando el repositorio (https://github.com/danishashko/geocode-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar danishashko/geocode-mcp?

+

danishashko/geocode-mcp aún no ha sido auditado por nuestro agente de seguridad. Revisa el repositorio original en GitHub antes de usarlo en producción.

¿Quién mantiene danishashko/geocode-mcp?

+

danishashko/geocode-mcp es mantenido por danishashko. La última actividad registrada en GitHub es de today, con 0 issues abiertos.

¿Hay alternativas a geocode-mcp?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega geocode-mcp en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: danishashko/geocode-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/danishashko-geocode-mcp)](https://claudewave.com/repo/danishashko-geocode-mcp)
<a href="https://claudewave.com/repo/danishashko-geocode-mcp"><img src="https://claudewave.com/api/badge/danishashko-geocode-mcp" alt="Featured on ClaudeWave: danishashko/geocode-mcp" width="320" height="64" /></a>

Más MCP Servers

Alternativas a geocode-mcp