Skip to main content
Glama
n3r0-b1n4ry

AbuseIPDB MCP Server

by n3r0-b1n4ry

MCP-сервер AbuseIPDB

Сервер протокола контекста модели (MCP) для интеграции с API AbuseIPDB. Запрашивайте отчеты о злоупотреблениях IP и отправляйте новые отчеты — напрямую из вашего ИИ-ассистента.

PyPI Python MCP Docker License GitHub

📦 Установка: uvx mcp-abuseipdb · pip install mcp-abuseipdb · PyPI

Интеграции MCP

Возможности

  • 🔍 Проверка IP — Запрос в AbuseIPDB для получения отчетов о злоупотреблениях по любому адресу IPv4/IPv6 с подробными деталями

  • 🚨 Отчет об IP — Отправка отчетов о злоупотреблениях для вредоносных IP-адресов

  • 🚀 Без установки с uvx — Мгновенный запуск через uvx mcp-abuseipdb, настройка не требуется

  • 🌐 Несколько транспортов — Stdio (по умолчанию) и Streamable HTTP (спецификация MCP от 26.03.2025)

  • 📦 Пакет PyPI — Установка через pip install mcp-abuseipdb

  • 🐳 Готовность к Docker — Легковесный контейнер на базе Alpine

  • Async/Await — Высокопроизводительные асинхронные операции

  • 🗂️ Полные категории — Полное сопоставление категорий 1-23 с человекочитаемыми названиями

  • 🔄 Обработка ограничений скорости — Автоматическая информация о повторных попытках при ответах 429

  • Валидация ввода — Надежная проверка IPv4/IPv6 и параметров

  • 🧹 Чистый вывод — Читаемый текстовый вывод, оптимизированный для MCP-клиентов

Related MCP server: Threat Intelligence MCP Server

Быстрый старт

Использование uvx (рекомендуется)

Самый быстрый способ — без клонирования, без установки, без виртуального окружения:

# Run directly (stdio transport)
ABUSEIPDB_API_KEY="your_api_key_here" uvx mcp-abuseipdb

# With HTTP transport
ABUSEIPDB_API_KEY="your_api_key_here" uvx mcp-abuseipdb --transport http --port 8000

Предварительное требование: должен быть установлен uv. Установка: pip install uv · curl -LsSf https://astral.sh/uv/install.sh | sh · Windows

Использование pip

pip install mcp-abuseipdb

export ABUSEIPDB_API_KEY="your_api_key_here"
mcp-abuseipdb

Использование Docker

docker build -t abuseipdb-mcp .
docker run -it --rm -e ABUSEIPDB_API_KEY="your_api_key_here" abuseipdb-mcp

Живая демонстрация

Проверка репутации IP и расширенный анализ

Тест MCP с LLM 1

Пример: check_ip анализирует подозрительный IP-адрес с исчерпывающими отчетами о злоупотреблениях, категориями, геолокацией и данными об угрозах.

Тест MCP с LLM 2

Расширенное использование: подробный анализ IP с детальными отчетами, информацией об ISP, показателями уверенности в злоупотреблении и недавними паттернами атак.

Конфигурация MCP-клиента

Claude Desktop — uvx (рекомендуется)

Добавьте в claude_desktop_config.json:

{
  "mcpServers": {
    "abuseipdb": {
      "command": "uvx",
      "args": ["mcp-abuseipdb"],
      "env": {
        "ABUSEIPDB_API_KEY": "your_api_key_here"
      }
    }
  }
}

Claude Desktop — uvx с транспортом HTTP

{
  "mcpServers": {
    "abuseipdb": {
      "command": "uvx",
      "args": ["mcp-abuseipdb", "--transport", "http", "--port", "8000"],
      "env": {
        "ABUSEIPDB_API_KEY": "your_api_key_here"
      }
    }
  }
}

Удаленный сервер (Streamable HTTP)

{
  "mcpServers": {
    "abuseipdb": {
      "url": "http://your-server:8000/mcp"
    }
  }
}

Docker (Stdio)

{
  "mcpServers": {
    "abuseipdb": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "ABUSEIPDB_API_KEY=your_api_key_here",
        "abuseipdb-mcp"
      ]
    }
  }
}

Docker (Streamable HTTP)

# Start container
docker run -d --rm \
  -e ABUSEIPDB_API_KEY="your_api_key_here" \
  -e MCP_TRANSPORT=http \
  -p 8000:8000 \
  abuseipdb-mcp
{
  "mcpServers": {
    "abuseipdb": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

📁 Больше примеров конфигурации: examples/mcp-client-configs.json

Доступные инструменты

1. check_ip

Проверка IP-адреса на наличие отчетов о злоупотреблениях.

Параметр

Тип

Обязательно

По умолчанию

Описание

ipAddress

string

IPv4 или IPv6 адрес для проверки

maxAgeInDays

integer

30

Возвращать отчеты только за последние x дней (1-365)

verbose

boolean

true

Включить подробные отчеты в ответ

Пример ввода:

{
  "ipAddress": "134.122.87.122",
  "maxAgeInDays": 30,
  "verbose": true
}

Пример вывода:

AbuseIPDB Check Results

IP Address: 134.122.87.122
Abuse Confidence Score: 75%
Is Public: Yes
Is Whitelisted: No
Country: United States (US)
ISP: DigitalOcean, LLC
Usage Type: Data Center/Web Hosting/Transit
Domain: digitalocean.com
Total Reports: 15
Categories: Brute-Force, SSH, Port Scan, Hacking

2. report_ip

Отправка отчета о злоупотреблении IP-адресом в AbuseIPDB.

Параметр

Тип

Обязательно

Описание

ip

string

IPv4 или IPv6 адрес для отчета

categories

string

ID категорий через запятую (например, "18,22")

comment

string

Описательный текст атаки (без персональных данных)

timestamp

string

Дата и время атаки в формате ISO 8601

Пример ввода:

{
  "ip": "192.168.1.100",
  "categories": "18,22",
  "comment": "Multiple SSH brute force attempts detected",
  "timestamp": "2024-01-15T10:30:00Z"
}

Категории злоупотреблений

ID

Категория

ID

Категория

ID

Категория

1

Компрометация DNS

9

Открытый прокси

17

Спуфинг

2

Отравление DNS

10

Веб-спам

18

Брутфорс

3

Мошеннические заказы

11

Email-спам

19

Вредоносный веб-бот

4

DDoS-атака

12

Спам в блогах

20

Эксплуатируемый хост

5

FTP-брутфорс

13

VPN IP

21

Атака на веб-приложение

6

Ping of Death

14

Сканирование портов

22

SSH

7

Фишинг

15

Взлом

23

Целевая атака на IoT

8

Мошенничество VoIP

16

SQL-инъекция

Типы транспорта

Транспорт

Вариант использования

Протокол

stdio (по умолчанию)

Локальные MCP-клиенты (Claude Desktop и др.)

Стандартный ввод/вывод

http

Удаленный доступ, мультиклиент, облачное развертывание

Streamable HTTP (спецификация MCP от 26.03.2025)

Запуск сервера

# Stdio (default)
mcp-abuseipdb

# HTTP transport
mcp-abuseipdb --transport http

# HTTP with custom host/port
mcp-abuseipdb --transport http --host 127.0.0.1 --port 3000

# Via environment variables
MCP_TRANSPORT=http MCP_PORT=3000 mcp-abuseipdb

Тестирование транспорта HTTP

mcp-abuseipdb --transport http --port 8000

curl -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","method":"initialize","id":1,"params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

Развертывание в Docker

Сборка и запуск

docker build -t abuseipdb-mcp .
docker run -it --rm -e ABUSEIPDB_API_KEY="your_api_key_here" abuseipdb-mcp

Docker Compose

Включенный docker-compose.yml предоставляет два предварительно настроенных сервиса:

# Stdio service
ABUSEIPDB_API_KEY="your_key" docker compose --profile stdio up abuseipdb-mcp

# HTTP service (exposed on port 8000)
ABUSEIPDB_API_KEY="your_key" docker compose --profile http up abuseipdb-mcp-http

Разработка

Локальная настройка

git clone https://github.com/n3r0-b1n4ry/mcp-abuseipdb.git
cd mcp-abuseipdb

python -m venv venv
source venv/bin/activate   # Linux/macOS
venv\Scripts\activate      # Windows

pip install -e .

export ABUSEIPDB_API_KEY="your_api_key_here"
mcp-abuseipdb

Запуск тестов

python -m pytest test/test_server.py -v

Сборка и публикация

python -m build
python -m twine upload dist/*

Обработка ошибок

Ошибка

Поведение

Ограничение скорости (429)

Возвращает длительность ожидания и оставшуюся квоту

Неверный API-ключ

Понятное сообщение об ошибке аутентификации

Неверный формат IP

Валидация формата с полезным сообщением

Ошибки API

Подробный ответ об ошибке с кодами состояния

Сетевые проблемы

Обработка тайм-аутов и ошибок соединения

Ограничения скорости

План

Эндпоинт проверки

Эндпоинт отчета

Free

1 000/день

100/день

Basic

3 000/день

300/день

Premium

10 000/день

1 000/день

Enterprise

100 000/день

10 000/день

Зависимости

Пакет

Версия

Назначение

mcp

≥1.12.0, <2.0.0

SDK протокола контекста модели

httpx

≥0.27.0

Асинхронный HTTP-клиент

pydantic

≥2.8.0

Валидация данных

python-dotenv

≥1.0.0

Загрузка переменных окружения

uvicorn

≥0.32.0

ASGI-сервер (транспорт HTTP)

starlette

≥0.45.0

ASGI-фреймворк (транспорт HTTP)

Структура проекта

mcp-abuseipdb/
├── src/
│   ├── abuseipdb_mcp/              # Python package (uvx/pip)
│   │   ├── __init__.py
│   │   ├── server.py               # Entry point (package)
│   │   └── modules.py              # AbuseIPDBServer class
│   ├── server.py                   # Entry point (standalone)
│   └── modules.py                  # AbuseIPDBServer class (standalone)
├── config/
│   ├── mcp.json                    # MCP server config (stdio)
│   └── mcp-docker.json             # MCP Docker config
├── examples/
│   └── mcp-client-configs.json     # MCP client config examples
├── images/                         # Screenshots and demo images
├── pyproject.toml                  # Package metadata & build config
├── Dockerfile                      # Alpine-based container
├── docker-compose.yml              # Stdio + HTTP services
├── requirements.txt                # Legacy pip dependencies
├── LICENSE                         # MIT License
└── README.md

Устранение неполадок

Проблема

Решение

Ошибка API key required

Установите переменную окружения ABUSEIPDB_API_KEY

Тайм-аут соединения

Проверьте сетевое подключение и настройки брандмауэра

Превышен лимит скорости

Подождите окончания периода ожидания или обновите план AbuseIPDB

Неверный формат IP

Используйте правильно отформатированные адреса IPv4 или IPv6

uvx не найден

Установите uv: pip install uv или см. документацию uv

MCP-клиент не подключается

Проверьте синтаксис и пути в claude_desktop_config.json

Журнал изменений

v1.3.0

  • Поддержка uvx / PyPIuvx mcp-abuseipdb работает «из коробки»

  • pyproject.toml — Современная упаковка Python с помощью hatchling

  • Точка входа — CLI-команда mcp-abuseipdb через [project.scripts]

  • Обновлен Dockerfile — Использует pip install . и точку входа

  • Транспорт Streamable HTTP — Соответствие спецификации MCP от 26.03.2025

v1.2.0

  • ✅ Совместимость с MCP SDK 1.12.2

  • ✅ Прямой возврат списка TextContent (заменяет CallToolResult)

  • ✅ Полное сопоставление категорий (1-23)

  • ✅ Режим verbose включен по умолчанию

  • ✅ Чистое форматирование вывода (без markdown)

  • ✅ Оптимизация Docker-образа Alpine

Участие в разработке

  1. Сделайте форк репозитория

  2. Создайте ветку для функции

  3. Внесите изменения

  4. Отправьте pull request

Лицензия

Лицензия MIT — бесплатно для личного и коммерческого использования.


Сделано с ❤️ для сообщества MCP

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables IP address intelligence lookup including geolocation, network information, privacy detection (VPN/proxy/Tor), company data, and abuse contacts using IPLocate.io API. Supports both IPv4 and IPv6 addresses with comprehensive analysis tools and security assessment capabilities.
    76
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Aggregates real-time threat intelligence from multiple sources including Feodo Tracker, URLhaus, CISA KEV, and ThreatFox, with IP/hash reputation checking via VirusTotal, AbuseIPDB, and Shodan for comprehensive security monitoring.
    11
    300
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides threat intelligence lookups against the AbuseIPDB database, enabling IP reputation checks, CIDR block analysis, and log enrichment. It features intelligent caching and rate limiting to efficiently manage API usage for security analysis and automated workflows.
    5
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to check IP reputation and abuse reports via AbuseIPDB, including abuse confidence scores, report details, and bulk IP triage.
    23
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • AbuseIPDB MCP — wraps AbuseIPDB v2 API (api.abuseipdb.com/api/v2)

  • Free IPv4 lookups against a distributed attacker-observation corpus.

  • Free no-key IP intelligence: geolocation, VPN detection, DNS, WHOIS, blacklists, breach checks

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/n3r0-b1n4ry/mcp-abuseipdb'

If you have feedback or need assistance with the MCP directory API, please join our Discord server