GeoIP查询服务

一个基于MaxMind GeoIP2数据库的轻量级MCP服务器,提供IP地理位置查询和匿名IP检测功能。

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

使用说明

mm geoip mcp

一个最小的MCP(模型上下文协议)服务器,提供GeoIP查找和 使用MaxMind GeoIP2数据库进行匿名IP检测。

特性

  • GeoIP查找: 使用MaxMind GeoIP2 City数据库返回IP地址的位置和相关信息。
  • 匿名IP检测: 使用MaxMind GeoIP2匿名IP数据库检测IP是否是代理、VPN或其他匿名器。

需求

  • Python 3.11+
  • 以下MaxMind数据库文件(用于测试,测试文件包含在 test-data/):
    • GeoIP2-City-Test.mmdb
    • GeoIP2-Anonymous-IP-Test.mmdb

安装

  1. 克隆此存储库:

    git clone https://github.com/kevcenteno/mm-geoip-mcp.git
    cd mm-geoip-mcp
    
  2. 使用以下方法之一安装依赖项:

    • 随着 紫外线 (推荐用于速度、用途 uv.lock):
      uv pip install -r requirements.txt
      
    • 使用pip:
      pip install -r requirements.txt
      
    • 诗歌:
      poetry install
      

    这 uv.lock 文件是为使用uv进行可重复安装而提供的。

用法

环境变量

使用环境变量配置MaxMind数据库文件的路径(可选):

  • CITY_DB_PATH:GeoIP2城市数据库文件的路径。
  • ANONYMOUS_DB_PATH:GeoIP2匿名IP数据库文件的路径。

如果未设置,服务器将使用中的测试数据库 test-data/.

运行MCP服务器

python main.py

或

uv run main.py

服务器将启动并公开以下MCP工具:

  • geoip_lookup(ip: str) -> dict:对提供的IP地址执行GeoIP城市查找。
  • anonymous_ip_lookup(ip: str) -> dict:检查IP是否被检测为匿名器(代理/VPN)。

许可证

麻省理工学院