MCP Geo

MCP Geo

🚀 MCP-Geo

MCP-Geo 是一个利用 GeoPY 实现的地理编码服务器,为大型语言模型提供强大的地理编码工具!

🚀 快速开始

  1. 安装所需依赖项:

    pip install -r requirements.txt
    
  2. 配置环境变量(可选): 根据需要设置以下环境变量:

    export GEOCODER_PROVIDER="nominatim"  # 可选:nominatim、arcgis 或 bing
    export NOMINATIM_URL="nominatim.openstreetmap.org"  # 可选:Nominatim 域
    export SCHEME="http"  # 可选:http 或 https
    export ARC_USERNAME="your_arcgis_username"  # 可选:ArcGIS 用户名
    export ARC_PASSWORD="your_arcgis_password"  # 可选:ArcGIS 密码
    export BING_API_KEY="your_bing_maps_key"  # 必需(仅限 Bing)
    
  3. 运行服务器:

    python server.py
    

✨ 主要特性

此 MCP 服务器为大型语言模型 (LLMs) 提供以下地理编码工具:

  • geocode_location:接受用户提供的地址或地名,并返回最佳匹配的纬度、经度和格式化地址。若找不到位置或发生错误,会处理错误并优雅返回 None。
  • reverse_geocode:接受纬度和经度,并返回最近的地址,用于查找地图上某点的描述性信息。
  • geocode_with_details:类似于 geocode_location,但返回更多数据,如边界框和其他详细地址信息(如果地理编码器支持)。
  • geocode_multiple_locations:接受地址字符串列表,并为每个地址返回纬度和经度,支持多个位置的批量处理。
  • reverse_geocode_multiple_locations:接受纬度和经度列表,并为每个坐标返回最近的地址,适合批量反向地理编码操作。

📦 安装指南

系统要求

  • Python 3.6+

依赖项

安装所有必需的依赖项:

# 使用 uv
uv 同步

必需包

  • fastmcp:构建模型上下文协议服务器的框架。
  • geoPy:用于访问和对地址或位置进行地理编码/反向地理编码的 Python 库。

所有依赖项均在 requirements.txt 中列出,以便轻松安装。

📚 详细文档

安全功能

  • 所有地理编码请求均通过 HTTPS 默认进行,确保数据传输安全。
  • 支持限制速率和 API 密钥验证(针对 Bing 地理编码器)。

开发文档

要了解如何扩展或自定义服务器,请参阅 geo.pyserver.py 文件。您可以根据需要添加更多地理编码功能或调整现有逻辑。

环境变量

变量名 描述 默认值
GEOCODER_PROVIDER(可选) "nominatim"、"arcgis" 或 "bing" nominatim
NOMINATIM_URL(可选) Nominatim 域 nominatim.openstreetmap.org
SCHEME(可选) http/https http
ARC_USERNAME(可选,针对 ArcGIS) ArcGIS 用户名 None
ARC_PASSWORD(可选,针对 ArcGIS) ArcGIS 密码 None
BING_API_KEY(必需,针对 Bing) 您的 Bing Maps API 密钥 None

这些变量可以在您的 shell 中设置,或在 MCP 设置文件中根据环境进行配置。如果需要更多自定义,请编辑 geo.py 文件,并添加所需的地理编码器参数。

  • 0 关注
  • 0 收藏,24 浏览
  • system 提出于 2025-10-01 11:51

相似服务问题

相关AI产品