企业OpenStreetMap(OSM)MCP分析服务器
用于OpenStreetMap的模块化高性能模型上下文协议(MCP)服务器。这种实现超越了简单的地理编码,提供了高级的地理空间分析,如社区宜居性评分和通勤分析。
🚀 为什么是这个服务器?
虽然有许多OSM MCP服务器,但此版本是为 稳定, 模块化扩展,以及 高级见解:
- 模块化架构:清除API客户端、实用程序逻辑和工具定义之间的分隔。易于审计和扩展。
- 企业分析:
- analyze_neighborhood:根据步行距离基本服务(杂货、医疗保健、公园)计算“宜居性得分”。 - analyze_commute:用于生活方式规划的旅行时间(汽车、自行车、步行)的多模式比较。
- 高效:使用FastMCP进行异步I/O和结构化工具注册。
- Windows优化:构建并测试为在Windows环境中作为后台进程可靠运行。
🛠 特性
核心工具
- 地理编码:
geocode_address,reverse_geocode - 路由:
get_route_directions(基于OSRM) - 搜索:
find_nearby_places,search_category - 分析:
explore_area,analyze_neighborhood,analyze_commute
专用工具(可选)
在中找到 tools/extras.py (默认情况下不加载性能):
find_schools_nearbyfind_ev_charging_stationsfind_parking_facilitiessuggest_meeting_point
资源
location://place/{query}:实时地点元数据。location://map/{style}/{z}/{x}/{y}:交互式地图图块检索。
📦 安装
需求
- Python 3.10+
uv(推荐)或pip
方法1:通过MCP配置(Claude/Cursor)
将此添加到您的 mcp_config.json:
{
"mcpServers": {
"osm-mcp": {
"command": "python",
"args": [
"c:/path/to/osm-mcp-server/src/openstreetmap_mcp/server.py"
],
"env": {
"PYTHONPATH": "c:/path/to/osm-mcp-server/src/openstreetmap_mcp"
}
}
}
}方法二:地方发展
git clone https://github.com/neco001/openstreetmap-mcp
cd openstreetmap-mcp
uv sync📂 项目结构
src/openstreetmap_mcp/
├── server.py # Main Entry Point
├── instance.py # FastMCP lifecycle
├── client.py # HTTP logic for OSM/OSRM/Overpass
├── utils.py # Haversine & geometric helpers
├── tools/ # Categorized tool definitions
│ ├── geocoding.py
│ ├── routing.py
│ ├── search.py
│ └── analysis.py
└── resources.py # Map & Data resources⚖️ 许可证
MIT许可证-可以自由使用、修改和分发。
致谢
原创逻辑和概念 贾根·尚穆根。此存储库是一个模块化重构,侧重于企业使用、Windows兼容性和分析工具。
