mcpField
O
Openstreetmap Mcpserver

Openstreetmap Mcpserver

Local
github.com/ghassenTnMaps & Travel0Updated 64w ago

About Openstreetmap Mcpserver

OpenStreetMap MCP Server connects MCP clients to OpenStreetMap-based routing and place search through the OpenRouteService API. It supports route alternatives, distance matrices, cost estimates, and multiple transport modes for route planning.

Key features

  1. 01Calculate routes with waypoints
  2. 02Compare route alternatives
  3. 03Build distance and duration matrices
  4. 04Estimate fuel and toll costs
  5. 05Search and reverse-geocode places
  6. 06Driving, walking, and cycling modes

Use cases

  1. 01Plan a trip with intermediate stops
  2. 02Compare routes that avoid tolls or highways
  3. 03Estimate trip distance, duration, and costs
  4. 04Find places or identify coordinates

MCP support

It exposes routing, route comparison, distance matrices, basic route information, cost estimation, place search, and reverse geocoding as tools for MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

OpenStreetMap MCP Server

A Model Context Protocol (MCP) server that integrates OpenStreetMap routing capabilities with Claude AI for advanced route planning, cost estimation, and place search using OpenRouteService API.

Features

  • Route Calculation: Get optimal routes between multiple points
  • Route Comparison: Compare different routing options (avoid tolls, highways, etc.)
  • Distance Matrix: Calculate distances and durations between multiple origins and destinations
  • Cost Estimation: Estimate fuel and toll costs for trips
  • Place Search: Find places using OpenStreetMap geocoding
  • Multiple Transport Modes: Support for driving, walking, and cycling

Prerequisites

  • Node.js (LTS version 18+ recommended) - Download from nodejs.org
  • OpenRouteService API Key - Get one free from openrouteservice.org
  • Claude Desktop application for MCP integration

Setup Instructions

1. Clone and Install
git clone [your-repo-url]
cd openstreetmap-mcp-server
npm install
2. Get OpenRouteService API Key
  1. Go to openrouteservice.org
  2. Sign up for a free account
  3. Navigate to your dashboard
  4. Create a new API key
  5. Copy the API key for configuration
3. Configure API Key

Edit config/config.json and replace the API key:

{
  "openStreetMap": {
    "apiKey": "your-actual-api-key-here"
  }
}
4. Test the Server
# Test configuration
npm test

# Start in development mode
npm run dev
5. Configure Claude Desktop

Add this to your Claude Desktop MCP settings file:

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

{
  "mcpServers": {
    "openstreetmap": {
      "command": "node",
      "args": ["/absolute/path/to/openstreetmap-mcp-server/src/index.js"],
      "cwd": "/absolute/path/to/openstreetmap-mcp-server"
    }
  }
}
6. Start Using

Restart Claude Desktop and you can now ask questions like:

  • "Find the best route from Paris to Berlin"
  • "Compare routes to the airport with and without tolls"
  • "What's the estimated cost for driving from London to Edinburgh?"
  • "Find restaurants near Times Square"

Available Tools

calculate_route

Get optimal route using OpenStreetMap data with waypoints support.

Parameters:

  • origin (required): Starting point (address or coordinates in lat,lng format)
  • destination (required): Ending point (address or coordinates in lat,lng format)
  • waypoints (optional): Array of intermediate points
  • mode (optional): Transport mode - driving, walking, bicycling, transit
  • avoidTolls (optional): Boolean to avoid toll roads
  • avoidHighways (optional): Boolean to avoid highways
compare_routes

Compare multiple route alternatives with different options.

Parameters:

  • origin (required): Starting point
  • destination (required): Ending point
  • options (required): Array of routing options to compare
get_matrix

Get distance and duration matrix between multiple origins and destinations.

Parameters:

  • origins (required): Array of origin points
  • destinations (required): Array of destination points
get_traffic_info

Get basic route information (Note: Real-time traffic not available in OpenStreetMap).

Parameters:

  • origin (required): Starting point
  • destination (required): Ending point
estimate_costs

Calculate trip costs including fuel and toll estimates.

Parameters:

  • origin (required): Starting point
  • destination (required): Ending point
  • fuelPricePerLiter (optional): Price of fuel per liter (default: 1.50)
  • vehicleFuelEfficiency (optional): Vehicle efficiency in km/liter (default: 8.0)
  • tollEstimatePerKm (optional): Estimated toll cost per km (default: 0.05)
find_places

Search for places using OpenStreetMap geocoding service.

Parameters:

  • query (required): Search query (e.g., "restaurants", "hotels")
  • location (optional): Center location for search
  • radius (optional): Search radius in meters (default: 1000)

Configuration Options

Edit config/config.json to customize:

{
  "openStreetMap": {
    "apiKey": "your-api-key"
  },
  "server": {
    "port": 3001,
    "host": "localhost"
  },
  "routing": {
    "defaultProfile": "driving-car",
    "maxWaypoints": 25,
    "maxAlternatives": 3,
    "units": "metric"
  },
  "costs": {
    "fuelPricePerLiter": 1.50,
    "vehicleFuelEfficiency": 8.0,
    "tollEstimatePerKm": 0.05
  }
}

Troubleshooting

Common Issues

1. "Error loading config" message

  • Check that config/config.json exists and has valid JSON format
  • Ensure the API key is properly set

2. "API request failed" errors

  • Verify your OpenRouteService API key is valid and active
  • Check your API quota limits at openrouteservice.org
  • Ensure you have internet connectivity

3. "Address not found" errors

  • Try using coordinates instead of addresses (lat,lng format)
  • Verify the location exists and is accessible
  • Check spelling of address

4. Server won't start

# Check Node.js version
node --version  # Should be 18+

# Clear dependencies and reinstall
rm -rf node_modules package-lock.json
npm install

# Check for configuration errors
npm test

5. Claude Desktop can't find the server

  • Use absolute paths in Claude Desktop config
  • Restart Claude Desktop after configuration changes
  • Check that the MCP config file path is correct for your OS
Debug Mode

Run with debug logging:

DEBUG=* npm start
Testing Individual Functions

You can test the server functionality by creating test scripts or using the npm test command.

Differences from Google Maps

This OpenStreetMap MCP server provides similar functionality to Google Maps but with some key differences:

Advantages
  • Free and Open Source: No usage limits for basic features
  • Privacy Focused: No tracking or data collection
  • Community Driven: Data maintained by volunteers worldwide
  • Customizable: Full control over routing profiles and preferences
Limitations
  • No Real-time Traffic: Traffic data is not available
  • Limited Transit: Public transportation routing is limited
  • Geocoding Quality: May be less accurate in some regions compared to Google
  • Commercial POI: Fewer commercial points of interest

API Rate Limits

OpenRouteService free tier includes:

  • 2,000 requests per day
  • 40 requests per minute
  • 2,000 requests per month for matrix calculations

For higher limits, consider upgrading to a paid plan at openrouteservice.org.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - feel free to modify and distribute.

About

OpenStreetMap MCP Server - Bringing open-source mapping to Claude AI

Built with:

reverse_geocode

Get location name and address from latitude and longitude coordinates.

Parameters:

  • latitude (required): Latitude coordinate (between -90 and 90)
  • longitude (required): Longitude coordinate (between -180 and 180)
  • zoom (optional): Zoom level for detail (1-18, higher = more detailed, default: 18)

Example Usage:

reverse_geocode({
  latitude: 48.8584,
  longitude: 2.2945
})

Response Format:

{
  "status": "success",
  "coordinates": {
    "latitude": 48.8584,
    "longitude": 2.2945
  },
  "address": {
    "formatted_address": "Tour Eiffel, Avenue Gustave Eiffel, Gros-Caillou, 7e Arrondissement, Paris, Île-de-France, France métropolitaine, 75007, France",
    "name": "Tour Eiffel",
    "street": "Avenue Gustave Eiffel",
    "neighbourhood": "Gros-Caillou",
    "locality": "Paris",
    "region": "Île-de-France",
    "country": "France",
    "country_code": "FR",
    "postal_code": "75007"
  }
}

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.