地理空间分析服务器

企业级OpenStreetMap MCP分析服务器,提供高级地理空间分析功能,如社区宜居性评分和通勤分析。

  • by neco001
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 neco001/openstreetmap-mcp

使用说明

企业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_nearby
  • find_ev_charging_stations
  • find_parking_facilities
  • suggest_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兼容性和分析工具。