GitHub Stars
27
User Rating
Not Rated
Favorites
0
Views
30
Forks
6
Issues
2
README
MCP-OSM: OpenStreetMap Integration for MCP
This package provides OpenStreetMap integration for MCP, allowing users to query
and visualize map data through an MCP interface.
Features
- Web-based map viewer using Leaflet and OpenStreetMap
- Server-to-client communication via Server-Sent Events (SSE)
- MCP tools for map control (adding markers, polygons, setting view, getting view)
- PostgreSQL/PostGIS query interface for OpenStreetMap data
Installation
This is my claude_desktop_config.json:
{
"mcpServers": {
"OSM PostgreSQL Server": {
"command": "/Users/wiseman/.local/bin/uv",
"args": [
"run",
"--env-file",
".env",
"--with",
"mcp[cli]",
"--with",
"psycopg2",
"--with-editable",
"/Users/wiseman/src/mcp-osm",
"--directory",
"/Users/wiseman/src/mcp-osm",
"mcp",
"run",
"mcp.py"
]
}
}
}
When the MCP server starts it also starts a web server at http://localhost:8889/
that has the map interface.
Environment Variables
The following environment variables can be used to configure the MCP:
FLASK_HOST- Host for the Flask server (default: 127.0.0.1)FLASK_PORT- Port for the Flask server (default: 8889)PGHOST- PostgreSQL host (default: localhost)PGPORT- PostgreSQL port (default: 5432)PGDB- PostgreSQL database name (default: osm)PGUSER- PostgreSQL username (default: postgres)PGPASSWORD- PostgreSQL password (default: postgres)
MCP Tools
The following MCP tools are available:
get_map_view- Get the current map viewset_map_view- Set the map view to specific coordinates or boundsset_map_title- Set the title displayed at the bottom right of the mapadd_map_marker- Add a marker at specific coordinatesadd_map_line- Add a line defined by a set of coordinatesadd_map_polygon- Add a polygon defined by a set of coordinatesquery_osm_postgres- Execute a SQL query against the OpenStreetMap database
