osm-mcp
A Model Context Protocol server for OpenStreetMap that enables agents to perform geocoding, calculate walking/driving/cycling distances and durations, optimize multi-stop routes, generate isochrones, and search for points of interest. It uses free public services with built-in rate limiting and policy compliance, requiring no API keys by default.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Calculate walking, driving, or cycling distances and durations between locations
- Optimize the order of visits for multiple stops in a trip
- Find points of interest near a specific location
- Generate isochrones to see reachable areas within a time limit
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
ghcr.io/ni-c/osm-mcp:0.3.2
{
"transport": "stdio",
"identifier": "ghcr.io/ni-c/osm-mcp:0.3.2",
"registryType": "oci",
"environmentVariables": [
{
"name": "OSM_USER_AGENT",
"format": "string",
"description": "Identifying User-Agent sent to all OSM services (Nominatim requires one)"
},
{
"name": "ORS_API_KEY",
"format": "string",
"description": "Optional OpenRouteService key; switches routing/matrix/isochrones to ORS"
},
{
"name": "OSM_ALLOW_TOOLS",
"format": "string",
"description": "Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)"
},
{
"name": "OSM_DENY_TOOLS",
"format": "string",
"description": "Comma-separated tool names or list_* prefixes to remove from whatever OSM_ALLOW_TOOLS left"
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"osm-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OSM_USER_AGENT=<YOUR_OSM_USER_AGENT>",
"-e",
"ORS_API_KEY=<YOUR_ORS_API_KEY>",
"-e",
"OSM_ALLOW_TOOLS=<YOUR_OSM_ALLOW_TOOLS>",
"-e",
"OSM_DENY_TOOLS=<YOUR_OSM_DENY_TOOLS>",
"ghcr.io/ni-c/osm-mcp:0.3.2"
],
"env": {
"OSM_USER_AGENT": "<YOUR_OSM_USER_AGENT>",
"ORS_API_KEY": "<YOUR_ORS_API_KEY>",
"OSM_ALLOW_TOOLS": "<YOUR_OSM_ALLOW_TOOLS>",
"OSM_DENY_TOOLS": "<YOUR_OSM_DENY_TOOLS>"
}
}
}
}Cline
{
"mcpServers": {
"osm-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OSM_USER_AGENT=<YOUR_OSM_USER_AGENT>",
"-e",
"ORS_API_KEY=<YOUR_ORS_API_KEY>",
"-e",
"OSM_ALLOW_TOOLS=<YOUR_OSM_ALLOW_TOOLS>",
"-e",
"OSM_DENY_TOOLS=<YOUR_OSM_DENY_TOOLS>",
"ghcr.io/ni-c/osm-mcp:0.3.2"
],
"env": {
"OSM_USER_AGENT": "<YOUR_OSM_USER_AGENT>",
"ORS_API_KEY": "<YOUR_ORS_API_KEY>",
"OSM_ALLOW_TOOLS": "<YOUR_OSM_ALLOW_TOOLS>",
"OSM_DENY_TOOLS": "<YOUR_OSM_DENY_TOOLS>"
}
}
}
}VS Code
{
"servers": {
"osm-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OSM_USER_AGENT=<YOUR_OSM_USER_AGENT>",
"-e",
"ORS_API_KEY=<YOUR_ORS_API_KEY>",
"-e",
"OSM_ALLOW_TOOLS=<YOUR_OSM_ALLOW_TOOLS>",
"-e",
"OSM_DENY_TOOLS=<YOUR_OSM_DENY_TOOLS>",
"ghcr.io/ni-c/osm-mcp:0.3.2"
],
"env": {
"OSM_USER_AGENT": "<YOUR_OSM_USER_AGENT>",
"ORS_API_KEY": "<YOUR_ORS_API_KEY>",
"OSM_ALLOW_TOOLS": "<YOUR_OSM_ALLOW_TOOLS>",
"OSM_DENY_TOOLS": "<YOUR_OSM_DENY_TOOLS>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"osm-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OSM_USER_AGENT=<YOUR_OSM_USER_AGENT>",
"-e",
"ORS_API_KEY=<YOUR_ORS_API_KEY>",
"-e",
"OSM_ALLOW_TOOLS=<YOUR_OSM_ALLOW_TOOLS>",
"-e",
"OSM_DENY_TOOLS=<YOUR_OSM_DENY_TOOLS>",
"ghcr.io/ni-c/osm-mcp:0.3.2"
],
"env": {
"OSM_USER_AGENT": "<YOUR_OSM_USER_AGENT>",
"ORS_API_KEY": "<YOUR_ORS_API_KEY>",
"OSM_ALLOW_TOOLS": "<YOUR_OSM_ALLOW_TOOLS>",
"OSM_DENY_TOOLS": "<YOUR_OSM_DENY_TOOLS>"
}
}
}
}Let your agent find its tools
Find servers like osm-mcp from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.