Tenable MSSP MCP Server

Un servidor MCP para interactuar con inquilinos de Tenable conectados a un Portal MSSP de Tenable.

Documentación

tenable-mcp-mssp

Tenable MSSP Portal MCP Server

License: MIT Python

Un servidor MCP para orquestar flujos de trabajo de contenedores secundarios de Tenable MSSP. Realiza consultas masivas. Toma acciones masivas.

Características

  • Proporciona un envoltorio consciente de MSSP alrededor del Tenable Hexa AI MCP Server.
  • Te permite usar las herramientas del Tenable Hexa AI MCP Server en contenedores secundarios de MSSP a través de una capa de orquestación con alcance.
  • Proporciona una herramienta, llamada bulk_vm_cve_query, para consultar una CVE o lista de CVEs en contenedores secundarios elegibles dentro del alcance. Esta herramienta proporciona un informe CSV de los hallazgos en esos contenedores secundarios.
  • Las consultas y acciones realizadas contra contenedores secundarios se ejecutan de forma concurrente y operan en hasta 10 contenedores secundarios a la vez.
  • Proporciona la capacidad de limitar sobre qué contenedores secundarios realizas una acción.
  • Enumera todos los contenedores secundarios e información de licencias.
list-child-containers bulk_vm_cve_query bulk-tagging

Requisitos Previos

  • Claves API del Tenable MSSP Portal con privilegios de Administrador.
  • Contenedores secundarios de Tenable con licencia de hexa para usar las herramientas del Tenable Hexa AI MCP Server.
  • Contenedores secundarios de Tenable con licencia de vm para usar la herramienta bulk_vm_cve_query.
  • Python 3.14 o más reciente.
  • uv o pip para instalación local.
  • Un cliente MCP capaz de lanzar servidores MCP STDIO (Codex, Claude, Gemini CLI, etc.).

Instalación

  1. Descarga con git:

    git clone https://github.com/andrewspearson/tenable-mcp-mssp.git
    
    cd tenable-mcp-mssp
    
  2. Instala las dependencias con uv o pip:

    Usando uv:

    uv venv
    
    uv pip install .
    

    Usando pip:

    python3 -m venv .venv
    
    source .venv/bin/activate
    
    pip install .
    
  3. Copia y edita las variables de entorno:

    cp .env.example .env
    
    chmod 600 .env
    
    vim .env
    

    Ejemplo de .env:

    TENABLE_MSSP_PORTAL_ACCESS_KEY=replace-with-your-access-key
    TENABLE_MSSP_PORTAL_SECRET_KEY=replace-with-your-secret-key
    # Optional: path to a plain-text child container UUID allowlist.
    # TENABLE_MCP_MSSP_CHILD_CONTAINER_SCOPE_FILE=scopes/allowed-child-containers.txt
    # Optional: DEBUG, INFO, WARNING, ERROR, or CRITICAL
    # TENABLE_MCP_MSSP_LOG_LEVEL=WARNING
    
  4. Adjunta Codex / Claude / Gemini CLI / etc. a tenable-mcp-mssp como servidor STDIO:

    Codex:

    codex mcp add tenable-mcp-mssp -- /path/to/tenable-mcp-mssp/.venv/bin/python -m tenable_mcp_mssp.server
    

    Claude:

    claude mcp add tenable-mcp-mssp -- /path/to/tenable-mcp-mssp/.venv/bin/python -m tenable_mcp_mssp.server
    

    Gemini CLI:

    gemini mcp add tenable-mcp-mssp /path/to/tenable-mcp-mssp/.venv/bin/python -m tenable_mcp_mssp.server
    

Herramienta de Consulta Masiva de CVE

La herramienta bulk_vm_cve_query es independiente de las herramientas proporcionadas por el Tenable Hexa AI MCP. Inicia una ejecución en segundo plano gestionada por el servidor que ejecuta una llamada API de exportación de vulnerabilidades de pyTenable contra contenedores secundarios elegibles dentro del alcance con licencia para vm de forma concurrente. Esta es una forma rápida y eficiente de consultar CVEs en contenedores secundarios conectados a tu Portal MSSP. La herramienta devuelve un ID de ejecución rápidamente, y las herramientas get_bulk_vm_cve_query_status y get_bulk_vm_cve_query_result se pueden usar para observar la ejecución. Una vez que se reciben los resultados, el servidor los compila en un informe CSV en la carpeta results/bulk-vm-cve-query/<run-id>/ de tu directorio de trabajo.

Tu indicación debe decir explícitamente que uses la herramienta bulk_vm_cve_query. Ejemplo: "Usa la herramienta bulk_vm_cve_query para encontrar todos los contenedores secundarios y activos con CVE-2026-31431".

Alcance de Contenedores Secundarios

Establece TENABLE_MCP_MSSP_CHILD_CONTAINER_SCOPE_FILE para restringir las herramientas de acción de contenedores secundarios a una lista de permitidos positiva explícita. Si este valor no está establecido o está en blanco, se permiten todos los contenedores secundarios elegibles.

El archivo de alcance es texto plano con un UUID de contenedor secundario por línea. Las líneas en blanco y los comentarios de línea completa que comienzan con # se ignoran.

# production batch 1
75e2d005-946b-46fe-8e73-7887d310de33
b210fe55-741b-49b4-ac3d-cafec153006f

Las rutas de alcance relativas se resuelven desde el directorio de trabajo configurado del servidor MCP. La lista de permitidos se verifica antes de otras compuertas de elegibilidad, pero no anula las exclusiones existentes: los contenedores caducados, los datos de caducidad malformados, las cuentas secundarias faltantes y los contenedores licenseType: "ao" siguen bloqueados para la acción.

Registro

Establece TENABLE_MCP_MSSP_LOG_LEVEL a DEBUG, INFO, WARNING (predeterminado), ERROR o CRITICAL. Todos los registros se envían a stderr.

codex mcp add --env TENABLE_MCP_MSSP_LOG_LEVEL=DEBUG tenable-mcp-mssp -- /bin/sh -c 'exec /path/to/tenable-mcp-mssp/.venv/bin/python -m tenable_mcp_mssp.server 2>> /path/to/logs/tenable-mcp-mssp.log'

Herramientas Disponibles

  • list_mssp_child_accounts: Enumera los objetos de cuenta secundaria MSSP sin procesar devueltos por Tenable, incluidos los datos de licencia.
  • list_available_tenable_mcp_tools: Descubre el catálogo de herramientas del Tenable Hexa AI MCP Server para un contenedor secundario con licencia para hexa.
  • get_child_container_scope: Muestra el alcance de la lista de permitidos de contenedores secundarios configurada para las herramientas de acción.
  • run_tenable_mcp_tool_for_child: Ejecuta una herramienta del Tenable Hexa AI MCP Server en un contenedor secundario con licencia para hexa.
  • run_tenable_mcp_recipe_for_child: Valida una secuencia conocida de llamadas a herramientas del Tenable Hexa AI MCP Server en un contenedor secundario con licencia para hexa.
  • run_tenable_mcp_recipe_across_child_containers: Ejecuta una receta conocida y funcional en múltiples contenedores secundarios con licencia para hexa con fan-out controlado.
  • bulk_vm_cve_query: Inicia una exportación directa curada de pyTenable VM para CVEs en contenedores secundarios elegibles con licencia para vm. Esta herramienta solo debe usarse cuando se solicite explícitamente por nombre.
  • get_bulk_vm_cve_query_status: Verifica el estado de una ejecución de bulk_vm_cve_query gestionada por el servidor.
  • get_bulk_vm_cve_query_result: Lee el resumen final y las rutas de artefactos de una ejecución de bulk_vm_cve_query gestionada por el servidor.