返回 MCP 目录
public公开dns本地运行

MCP-Geo

MCP-Geo是一个基于GeoPY的MCP服务器,提供地理编码和反向地理编码功能,支持多种地理编码服务提供商,如Nominatim、ArcGIS和Bing。

article

README

🚀 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 文件,并添加所需的地理编码器参数。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端