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 相关示例图:

2. 关键词查询(keyword_lookup)
根据 IPWhois 登记信息关键字搜索 IP 段,具备以下特性:
- 支持多关键词组合查询(逗号分隔)
- 可同时匹配 descr 和 netname 字段
- 最多返回 2000 条结果
MCP 相关示例图:

参考提示词
- 若用户提供 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
运行
- 下载源码编译,或者在 Release 下载适合自己系统的 IPSearch。
- 下载 IP.zip,解压后把 IP.db 放在 IPSearch 同目录下。
- 在 cherrystudio 配置对应的 MCP 服务器。

- 工具将通过标准输入输出与 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 协议实现。
微信扫一扫