Skip to main content
Glama

Servidor MCP de VirusTotal

insignia de herrería

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 (por determinar)

Instalación mediante herrería

Para instalar virustotal-mcp para Claude Desktop automáticamente a través de Smithery :

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

Instalación manual

Por determinar

Related MCP server: ADEO CTI MCP Server

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

  • Búsqueda avanzada : capacidades de búsqueda de VT Intelligence para consultas complejas en el conjunto de datos de VirusTotal

  • 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

  • Ejemplo:

await get_url_report(url="http://example.com/suspicious")

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

  • Ejemplo:

await get_file_report(hash="44d88612fea8a8f36de82e1278abb02f")

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

  • Ejemplo:

await get_ip_report(ip="8.8.8.8")

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

  • Ejemplo:

await get_domain_report(domain="example.com")

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 soporte de paginación

  • 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

  • Ejemplo:

await get_url_relationship( url="http://example.com/suspicious", relationship="communicating_files", limit=20 )

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 soporte de paginación

  • 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

  • Ejemplo:

await get_file_relationship( hash="44d88612fea8a8f36de82e1278abb02f", relationship="behaviours", limit=20 )

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 soporte de paginación

  • 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

  • Ejemplo:

await get_ip_relationship( ip="8.8.8.8", relationship="communicating_files", limit=20 )

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 soporte de paginación

  • 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

  • Ejemplo:

await get_domain_relationship( domain="example.com", relationship="historical_ssl_certificates", limit=20 )

5. Herramienta de búsqueda avanzada

  • Nombre: advanced_corpus_search

  • Descripción: Realice búsquedas avanzadas en el conjunto de datos de VirusTotal utilizando la sintaxis de consulta de VT Intelligence

  • Parámetros:

    • query (obligatoria): La cadena de consulta de búsqueda de VT Intelligence

    • limit (opcional, predeterminado: 20): número máximo de resultados a devolver por página

    • cursor (opcional): Cursor de continuación para paginación

    • descriptors_only (opcional): si es verdadero, recupera solo descriptores de objetos en lugar de objetos completos

  • Ejemplo:

await advanced_corpus_search( query="type:peexe size:100kb+ positives:5+", limit=20, cursor=None )

Requisitos

  • Python >= 3.11

  • Una clave API de VirusTotal válida

  • Paquetes de Python necesarios:

    • aiohttp >= 3.9.0

    • mcp[cli] >= 1.4.1

    • python-dotenv >= 1.0.0

    • extensiones de escritura >= 4.8.0

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

Desarrollo

Para ejecutar en modo de desarrollo:

python -m virustotal_mcp

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 Apache 2.0: consulte el archivo de LICENCIA para obtener más detalles.

Expresiones de gratitud

  • VirusTotal por proporcionar la API y la plataforma de inteligencia de amenazas

  • El proyecto MCP para el framework de servidor

  • Colaboradores y mantenedores

Apoyo

Para obtener ayuda, por favor:

  1. Consulte la documentación

  2. Buscar problemas existentes

  3. Crea un nuevo problema si es necesario

Seguridad

  • Nunca envíe claves API ni credenciales confidenciales

  • Utilice variables de entorno para la configuración

  • Siga las mejores prácticas de seguridad al manejar datos de inteligencia de amenazas

-
security - not tested
A
license - permissive license
-
quality - not tested

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/emeryray2002/virustotal-mcp'

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