Servidor MCP de IR Toolshed
Un servidor integral de Protocolo de Contexto de Modelo (MCP) que proporciona herramientas de respuesta a incidentes y análisis de red para profesionales de la seguridad. Este servidor permite a agentes de IA como Claude realizar diversas búsquedas y análisis relacionados con la red para facilitar las investigaciones de seguridad.
Descripción general
El servidor MCP de IR Toolshed ofrece un conjunto de herramientas de red y seguridad accesibles mediante el Protocolo de Contexto de Modelo. Está diseñado como un servicio de propósito general para los responsables de la respuesta a incidentes de red, permitiéndoles realizar búsquedas básicas mediante:
Búsquedas de ASN (Número de sistema autónomo)
Búsquedas y análisis de DNS
Recuperación de registros WHOIS
Geolocalización de IP
Y más capacidades de análisis de red por venir
Cada herramienta viene acompañada de documentación detallada como recurso, lo que facilita que los sistemas de IA comprendan cómo usar las herramientas y qué resultados esperar.
Related MCP server: AWS Security MCP
Herramientas actuales
Herramienta de búsqueda de ASN
La herramienta de búsqueda ASN devuelve información sobre una dirección IP, incluyendo:
La dirección IP que se consultó
El número AS asociado con la dirección IP
El nombre de la organización propietaria del número AS
Herramienta de búsqueda de DNS
La herramienta de búsqueda de DNS proporciona información de registros DNS para dominios:
Admite múltiples tipos de registros (A, AAAA, MX, NS, TXT)
Devuelve registros DNS formateados
Maneja consultas tanto IPv4 como IPv6
Herramienta de búsqueda WHOIS
La herramienta de búsqueda WHOIS recupera información de registro de dominio:
Detalles de propiedad del dominio
Fechas de inscripción
Información del servidor de nombres
Datos del registrador
Herramienta de geolocalización
La herramienta de geolocalización IP proporciona información de ubicación utilizando la base de datos GeoLite2 de MaxMind:
Datos de ubicación a nivel de país y ciudad
Coordenadas de latitud y longitud
Información de la red
Datos de zona horaria
Nota: La herramienta de geolocalización requiere una clave de licencia de MaxMind. Puede:
Obtenga una clave gratuita en: https://dev.maxmind.com/geoip/geolite2-free-geolocation-data
Cualquiera:
Establezca la variable de entorno MAXMIND_LICENSE_KEY
Proporciónelo como parámetro al utilizar la herramienta
Introdúzcalo cuando se le solicite
Se agregarán más herramientas en futuras versiones.
Prerrequisitos
Python 3.8 o más reciente (se recomienda 3.13+)
gestor de paquetes uv Python
Instalación
Clonar este repositorio:
git clone <repository-url>
cd ir-toolshed-mcp-serverCrear un entorno virtual:
uv venvActivar el entorno virtual:
En Windows:
.venv\Scripts\activateEn macOS/Linux:
source .venv/bin/activateInstalar el paquete en modo de desarrollo:
uv pip install -e .Ejecución del servidor
Inicie el servidor MCP con:
uv run mcp dev src/mcp_server.pyEsto lanzará el servidor en modo de desarrollo, haciéndolo disponible para clientes MCP como Claude Desktop.
Usando las herramientas
Herramienta de búsqueda de ASN
Cuando se conecta a un cliente MCP como Claude Desktop, puede utilizar la herramienta de búsqueda ASN proporcionando una dirección IP:
asnlookup("8.8.8.8")Ejemplo de salida:
{
"ip_addr": "8.8.8.8",
"as_number": "15169",
"as_name": "GOOGLE - Google LLC"
}Herramienta de búsqueda de DNS
Cuando se conecta a un cliente MCP como Claude Desktop, puede utilizar la herramienta de búsqueda DNS proporcionando un dominio:
dnslookup("example.com")Ejemplo de salida:
{
"domain": "example.com",
"record_type": "A",
"record_value": "93.184.216.34"
}Herramienta de búsqueda WHOIS
Cuando se conecta a un cliente MCP como Claude Desktop, puede utilizar la herramienta de búsqueda WHOIS proporcionando un dominio:
whoislookup("example.com")Ejemplo de salida:
{
"domain": "example.com",
"ownership_details": "Google LLC",
"registration_date": "2004-04-26",
"nameserver_information": "ns1.google.com",
"registrar_details": "MarkMonitor Inc."
}Herramienta de geolocalización
Cuando se conecta a un cliente MCP como Claude Desktop, puede utilizar la herramienta de geolocalización proporcionando una dirección IP:
geolocation("8.8.8.8")Ejemplo de salida:
{
"ip_addr": "8.8.8.8",
"country": "US",
"city": "Mountain View",
"latitude": 37.40599,
"longitude": -122.078514,
"network": "AS15169 Google LLC",
"timezone": "America/Los_Angeles"
}Manejo de errores
Cada herramienta sigue un patrón de manejo de errores consistente:
Formato de respuesta de error general:
{
"status": "error",
"error": "Detailed error message",
"query": "Original query value"
}Ejemplos de errores específicos de la herramienta:
Búsqueda de ASN:
{
"ip_addr": "<queried-ip>",
"status": "error",
"error": "Invalid IP address format"
}Búsqueda de DNS:
{
"domain": "<queried-domain>",
"record_type": "<requested-type>",
"status": "error",
"error": "DNS resolution failed"
}Búsqueda WHOIS:
{
"domain": "<queried-domain>",
"status": "error",
"error": "WHOIS server not available"
}Geolocalización:
{
"ip_addr": "<queried-ip>",
"status": "error",
"error": "MaxMind database not found or license key invalid"
}Estructura del proyecto
El proyecto sigue una estructura de paquete Python estándar:
irtoolshed_mcp_server/ # Main package directory
├── __init__.py # Package initialization
├── asnlookup.py # ASN lookup functionality
├── dnslookup.py # DNS lookup functionality
├── geolookup.py # Geolocation functionality
├── mcp_server.py # Main MCP server implementation
└── whoislookup.py # WHOIS lookup functionality
tests/ # Test directory
├── test_asnlookup.py # ASN lookup tests
├── test_dnslookup.py # DNS lookup tests
├── test_geolookup.py # Geolocation tests
└── test_whoislookup.py # WHOIS lookup testsDesarrollo
Configuración del entorno de desarrollo
Clonar este repositorio:
git clone <repository-url>
cd ir-toolshed-mcp-serverCree un entorno virtual e instale dependencias:
uv venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activate
uv pip install -e ".[dev]"Ejecución de pruebas
Para ejecutar el conjunto de pruebas:
uv run pytestEsto hará lo siguiente:
Ejecutar todas las pruebas en el directorio
tests/Mostrar información de cobertura de la prueba
Mostrar salida detallada para cualquier falla
Nota: Algunas pruebas requieren configuración adicional:
Las pruebas de geolocalización requieren una base de datos MaxMind GeoLite2 y una clave de licencia
Las pruebas WHOIS pueden fallar si el servicio WHOIS no está disponible
Calidad del código
El proyecto utiliza varias herramientas para mantener la calidad del código:
Código de formato con negro:
uv run black .Ordenar importaciones con isort:
uv run isort .Ejecutar la comprobación de tipos con mypy:
uv run mypy .Ejecutar pelusa con ruff:
uv run ruff .Hoja de ruta
Completado: ✓ Búsquedas de ASN ✓ Búsquedas de registros DNS (A, AAAA, MX, etc.) ✓ Recuperación de registros WHOIS ✓ Servicios de geolocalización de IP
Herramientas futuras planificadas para su inclusión:
Puntuación de reputación de dominio
Análisis de certificados SSL
Escaneo de puertos de red
Integración de inteligencia de amenazas
Historial de DNS pasivo
Análisis de seguridad del correo electrónico (SPF, DKIM, DMARC)
Análisis de ruta BGP
Visualización del tráfico de red
Búsquedas de hash de malware
Comprobación de la reputación de URL
Contribuyendo
Se agradecen las contribuciones para añadir nuevas herramientas de IR o mejorar las existentes. Siga estos pasos:
Bifurcar el repositorio
Crear una rama de características
Agregue su herramienta siguiendo el patrón existente en mcp_server.py
Incluir documentación apropiada como recurso
Envíe una solicitud de extracción con una descripción clara de sus cambios
Licencia
Apache 2.0
Consideraciones de seguridad
Este servidor está diseñado para la investigación legítima de seguridad y la respuesta a incidentes. Los usuarios deben asegurarse de cumplir con todas las leyes y normativas aplicables al utilizar estas herramientas.
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.