https://github.com/dodbrian/osmaps-mcp
MCP server for calculating route distances and travel times using free OpenStreetMap services
https://github.com/dodbrian/osmaps-mcp
maps mcp mcp-server nominatim osrm
Last synced: 28 days ago
JSON representation
MCP server for calculating route distances and travel times using free OpenStreetMap services
- Host: GitHub
- URL: https://github.com/dodbrian/osmaps-mcp
- Owner: dodbrian
- Created: 2026-03-12T21:05:29.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-14T12:18:00.000Z (about 2 months ago)
- Last Synced: 2026-04-14T14:18:29.455Z (about 2 months ago)
- Topics: maps, mcp, mcp-server, nominatim, osrm
- Language: TypeScript
- Homepage:
- Size: 213 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# osmaps-mcp
MCP server for route distance calculations using OSRM and Nominatim.
## Features
- **Route Distance**: Calculate driving distance and travel time between two locations
- **Geocoding**: Converts addresses to coordinates using Nominatim (OpenStreetMap)
- **Coordinate Support**: Accepts both addresses and lat,lng coordinates
- **No API Key Required**: Uses free OpenStreetMap services
## Requirements
- Node.js 18+
## Installation
```bash
npm install
npm run setup
```
This builds the project and links the `osmaps-mcp` binary globally.
## Configuration
After running `npm run setup`, configure your MCP client to use `osmaps-mcp`:
### Claude Desktop
Add to your Claude Desktop configuration file:
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"osmaps": {
"command": "osmaps-mcp"
}
}
}
```
### Claude Code
Add via CLI:
```bash
claude mcp add --transport stdio osmaps -- osmaps-mcp
```
Or add to `~/.claude.json`:
```json
{
"mcpServers": {
"osmaps": {
"command": "osmaps-mcp"
}
}
}
```
### Cursor
Create `.cursor/mcp.json` in your project root:
```json
{
"mcpServers": {
"osmaps": {
"command": "osmaps-mcp"
}
}
}
```
### Windsurf
Add to your Windsurf MCP configuration:
```json
{
"mcpServers": {
"osmaps": {
"command": "osmaps-mcp"
}
}
}
```
### OpenCode
Add to your `opencode.json` config file:
```json
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"osmaps": {
"type": "local",
"command": ["osmaps-mcp"],
"enabled": true
}
}
}
```
### Gemini CLI
Add via CLI:
```bash
gemini mcp add osmaps osmaps-mcp -t stdio
```
Or add to your Gemini CLI configuration file:
```json
{
"mcpServers": {
"osmaps": {
"command": "osmaps-mcp"
}
}
}
```
## Tools
### get-route-distance
Calculate driving route distance and travel time between two locations.
**Parameters:**
- `origin` - Starting location (address or lat,lng coordinates)
- `destination` - Ending location (address or lat,lng coordinates)
**Example:**
```
origin: "Berlin, Germany"
destination: "Paris, France"
```
Returns: `452.31 km, 265 min`
**Coordinate example:**
```
origin: "52.5200,13.4050"
destination: "48.8566,2.3522"
```
## APIs Used
- [OSRM](http://router.project-osrm.org/) - Open Source Routing Machine (free, no API key)
- [Nominatim](https://nominatim.openstreetmap.org/) - OpenStreetMap geocoding (free, no API key)