Skip to main content
Glama
webcoderz
by webcoderz

MCP-Geo

使用 GeoPY 对 MCP 服务器进行地理编码!

📋 系统要求

  • Python 3.6+

Related MCP server: Google Maps MCP Server

📦依赖项

安装所有必需的依赖项:

# Using uv
uv sync

所需软件包

  • fastmcp :构建模型上下文协议服务器的框架

  • geoPy :用于访问和地理编码/反向地理编码位置的 Python 库。

所有依赖项均在requirements.txt中指定,以方便安装。

📑 目录

🛠️ MCP 工具

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

geocode_location

  • 获取用户提供的地址或地名并返回最佳匹配的纬度、经度和格式化的地址。

  • 优雅地处理错误,如果未找到位置或发生错误则返回 None 。

反向地理编码

  • 获取纬度和经度并返回最近的地址。

  • 有助于查找有关地图上某个点的描述信息。

geocode_with_details

  • 与 geocode_location 类似,但如果地理编码器支持,则返回附加数据,例如边界框和更详细的地址信息。

geocode_multiple_locations

  • 接受地址字符串列表并返回每个地址的地理编码结果列表(纬度/经度/地址)。

  • 限制速率以避免达到地理编码服务配额。

反向地理编码多个位置

  • 接受 [lat, lon] 对的列表来对每个对执行反向地理编码。

  • 返回包含纬度、经度和地址的字典列表,如果查找失败则返回 None,同样有速率限制。

地址之间的距离

  • 计算两个地址或地名之间的距离。

  • 接受 2 个地址和一个测量单位(英里/公里)

  • 以指定的单位返回距离,如果任一地址无法进行地理编码,则返回 None。

坐标之间的距离

  • 计算两个纬度/经度对之间的距离。

  • 接受 2 对纬度和经度以及一个测量单位(公里/英里)

  • 以指定单位返回距离。

🚀 入门

克隆存储库:

git clone https://github.com/webcoderz/MCP-Geo.git
cd MCP-Geo

📦安装选项

您可以在 Claude Desktop 或其他任何地方安装此 MCP 服务器。请选择最适合您需求的选项。

选项 1:安装 Claude Desktop

使用 FastMCP 安装:

fastmcp install geo.py --name "MCP Geo"

选项 2:在其他地方安装

要在其他任何地方使用此服务器:

  1. 在设置文件中添加以下配置:

{
    "mcp-geo": {
        "command": "uv",
        "args": [
          "--directory",
          "MCP-Geo",
          "run",
          "geo.py"
        ],
        "env": {
        "NOMINATIM_URL": "${NOMINATIM_URL}",
        "SCHEME": "http",
        "GEOCODER_PROVIDER": "nominatim"
        }
    }
}

🔒 安全功能 • 速率限制:每次地理编码调用都受到速率限制(例如,1 秒延迟),以避免违反使用限制的过多请求。• 错误处理:捕获 geopy 异常(超时、服务错误)并返回安全的 None 结果,而不是崩溃。

📚 开发文档

如果您想扩展或修改此服务器:• 查看 geo.py 了解每个工具的实现方式以及 geopy 的集成方式。• 调整环境变量以切换提供商(Nominatim、ArcGIS、Bing 等)。• 查看 geopy 的官方文档,了解高级用法,例如边界框、语言设置或高级数据提取。

⚙️ 环境变量

使用环境变量配置服务器:

多变的

描述

默认

GEOCODER_PROVIDER (可选)

“nominatim”、“arcgis”或“bing”

提名

NOMINATIM_URL (可选)

Nominatim 的域名

nominatim.openstreetmap.org

SCHEME (可选)

http/https

http

ARC_USERNAME (ArcGIS 可选)

ArcGIS 用户名

没有任何

ARC_PASSWORD (ArcGIS 可选)

ArcGIS 密码

没有任何

BING_API_KEY (Bing 必需)

您的 Bing 地图密钥。

没有任何

这些可以在你的 shell 或 MCP 设置文件中设置。如果需要更多设置,只需编辑 geo.py 并将其添加到你正在使用的地理编码器中。

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/webcoderz/MCP-Geo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server