IPSearch-MCP — офлайн-поиск IP и Whois через MCP
IPSearch — это инструмент на Go для offline-поиска IP-Whois-информации и обратного поиска IP-диапазонов по ключевым словам. Проект адаптирован для работы как MCP-сервер (Model Context Protocol), что позволяет интегрировать его в AI-клиенты (например, Cherry Studio) и автоматизировать сбор данных о сетевых активах.
Основан на оригинальном проекте IPSearch (описание принципов — статья на FreeBuf).
Основные возможности
- ip_lookup — поиск по IPv4-адресу: определение принадлежащего IP-диапазона (inetnum), сетевого имени (netname), страны (country), описания (descr), статуса и даты последней модификации.
- keyword_lookup — поиск IP-диапазонов по ключевым словам (по полям descr и netname). Поддерживает комбинации из нескольких слов через запятую, до 2000 результатов.
Технические особенности
- Полностью на Go — используется
github.com/glebarez/go-sqlite (pure-Go драйвер), возможна кросскомпиляция под любые платформы.
- Офлайн-база — данные хранятся в SQLite-файле
IP.db, не требуется доступ в интернет.
- MCP-совместимость — общение с AI-клиентами через stdin/stdout по протоколу MCP (
github.com/mark3labs/mcp-go).
Установка и запуск
- Скачайте исходный код или готовый бинарник из релизов.
- Скачайте архив
IP.zip, извлеките IP.db в папку с исполняемым файлом.
- Настройте MCP-сервер в клиенте (например, в Cherry Studio) — путь к бинарнику.
Компиляция из исходников
git clone <repository-url>
cd IPSearch
go build -o IPSearch # для текущей ОС
# примеры кросс-компиляции
GOOS=linux GOARCH=amd64 go build -o IPSearch-linux-amd64
GOOS=darwin GOARCH=arm64 go build -o IPSearch-darwin-arm64
GOOS=windows GOARCH=amd64 go build -o IPSearch-windows-amd64.exe
MCP-инструменты
| Инструмент |
Параметры |
Описание |
ip_lookup |
ip (string, обязательный) — IPv4-адрес |
Возвращает полную Whois-информацию. |
keyword_lookup |
keywords (string, обязательный) — ключевые слова через запятую |
Возвращает до 2000 совпадающих IP-диапазонов. |
Примеры использования в AI-ассистенте (подсказки)
- При запросе IPv4-адреса вызывать
ip_lookup и возвращать данные с переводом полей. Перед вызовом проверять корректность адреса.
- При запросе по названию организации (например, «ООО Ромашка») последовательно генерировать несколько вариантов ключей и вызывать
keyword_lookup для каждого:
- пиньинь-аббревиатура (romashka → rmsk, но не
zhejiang — слишком широко);
- английские слова из названия;
- латинская транслитерация китайских слов;
- комбинация региона + основное слово.
- Всегда обрабатывать все варианты, даже если первый уже дал результаты.
- В ответе приводить IP-диапазоны в формате CIDR и пояснять, почему они относятся к искомой организации.
Пример вывода:
1. 111.111.111.0/24 | Network Name / Description | перевод
2. 111.111.222.0/24 | Network Name / Description | перевод
Зависимости
- Go 1.23.0+
github.com/glebarez/go-sqlite
github.com/mark3labs/mcp-go
Комментарии
Комментариев пока нет. Будьте первым.