Skip to main content
Glama
n3r0-b1n4ry

AbuseIPDB MCP Server

by n3r0-b1n4ry

Servidor MCP de AbuseIPDB

Un servidor del Protocolo de Contexto de Modelos (MCP) para integrarse con la API de AbuseIPDB. Consulta informes de abuso de IP y envía nuevos informes, directamente desde tu asistente de IA.

PyPI Python MCP Docker License GitHub

📦 Instalación: uvx mcp-abuseipdb · pip install mcp-abuseipdb · PyPI

Integraciones MCP

Características

  • 🔍 Verificar IP — Consulta AbuseIPDB para obtener informes de abuso sobre cualquier dirección IPv4/IPv6 con detalles exhaustivos

  • 🚨 Reportar IP — Envía informes de abuso para direcciones IP maliciosas

  • 🚀 Sin instalación con uvx — Ejecuta al instante mediante uvx mcp-abuseipdb, no requiere configuración

  • 🌐 Múltiples transportes — Stdio (predeterminado) y HTTP transmitible (especificación MCP 2025-03-26)

  • 📦 Paquete PyPI — Instala mediante pip install mcp-abuseipdb

  • 🐳 Listo para Docker — Contenedor ligero basado en Alpine

  • Async/Await — Operaciones asíncronas de alto rendimiento

  • 🗂️ Categorías completas — Mapeo completo de categorías 1-23 con nombres legibles por humanos

  • 🔄 Gestión de límites de tasa — Información de reintento automática en respuestas 429

  • Validación de entrada — Validación robusta de IPv4/IPv6 y parámetros

  • 🧹 Salida limpia — Salida de texto legible optimizada para clientes MCP

Related MCP server: Threat Intelligence MCP Server

Inicio rápido

Usando uvx (Recomendado)

La forma más rápida: sin clonar, sin instalar, sin entorno virtual:

# 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

Requisito previo: uv debe estar instalado. Instalar: pip install uv · curl -LsSf https://astral.sh/uv/install.sh | sh · Windows

Usando pip

pip install mcp-abuseipdb

export ABUSEIPDB_API_KEY="your_api_key_here"
mcp-abuseipdb

Usando Docker

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

Demostración en vivo

Verificación de reputación de IP y análisis avanzado

Prueba de MCP con LLM 1

Ejemplo: check_ip analizando una dirección IP sospechosa con informes de abuso completos, categorías, geolocalización e inteligencia de amenazas.

Prueba de MCP con LLM 2

Uso avanzado: análisis detallado de IP con informes detallados, información del ISP, puntuaciones de confianza de abuso y patrones de ataque recientes.

Configuración del cliente MCP

Claude Desktop — uvx (Recomendado)

Añadir a claude_desktop_config.json:

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

Claude Desktop — uvx con transporte HTTP

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

Servidor remoto (HTTP transmitible)

{
  "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 (HTTP transmitible)

# 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"
    }
  }
}

📁 Más ejemplos de configuración: examples/mcp-client-configs.json

Herramientas disponibles

1. check_ip

Verifica una dirección IP en busca de informes de abuso.

Parámetro

Tipo

Requerido

Predeterminado

Descripción

ipAddress

string

Dirección IPv4 o IPv6 a verificar

maxAgeInDays

integer

30

Solo devolver informes dentro de los últimos x días (1-365)

verbose

boolean

true

Incluir informes detallados en la respuesta

Entrada de ejemplo:

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

Salida de ejemplo:

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

Reporta una dirección IP abusiva a AbuseIPDB.

Parámetro

Tipo

Requerido

Descripción

ip

string

Dirección IPv4 o IPv6 a reportar

categories

string

IDs de categoría separados por comas (ej. "18,22")

comment

string

Texto descriptivo del ataque (sin PII)

timestamp

string

Fecha y hora ISO 8601 del ataque

Entrada de ejemplo:

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

Categorías de abuso

ID

Categoría

ID

Categoría

ID

Categoría

1

Compromiso DNS

9

Proxy abierto

17

Suplantación

2

Envenenamiento DNS

10

Spam web

18

Fuerza bruta

3

Pedidos fraudulentos

11

Spam de correo

19

Bot web malicioso

4

Ataque DDoS

12

Spam de blog

20

Host explotado

5

Fuerza bruta FTP

13

IP VPN

21

Ataque a app web

6

Ping de la muerte

14

Escaneo de puertos

22

SSH

7

Phishing

15

Hacking

23

IoT dirigido

8

VoIP fraudulento

16

Inyección SQL

Tipos de transporte

Transporte

Caso de uso

Protocolo

stdio (predeterminado)

Clientes MCP locales (Claude Desktop, etc.)

E/S estándar

http

Acceso remoto, multicliente, despliegue en la nube

HTTP transmitible (especificación MCP 2025-03-26)

Ejecución del servidor

# 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

Prueba de transporte 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"}}}'

Despliegue en Docker

Construir y ejecutar

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

Docker Compose

El docker-compose.yml incluido proporciona dos servicios preconfigurados:

# 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

Desarrollo

Configuración local

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

Ejecución de pruebas

python -m pytest test/test_server.py -v

Construir y publicar

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

Manejo de errores

Error

Comportamiento

Límite de tasa (429)

Devuelve la duración de reintento y la cuota restante

Clave API inválida

Mensaje de error de autenticación claro

Formato IP inválido

Validación de formato con mensaje útil

Errores de API

Respuesta de error detallada con códigos de estado

Problemas de red

Manejo de errores de tiempo de espera y conexión

Límites de tasa

Plan

Endpoint de verificación

Endpoint de reporte

Gratuito

1,000/día

100/día

Básico

3,000/día

300/día

Premium

10,000/día

1,000/día

Enterprise

100,000/día

10,000/día

Dependencias

Paquete

Versión

Propósito

mcp

≥1.12.0, <2.0.0

SDK del Protocolo de Contexto de Modelos

httpx

≥0.27.0

Cliente HTTP asíncrono

pydantic

≥2.8.0

Validación de datos

python-dotenv

≥1.0.0

Carga de variables de entorno

uvicorn

≥0.32.0

Servidor ASGI (transporte HTTP)

starlette

≥0.45.0

Framework ASGI (transporte HTTP)

Estructura del proyecto

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

Solución de problemas

Problema

Solución

Error API key required

Establecer la variable de entorno ABUSEIPDB_API_KEY

Tiempo de espera de conexión

Verificar la conectividad de red y la configuración del firewall

Límite de tasa excedido

Esperar al periodo de reintento o actualizar el plan de AbuseIPDB

Formato IP inválido

Usar direcciones IPv4 o IPv6 correctamente formateadas

uvx no encontrado

Instalar uv: pip install uv o ver documentación de uv

Cliente MCP no conecta

Verificar la sintaxis y las rutas de claude_desktop_config.json

Registro de cambios

v1.3.0

  • Soporte para uvx / PyPIuvx mcp-abuseipdb funciona de inmediato

  • pyproject.toml — Empaquetado moderno de Python con hatchling

  • Punto de entrada — Comando CLI mcp-abuseipdb mediante [project.scripts]

  • Dockerfile actualizado — Usa pip install . y punto de entrada

  • Transporte HTTP transmitible — Compatible con la especificación MCP 2025-03-26

v1.2.0

  • ✅ Compatibilidad con MCP SDK 1.12.2

  • ✅ Retornos directos de lista TextContent (reemplaza CallToolResult)

  • ✅ Mapeo completo de categorías (1-23)

  • ✅ Modo detallado habilitado por defecto

  • ✅ Formato de salida limpio (sin markdown)

  • ✅ Optimización de imagen Docker Alpine

Contribución

  1. Haz un fork del repositorio

  2. Crea una rama de características

  3. Realiza tus cambios

  4. Envía una solicitud de extracción (pull request)

Licencia

Licencia MIT — gratuito para uso personal y comercial.


Hecho con ❤️ para la comunidad 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