osm-mcp-server
MCP server for Nominatim and OSRM applications
Documentation
MCP Server for OSM
Overview
This is an MCP server for accessing some OSM functions. We will access nominatim functionality of geocoding and reverse geocoding and some of the distance APIs from OSRM.
Please note that these are open servers, use them lightly and fairly. For production usage consider installing you own servers and using them. The base urls are at the beginning of the file index.js
This can be used as a simple started code to understand MCP servers. It gives implementations of APIs and also haversine distance a non-API implementation.
Requirements
It need Node version 20 and above
Features
The following geo services are coded
1. Geocoding using Nominatim API. Sample prompt -Give coordinates of New York
2. Reverse geocoding using Nominatim API. Sample prompt - Give address of (12.77, 78.32)
3. Route distance between 2 points using OSRM.
4. Haversine distance between 2 points
You can ask for the distance between San Jose and San Fransisco and the server will get the coordinates for both San Jose and San Fransisco and get the straight distance and route distance.
Installation
To install the dependancies
`npm install`
Else you can install the dependancy
`npm install @modelcontextprotocol/sdk`
To enable the MCP server in the workspace we have create a directory and a configuration file in that directory.
mkdir .vscode
cd .vscode
touch mcp.jsonMake a directory called .vscode in you working directory, create a file called mcp.json and add the configuration below. Update the paths to you node and your API key
{
"servers": {
"my-mcp-server-bfba9100": {
"type": "stdio",
"command": "/path/to/node",
"args": [
"/path/to/index.js"
],
"env": {
},
}
}
}Global VScode
Add the configuration file in ~/.vscode to make it accessible across all directories
Cursor
The global and local workspace will work for cursor also. The directories will be called .cursor. You can place the configuration file.
Claude Integration
The MCP server can be added to Claude Desktop app. Find the file claude_desktop_config.json. In MAC they will be available at
` ~/Library/Application\ Support/Claude/claude_desktop_config.json
Using custom Nominatim and OSRM servers
This MCP server can be used with custom Nominatim and OSRM servers, for e.g. your own servers if you choose to host them. This is usually recommended for production use. Change the lines
const NOMINATIM_BASE_URL = "";
const OSRM_BASE_URL = "";Frequently asked questions
What is osm-mcp-server?
osm-mcp-server is MCP server for Nominatim and OSRM applications
How do I install osm-mcp-server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is osm-mcp-server open source?
Yes — it is hosted on GitHub at https://github.com/tpp6me/osm-mcp-server and has 2 stars.
Related MCP tools
An MCP server that installs other MCP servers for you JavaScript-based implementation. Trusted by 1400+ developers. Trusted by 1400+ developers.
MCP server for interacting with the iOS simulator JavaScript-based implementation. Trusted by 1200+ developers. Trusted by 1200+ developers.
A Model Context Protocol server that provides read-only access to MySQL databases. This server enables LLMs to inspect database schemas and execute read-only...
This is an MCP server that allows you to directly download transcripts of YouTube videos. JavaScript-based implementation.
The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.
An AI-powered task-management system you can drop into Cursor, Lovable, Windsurf, Roo, and others. Built for the Model Context Protocol to enhance AI capabiliti
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP