Back to MCP directory
publicPublicdnsLocal runtime

ipsearch-mcp

离线IP Whois查询工具,支持通过IPv4地址查询归属信息及通过关键词反向搜索关联IP段,可用于目标资产收集,现已集成MCP协议便于AI客户端调用。

article

README

🚀 IPSearch-MCP

IPSearch-MCP 是一款离线 IP Whois 查询工具,现已支持 MCP 协议集成。它可以根据关键词反向查询关联 IP,助力用户收集目标资产,还能借助 AI 输入目标系统名称自动化反查 IP 段。此工具使用 golang 编写,纯 Go 实现支持交叉编译,能够做到一次编译到处运行,可方便地集成至安全从业者的工作流中。

原项目: IPSearch

原项目原理:IPSearch原项目原理

✨ 主要特性

1. IP 查询(ip_lookup)

依据 IPv4 地址查询所属 IP 段以及 IPWhois 信息,具体涵盖:

  • IP 段范围(inetnum)
  • 网络名称(netname)
  • 归属国家(country)
  • 详细描述(descr)
  • 状态信息(status)
  • 最后修改时间(last - modified)

MCP 相关示例图: image-20251028153550286

2. 关键词查询(keyword_lookup)

根据 IPWhois 登记信息关键字搜索 IP 段,具备以下特性:

  • 支持多关键词组合查询(逗号分隔)
  • 可同时匹配 descr 和 netname 字段
  • 最多返回 2000 条结果

MCP 相关示例图: image-20251028153739898 image-20251028153702023

参考提示词

  - 若用户提供 IPv4 地址,请调用 ip_lookup 工具查询 IP Whois 信息,并返回包含 IP 段、名称、描述、国家、状态、最后修改等字段的结果。确保在调用前对 IP 做基础校验,非合法 IPv4 要提示用户重新输入。        
  - 若用户提供单位名称,请先判断所属地区、机构类型及关键名词,然后构造多组关键词多次调用 keyword_lookup 工具,具体规则(禁止使用单独的高匹配度关键词,如zhejiang,这会导致返回大量结果无法处理):                                                                                     
      - 第一次:提取单位中文名称拼音首字母,示例:浙江第一人民医院 → zjdyrmyy。
      - 第二次:提取单位英文分词组合:示例:浙江第二人民医院 → zhejiang,second,hospital                                                                                                                 
      - 第三次:提取单位中文拼音分词组合,示例:浙江第一人民医院 → zhejiang,diyi,yiyuan                                                                   
      - 第三次:格式为“地区英文 + 公司主要拼音”,示例:吉林混论机械股份有限公司 → jilin,kunlun
      - 第四次:格式为“地区英文 + 公司主要英文”,示例:浙江酒股份有限公司 → zhejiang,wine,ltd  
  - 依次尝试上述关键词组合,即使前一个返回了结果,依旧需要走完所有规则。确保每次搜索的关键词字符串去除多余空格,必要时可以组合多个关键词一起查询(例如 zhejiang,hospital,first 与 zhejiang,hospital,zjdyrmyy)。       
  - 返回搜索结果时,请将IP段修改为CIDR的格式,并提供IP段归属为该公司的原因
    - 例子:
      1. 111.111.111.0/24 | IP段描述/名称原文 | 中文翻译
      2. 111.111.222.0/24 | IP段描述/名称原文 | 中文翻译因
      

🔧 技术细节

  • MCP 协议支持:作为 MCP Server 运行,可集成到支持 MCP 的 AI 客户端中。
  • 纯 Go 实现:使用 github.com/glebarez/go - sqlite 驱动,支持完整交叉编译。
  • 离线数据库:基于 SQLite 的 IP.db 数据库,无需网络连接。
  • 高性能查询:优化的 SQL 查询和索引设计。

IP.db 为 SQLite 格式的 IP 数据库,若此工具不满足要求,用户可用此库自行实现相关功能。

📦 安装指南

编译

# 克隆代码
git clone <repository-url>
cd IPSearch

# 编译当前平台
go build -o IPSearch

# 交叉编译示例
# Linux AMD64
GOOS=linux GOARCH=amd64 go build -o IPSearch-linux-amd64

# macOS AMD64
GOOS=darwin GOARCH=amd64 go build -o IPSearch-darwin-amd64

# macOS ARM64 (M1/M2)
GOOS=darwin GOARCH=arm64 go build -o IPSearch-darwin-arm64

# Windows AMD64
GOOS=windows GOARCH=amd64 go build -o IPSearch-windows-amd64.exe

运行

  1. 下载源码编译,或者在 Release 下载适合自己系统的 IPSearch。
  2. 下载 IP.zip,解压后把 IP.db 放在 IPSearch 同目录下。
  3. 在 cherrystudio 配置对应的 MCP 服务器。 image-20251028154519149
  4. 工具将通过标准输入输出与 MCP 客户端通信。

💻 使用示例

MCP 工具说明

ip_lookup

  • 参数ip (string, 必需) - 待查询的 IPv4 地址。
  • 返回:IP 段及完整的 IPWhois 信息。

keyword_lookup

  • 参数keywords (string, 必需) - 逗号分隔的关键字列表。
  • 返回:匹配的 IP 段列表(最多 2000 条)。

📚 详细文档

依赖说明

  • Go 1.23.0+
  • github.com/glebarez/go - sqlite - 纯 Go SQLite 驱动,支持交叉编译。
  • github.com/mark3labs/mcp - go - MCP 协议实现。
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client