open-streetmap
An OpenStreetMap MCP server implementation that enhances LLM capabilities with location-based services and geospatial data.
claude mcp add --transport stdio jagan-shanmugam-open-streetmap-mcp uvx osm-mcp-server
How to use
The OpenStreetMap (OSM) MCP Server extends the MCP ecosystem with tools and resources that let language models interact with OpenStreetMap data. It provides geocoding and reverse geocoding, nearby place discovery, routing directions, category-based searches within bounding boxes, and specialized utilities such as meeting-point suggestions and neighborhood analyses. Through the server, you can invoke tools like geocode_address, reverse_geocode, find_nearby_places, get_route_directions, search_category, suggest_meeting_point, explore_area, find_schools_nearby, analyze_commute, find_ev_charging_stations, analyze_neighborhood, and find_parking_facilities to build location-aware capabilities into your applications or LLM workflows. The server exposes a mix of resources (location://place and location://map) and tools that return structured location data suitable for downstream reasoning and decision making.
How to install
Prerequisites:
- Python with the uv toolchain installed (as indicated by the uv-based commands in this repository).
- Access to a development environment where you can run MCP servers via stdio (as described in the README).
Step-by-step installation:
- Install the package in development mode if you're actively developing or testing locally:
pip install -e .
- Start the MCP server:
osm-mcp-server
- The server will start and listen for MCP requests on standard input/output. You can verify by sending a test MCP invocation or by using the included example clients in the repository (see the examples/ directory for client.py and llm_client.py).
Optional development and testing workflow using uv tooling (as described in the repository):
uv sync
uv build
uv publish
Note: Depending on your environment, you may use Claude Desktop or other MCP hosts. For local development with Claude-style config, you can reference the unpublished server configuration example in the README under Development/Unpublished Servers Configuration.
Additional notes
Tips and caveats:
- MCP servers operate over stdio; debugging can be challenging. The MCP Inspector tool is recommended for interactive debugging and introspection.
- If you’re testing locally, you can use the provided example clients in examples/ to exercise geocoding, nearby searches, and routing features.
- For Claude Desktop integration, you may need to adapt the config to the editor’s expected mcpServers format (the repository includes an example for local server configurations).
- Environment variables are not strictly required for basic operation, but you may need credentials or API keys for advanced OSM sources or caching layers. Keep credentials out of the codebase and use environment variables or secure vaults as appropriate.
- When testing, ensure your environment can access any external OSM data sources the server relies on (e.g., network access for geocoding, routing, and POI lookup).
Related MCP Servers
PPTAgent
An Agentic Framework for Reflective PowerPoint Generation
mcp-aktools
📈 提供股票、加密货币的数据查询和分析功能MCP服务器
mcp -odoo
A Model Context Protocol (MCP) server that enables AI assistants to securely interact with Odoo ERP systems through standardized resources and tools for data retrieval and manipulation.
BinAssistMCP
Binary Ninja plugin to provide MCP functionality.
mcp -docy
A Model Context Protocol server that provides documentation access capabilities. This server enables LLMs to search and retrieve content from documentation websites by scraping them with crawl4ai. Built with FastMCP v2.
the -company
TheMCPCompany: Creating General-purpose Agents with Task-specific Tools