VirusTotal MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows querying the VirusTotal API for comprehensive security analysis reports including URL analysis, file analysis, IP analysis, domain analysis, and relationship tools.

Servidor MCP de VirusTotal

Un servidor de Protocolo de Contexto de Modelo (MCP) para consultar la API de VirusTotal . Este servidor proporciona herramientas integrales de análisis de seguridad con obtención automática de datos de relaciones. Se integra a la perfección con aplicaciones compatibles con MCP, como Claude Desktop .

Inicio rápido (recomendado)

Instalación mediante herrería

Para instalar VirusTotal Server para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @burtthecoder/mcp-virustotal --client claude

Instalación manual

  1. Instalar el servidor globalmente a través de npm:
npm install -g @burtthecoder/mcp-virustotal
  1. Agregue a su archivo de configuración de Claude Desktop:
{ "mcpServers": { "virustotal": { "command": "mcp-virustotal", "env": { "VIRUSTOTAL_API_KEY": "your-virustotal-api-key" } } } }

Ubicación del archivo de configuración:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Ventanas: %APPDATA%\Claude\claude_desktop_config.json
  1. Reiniciar Claude Desktop

Configuración alternativa (de la fuente)

Si prefiere ejecutar desde la fuente o necesita modificar el código:

  1. Clonar y construir:
git clone <repository_url> cd mcp-virustotal npm install npm run build
  1. Añade a tu configuración de Claude Desktop:
{ "mcpServers": { "virustotal": { "command": "node", "args": ["--experimental-modules", "/absolute/path/to/mcp-virustotal/build/index.js"], "env": { "VIRUSTOTAL_API_KEY": "your-virustotal-api-key" } } } }

Características

  • Informes de análisis completos : cada herramienta de análisis obtiene automáticamente datos de relación relevantes junto con el informe básico, lo que proporciona una descripción general de seguridad completa en una sola solicitud.
  • Análisis de URL : informes de seguridad con obtención automática de dominios contactados, archivos descargados y actores de amenazas
  • Análisis de archivos : análisis detallado de hashes de archivos, incluidos comportamientos, archivos descartados y conexiones de red
  • Análisis de IP : informes de seguridad con datos históricos, resoluciones y amenazas relacionadas
  • Análisis de dominio : información DNS, datos WHOIS, certificados SSL y subdominios
  • Análisis detallado de relaciones : herramientas dedicadas para consultar tipos específicos de relaciones con soporte de paginación
  • Formato enriquecido : categorización y presentación claras de los resultados del análisis y los datos de relación

Herramientas

Herramientas de informes (con obtención automática de relaciones)

1. Herramienta de informes de URL

  • Nombre: get_url_report
  • Descripción: Obtenga un informe completo de análisis de URL que incluye resultados de escaneo de seguridad y relaciones clave (archivos en comunicación, dominios/IP contactados, archivos descargados, redirecciones, actores de amenazas)
  • Parámetros:
    • url (obligatorio): La URL a analizar

2. Herramienta de informes de archivos

  • Nombre: get_file_report
  • Descripción: Obtenga un informe completo de análisis de archivos utilizando su hash (MD5/SHA-1/SHA-256). Incluye resultados de detección, propiedades de archivo y relaciones clave (comportamientos, archivos eliminados, conexiones de red, contenido incrustado, actores de amenazas).
  • Parámetros:
    • hash (obligatorio): hash MD5, SHA-1 o SHA-256 del archivo

3. Herramienta de informes de IP

  • Nombre: get_ip_report
  • Descripción: Obtenga un informe completo de análisis de direcciones IP que incluye geolocalización, datos de reputación y relaciones clave (archivos de comunicación, certificados históricos/WHOIS, resoluciones)
  • Parámetros:
    • ip (obligatorio): dirección IP a analizar

4. Herramienta de informes de dominio

  • Nombre: get_domain_report
  • Descripción: Obtenga un informe de análisis de dominio completo que incluye registros DNS, datos WHOIS y relaciones clave (certificados SSL, subdominios, datos históricos)
  • Parámetros:
    • domain (obligatorio): Nombre de dominio a analizar
    • relationships (opcional): Matriz de relaciones específicas para incluir en el informe

Herramientas de relación (para un análisis detallado)

1. Herramienta de relación de URL

  • Nombre: get_url_relationship
  • Descripción: Consulta un tipo de relación específico para una URL con compatibilidad con paginación. Elige entre 17 tipos de relación, incluyendo análisis, archivos en comunicación, dominios/IP contactados, archivos descargados, gráficos, referentes, redirecciones y actores de amenazas.
  • Parámetros:
    • url (obligatorio): La URL para obtener las relaciones
    • relationship (obligatorio): Tipo de relación a consultar
      • Relaciones disponibles: análisis, comentarios, archivos_en_comunicación, dominios_contactados, IP_contactadas, archivos_descargados, gráficos, última_dirección_IP_de_servicio, ubicación_de_red, archivos_de_referencia, URL_de_referencia, URL_de_redireccionamiento, redirecciones_a, comentarios_relacionados, referencias_relacionadas, actores_de_amenaza_relacionados, envíos
    • limit (opcional, predeterminado: 10): número máximo de objetos relacionados para recuperar (1-40)
    • cursor (opcional): Cursor de continuación para paginación

2. Herramienta de relación de archivos

  • Nombre: get_file_relationship
  • Descripción: Consulta un tipo de relación específico para un archivo con compatibilidad con paginación. Elige entre 41 tipos de relación, incluyendo comportamientos, conexiones de red, archivos descartados, contenido incrustado, cadenas de ejecución y actores de amenazas.
  • Parámetros:
    • hash (obligatorio): hash MD5, SHA-1 o SHA-256 del archivo
    • relationship (obligatorio): Tipo de relación a consultar
      • Relaciones disponibles: análisis, comportamientos, archivos_agrupados, hijos_carbonblack, padres_carbonblack, archivos_agrupados_cifrados, padres_cifrados, pistas, colecciones, comentarios, padres_comprimidos, dominios_contactados, IPs_contactadas, URLs_contactadas, archivos_eliminados, adjuntos_de_correo_electrónico, padres_de_correo_electrónico, dominios_incrustados, IPs_incrustadas, URLs_incrustadas, padres_de_ejecución, gráficos, dominios_itw, IPs_itw, URLs_itw, dominios_patrón_memoria, IPs_patrón_memoria, URLs_patrón_memoria, hijos_superpuestos, padres_superpuestos, hijos_pcap, padres_pcap, hijos_recursos_pe, padres_recursos_pe, referencias_relacionadas, actores_de_amenaza relacionados, archivos_similares, envíos, capturas de pantalla, URLs_para_js_incrustados, votos
    • limit (opcional, predeterminado: 10): número máximo de objetos relacionados para recuperar (1-40)
    • cursor (opcional): Cursor de continuación para paginación

3. Herramienta de relación de propiedad intelectual

  • Nombre: get_ip_relationship
  • Descripción: Consulta un tipo de relación específico para una dirección IP con compatibilidad con paginación. Elige entre 12 tipos de relación, incluyendo archivos en comunicación, certificados SSL históricos, registros WHOIS, resoluciones y actores de amenazas.
  • Parámetros:
    • ip (obligatorio): dirección IP a analizar
    • relationship (obligatorio): Tipo de relación a consultar
      • Relaciones disponibles: comentarios, archivos_comunicados, archivos_descargados, gráficos, certificados_ssl_históricos, whois_histórico, comentarios_relacionados, referencias_relacionadas, actores_de_amenaza_relacionados, archivos_de_referencia, resoluciones, URL
    • limit (opcional, predeterminado: 10): número máximo de objetos relacionados para recuperar (1-40)
    • cursor (opcional): Cursor de continuación para paginación

4. Herramienta de relación de dominios

  • Nombre: get_domain_relationship
  • Descripción: Consulta un tipo de relación específico para un dominio con compatibilidad con paginación. Elige entre 21 tipos de relación, incluyendo certificados SSL, subdominios, datos históricos y registros DNS.
  • Parámetros:
    • domain (obligatorio): Nombre de dominio a analizar
    • relationship (obligatorio): Tipo de relación a consultar
      • Relaciones disponibles: registros_caa, registros_cname, comentarios, archivos_en_comunicación, archivos_descargados, certificados_ssl_históricos, whois_histórico, padre_inmediato, registros_mx, registros_ns, padre, archivos_de_referencia, comentarios_relacionados, referencias_relacionadas, actores_de_amenaza_relacionados, resoluciones, registros_soa, hermanos, subdominios, URL, votos_de_usuario
    • limit (opcional, predeterminado: 10): número máximo de objetos relacionados para recuperar (1-40)
    • cursor (opcional): Cursor de continuación para paginación

Requisitos

Solución de problemas

Problemas con la clave API

Si ve errores de "Clave API incorrecta":

  1. Consulte el archivo de registro en /tmp/mcp-virustotal-server.log (en macOS) para conocer el estado de la clave API
  2. Verifique su clave API:
    • Debe ser una clave API de VirusTotal válida (normalmente 64 caracteres)
    • No se permiten espacios ni comillas adicionales alrededor de la clave
    • Debe ser de la sección Claves API en su cuenta de VirusTotal
  3. Después de cualquier cambio de configuración:
    • Guardar el archivo de configuración
    • Reiniciar Claude Desktop
    • Consultar registros para conocer el estado de la nueva clave API

Problemas de carga del módulo

Si ve advertencias de carga del módulo ES:

  1. Para la instalación global: utilice la configuración simple que se muestra en Inicio rápido
  2. Para la instalación de origen: asegúrese de incluir --experimental-modules en los argumentos

Desarrollo

Para ejecutar en modo de desarrollo con recarga en caliente:

npm run dev

Manejo de errores

El servidor incluye un manejo integral de errores para:

  • Claves API no válidas
  • Limitación de velocidad
  • Errores de red
  • Parámetros de entrada no válidos
  • Formatos hash no válidos
  • Formatos de IP no válidos
  • Formatos de URL no válidos
  • Tipos de relación no válidos
  • Errores de paginación

Historial de versiones

  • v1.0.0: Versión inicial con funcionalidad principal
  • v1.1.0: Se agregaron herramientas de análisis de relaciones para URL, archivos y direcciones IP
  • v1.2.0: Se agregó manejo y registro de errores mejorados
  • v1.3.0: Se agregó soporte de paginación para consultas de relación
  • v1.4.0: Se agregó la obtención automática de relaciones en las herramientas de informes y compatibilidad con análisis de dominios.

Contribuyendo

  1. Bifurcar el repositorio
  2. Crear una rama de características ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -m 'Add amazing feature' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. Abrir una solicitud de extracción

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

ID: rcbu34kp5c