IP地理位置查询服务器

一个基于Model Context Protocol的服务器,提供IP地理位置查询、ISP识别、VPN/代理/Tor出口节点检测及IP地图生成功能。

  • by briandconnelly
  • Python
  • 本地部署
  • 44 星标
  • 更新于
在 GitHub 查看 briandconnelly/mcp-server-ipinfo

使用说明

IP地理定位MCP服务器

A. 模型上下文协议 暴露的服务器 Fo.io API到人工智能代理。对IPv4和IPv6地址进行地理定位,识别ISP和ASN,检测VPN/代理/Tor出口节点,并为IP集生成交互式地图。

安装

在注册免费IPInfo API令牌 https://ipinfo.io/signup 如果你没有。服务器运行时没有令牌(免费的Lite层——国家和ASN基础),但大多数字段都需要令牌。

Claude Desktop(一键捆绑包)

下载 .mcpb 捆绑从 最新版本 并在Claude Desktop中打开它进行安装。您可以设置 IPINFO_API_TOKEN (以及可选的缓存调优);将令牌留空,以便在免费的Lite层中运行。捆绑包通过以下方式启动服务器 uv,所以 uv 必须安装在您的系统上 PATH (GUI应用程序不会继承你的shell PATH).

其他MCP客户端

大多数MCP客户端接受以下值:

字段 值
命令 uvx
参数 mcp-server-ipinfo
环境 IPINFO_API_TOKEN = <YOUR TOKEN>

开发版本

从运行最新 main:

字段 值
命令 uvx
参数 --from, git+https://github.com/briandconnelly/mcp-server-ipinfo, mcp-server-ipinfo
环境 IPINFO_API_TOKEN = <YOUR TOKEN>

工具

  • ipinfo_lookup_my_ip() --对主叫客户端自己的IP进行地理定位。不争论。在stdio传输上,结果反映了此服务器的出站IP,而不是最终用户的IP。
  • ipinfo_lookup_ips(ips, detail="summary") --对一个或多个指定的IP进行地理定位。默认为 detail="summary",其中 省略 用于批量代币节省的重嵌套块(大陆、旗帜、货币、滥用、域名);通过 detail="full" 对于每一个领域。每次通话的IP上限为500000。无效或特殊用途的地址(私有、环回等)将通过以下方式进行过滤 ctx.warning() 并从结果列表中排除,上游失败的IP也是如此——返回match IPDetails.ip 将值返回到您的输入中,以检测丢失的内容。如果每次尝试查找都失败 api_error 提高。
  • ipinfo_summarize_ips(ips, group_by=("country", "asn"), top_n=50) --按国家、大陆、ASN和/或隐私标志将批次定位并聚合为固定大小的计数和百分比。对于每IP记录会浪费上下文的大型日志分析任务,请使用此功能。返回映射的、跳过的和失败的计数,加上前N个组的上限。
  • ipinfo_check_residential_proxy(ip) --检查IP是否是已知的住宅代理出口节点。标记 enterprise --需要IPInfo住宅代理插件。
  • ipinfo_generate_map_url(ips) --为一组IP构建交互式ipinfo.io地图。返回a MapResult 使用URL、制作地图的计数、筛选出的IP(带原因,上限为100),以及 truncated 旗帜。

计划层次

层级 可用字段
免费精简版(无令牌) 国家、国家代码、大陆、ASN基础
核心 完整的地理位置、ASN详细信息、隐私/VPN/代理/Tor/托管标志
加上 添加运营商和公司数据
企业 添加域名和滥用联系人
住宅代理插件 启用 ipinfo_check_residential_proxy在Enterprise上单独出售;默认情况下不包括在内。

错误

每个工具都会产生一个 ToolError 其消息是一个JSON编码的信封,具有稳定的 code (invalid_ip_address, special_ip_unsupported, no_valid_ips, too_many_ips, auth_invalid, auth_insufficient_scope, quota_exceeded, timeout, api_error, unknown_error一 temporary 标志,可选 retry_after_ms一 repair 提示,以及a request_id 相关id。代理应将消息解析为JSON,并在 code。每个工具还公布了它可以通过以下方式生成的代码子集 meta.error_codes,因此您可以从工具自检中看到分支集。

配置

环境变量

变量 描述 默认值
IPINFO_API_TOKEN IPInfo API令牌。没有它,服务器将以免费Lite模式运行。 未设置(精简版)
IPINFO_CACHE_TTL 每个IP缓存的TTL(秒)。缓存结果保留其原始结果 ts_retrieved 时间戳。 3600
IPINFO_CACHE_SIZE 最旧的第一次驱逐之前的最大缓存条目数。 4096

许可证

MIT许可证——见 许可证.发布历史 更改日志.md.

免责声明

该项目与 油漆.