Tenable MSSP MCP Server
Um servidor MCP para interagir com tenants da Tenable conectados a um Portal MSSP da Tenable
Documentação
Servidor MCP do Portal Tenable MSSP
Um servidor MCP para orquestrar fluxos de trabalho de contêineres filhos do Tenable MSSP. Faça consultas em massa. Execute ações em massa.
Recursos
- Fornece um wrapper com conhecimento de MSSP em torno do Servidor MCP Tenable Hexa AI.
- Permite usar as ferramentas do Servidor MCP Tenable Hexa AI em contêineres filhos do MSSP por meio de uma camada de orquestração com escopo definido.
- Fornece uma ferramenta, chamada
bulk_vm_cve_query, para consultar uma CVE ou uma lista de CVEs nos contêineres filhos elegíveis dentro do escopo. Esta ferramenta fornece um relatório CSV das descobertas nesses contêineres filhos. - Consultas e ações executadas nos contêineres filhos são executadas simultaneamente e operam em até 10 contêineres filhos por vez.
- Fornece a capacidade de limitar em quais contêineres filhos você executa uma ação.
- Lista todos os contêineres filhos e informações de licença.
Pré-requisitos
- Chaves de API do Portal Tenable MSSP com privilégios de Administrador.
- Contêineres filhos Tenable licenciados com
hexapara usar as ferramentas do Servidor MCP Tenable Hexa AI. - Contêineres filhos Tenable licenciados com
vmpara usar a ferramentabulk_vm_cve_query. - Python 3.14 ou mais recente.
uvoupippara instalação local.- Um cliente MCP capaz de iniciar servidores MCP STDIO (Codex, Claude, Gemini CLI, etc.).
Instalação
-
Baixe com
git:git clone https://github.com/andrewspearson/tenable-mcp-mssp.gitcd tenable-mcp-mssp -
Instale as dependências com
uvoupip:Usando
uv:uv venvuv pip install .Usando
pip:python3 -m venv .venvsource .venv/bin/activatepip install . -
Copie e edite as variáveis de ambiente:
cp .env.example .envchmod 600 .envvim .envExemplo 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 -
Anexe Codex / Claude / Gemini CLI / etc. ao tenable-mcp-mssp como um servidor STDIO:
codex mcp add tenable-mcp-mssp -- /path/to/tenable-mcp-mssp/.venv/bin/python -m tenable_mcp_mssp.serverclaude mcp add tenable-mcp-mssp -- /path/to/tenable-mcp-mssp/.venv/bin/python -m tenable_mcp_mssp.servergemini mcp add tenable-mcp-mssp /path/to/tenable-mcp-mssp/.venv/bin/python -m tenable_mcp_mssp.server
Ferramenta de Consulta de CVE em Massa
A ferramenta bulk_vm_cve_query é separada das ferramentas fornecidas pelo Tenable Hexa AI MCP. Ela inicia uma execução em segundo plano gerenciada pelo servidor que executa uma chamada de API de exportação de vulnerabilidades do pyTenable nos contêineres filhos elegíveis dentro do escopo licenciados para vm simultaneamente. Esta é uma maneira rápida e eficiente de consultar CVEs nos contêineres filhos conectados ao seu Portal MSSP. A ferramenta retorna um ID de execução rapidamente, e as ferramentas get_bulk_vm_cve_query_status e get_bulk_vm_cve_query_result podem ser usadas para observar a execução. Quando os resultados são recebidos, o servidor os compila em um relatório CSV na pasta results/bulk-vm-cve-query/<run-id>/ no seu diretório de trabalho.
Seu prompt deve dizer explicitamente para usar a ferramenta bulk_vm_cve_query. Exemplo: "Use a ferramenta bulk_vm_cve_query para encontrar todos os contêineres filhos e ativos com CVE-2026-31431".
Escopo do Contêiner Filho
Defina TENABLE_MCP_MSSP_CHILD_CONTAINER_SCOPE_FILE para restringir as ferramentas de ação do contêiner filho a uma lista de permissões positiva explícita. Se esse valor não estiver definido ou estiver em branco, todos os contêineres filhos elegíveis serão permitidos.
O arquivo de escopo é texto simples com um UUID de contêiner filho por linha. Linhas em branco e comentários de linha inteira começando com # são ignorados.
# production batch 1
75e2d005-946b-46fe-8e73-7887d310de33
b210fe55-741b-49b4-ac3d-cafec153006f
Caminhos de escopo relativos são resolvidos a partir do diretório de trabalho configurado do servidor MCP. A lista de permissões é verificada antes de outras portas de elegibilidade, mas não substitui exclusões existentes: contêineres expirados, dados de expiração malformados, contas filhas ausentes e contêineres licenseType: "ao" ainda são bloqueados de ações.
Registro de Logs
Defina TENABLE_MCP_MSSP_LOG_LEVEL para DEBUG, INFO, WARNING (padrão), ERROR ou CRITICAL. Todos os logs são enviados para 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'
Ferramentas Disponíveis
list_mssp_child_accounts: Lista objetos brutos de conta filha do MSSP retornados pela Tenable, incluindo dados de licença.list_available_tenable_mcp_tools: Descubra o catálogo de ferramentas do Servidor MCP Tenable Hexa AI para um contêiner filho licenciado parahexa.get_child_container_scope: Mostra o escopo configurado da lista de permissões do contêiner filho para ferramentas de ação.run_tenable_mcp_tool_for_child: Execute uma ferramenta do Servidor MCP Tenable Hexa AI em um contêiner filho licenciado parahexa.run_tenable_mcp_recipe_for_child: Valide uma sequência conhecida de chamadas de ferramentas do Servidor MCP Tenable Hexa AI em um contêiner filho licenciado parahexa.run_tenable_mcp_recipe_across_child_containers: Execute uma receita conhecida em vários contêineres filhos licenciados parahexacom fan-out controlado.bulk_vm_cve_query: Inicie uma exportação direta curada do pyTenable VM para CVEs nos contêineres filhos elegíveis licenciados paravm. Esta ferramenta deve ser usada somente quando solicitada explicitamente pelo nome.get_bulk_vm_cve_query_status: Verifique o status de uma execuçãobulk_vm_cve_querygerenciada pelo servidor.get_bulk_vm_cve_query_result: Leia o resumo final e os caminhos dos artefatos para uma execuçãobulk_vm_cve_querygerenciada pelo servidor.