地图服务器集成工具

该项目集成了三种MCP风格的地图服务器(Nominatim、OSRM、Overpass),并通过OpenAI代理工具进行功能调用,适用于地理编码、路径规划和兴趣点查询等场景。

  • by shafikhw
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 shafikhw/mcp-map-agent-toolkit

使用说明

作业5-MCP地图服务器

该项目构建了三个MCP风格的地图服务器(Nominim、OSRM、Overpass),并通过功能工具将它们连接到OpenAI代理中。Jupyter笔记本(assignment5_notebook.ipynb)保存摘要、设计说明、测试和结果。

设置

  1. (如果需要)安装库:
    pip install -r requirements.txt
    
  2. 确保 OPENAI_API_KEY 已设置为代理聊天。

结构

  • src/servers/:用于Nominim(地理编码/反向/POI)、OSRM(路线/表格/最近)、Overpass(POI查找/计数/自定义)的异步客户端。
  • src/agent.py:聚合工具模式并分派命令。
  • scripts/demo_agent.py:使用OpenAI工具的交互式聊天循环。
  • scripts/quick_checks.py:轻型接线烟雾检查。
  • assignment5_notebook.ipynb:总结、设计、测试、注释。

用法

  • 代理演示(openai代理):
    PYTHONPATH=. python scripts/demo_agent.py --model gpt-4.1-mini
    
  • 烟雾接线检查(点击网络):
    PYTHONPATH=. python scripts/quick_checks.py
    
  • 笔记本示例(记录的运行):
    • 打开 assignment5_notebook.ipynb 并运行“保存的代理示例”下的固定提示单元格以捕获输出(地理编码、路线、POI)。每个单元格通过以下方式调用现有脚本 subprocess.

备注

  • 公共端点(Nominim/OSRM/Overpass)是速率受限的——保持较小的限制,并包括提供的用户代理(已在代码中设置)。
  • 根据最新指示删除了测试;使用笔记本示例单元格和脚本作为验证。
  • 如果您是自主机端点,则可以覆盖服务器构造函数中的基URL。