Skip to main content
Glama
tenable-mcp

tenable-mcp

by nguyenthdat

Tenable MCP Server

A Model Context Protocol (MCP) server for Tenable Vulnerability Management and Tenable Security Center.

Exposes Tenable security operations as MCP tools for AI-powered security workflows.

Quick Start

uvx tenable-mcp

Related MCP server: GhostMap v2

Environment Variables

Variable

Required

Default

Description

TENABLE_ACCESS_KEY

Yes

—

Tenable API access key

TENABLE_SECRET_KEY

Yes

—

Tenable API secret key

TENABLE_IO_URL

No

https://cloud.tenable.com

Tenable.io base URL

TENABLE_SC_URL

No

—

Tenable.sc URL (enables SC support)

TENABLE_VERIFY_SSL

No

true

Set to false to disable SSL verification

TENABLE_TIMEOUT

No

120

Connection timeout in seconds

TENABLE_PAGE_SIZE

No

100

Default page size for paginated requests

MCP Client Configuration

OpenCode / Claude Desktop

{
  "mcpServers": {
    "tenable": {
      "command": "uvx",
      "args": ["tenable-mcp"],
      "env": {
        "TENABLE_ACCESS_KEY": "your-access-key",
        "TENABLE_SECRET_KEY": "your-secret-key"
      }
    }
  }
}

VS Code / Cursor

{
  "mcpServers": {
    "tenable": {
      "command": "uv",
      "args": ["run", "tenable-mcp"],
      "env": {
        "TENABLE_ACCESS_KEY": "your-access-key",
        "TENABLE_SECRET_KEY": "your-secret-key"
      }
    }
  }
}

Available Tools

Assets

Tool

Description

tenable_list_assets

List assets with filters (hostname, IP, network, tracking method)

tenable_get_asset

Get detailed information for a specific asset by UUID

tenable_get_asset_vulnerabilities

Get vulnerabilities for a specific asset

Vulnerabilities

Tool

Description

tenable_search_vulnerabilities

Search vulnerabilities across all assets with extensive filters

tenable_get_vulnerability_details

Get details for a vulnerability finding or plugin

tenable_list_findings

List vulnerability findings from the workbench

Scans

Tool

Description

tenable_list_scans

List configured scans

tenable_get_scan

Get scan details

tenable_launch_scan

Launch a scan (requires confirm: true)

tenable_export_scan

Export scan results (nessus, csv, html, pdf, db)

Plugins

Tool

Description

tenable_search_plugins

Search for plugins by name, family, CVE, severity

tenable_get_plugin_details

Get detailed plugin information including CVSS and CVE

Tags

Tool

Description

tenable_list_tags

List configured tags with category/value filters

Supported Products

  • Tenable Vulnerability Management (Tenable.io) — Full support

  • Tenable Security Center (Tenable.sc) — Partial support (requires TENABLE_SC_URL)

  • Tenable Nessus — Not directly supported (use Tenable.io with agents)

Development

# Clone and install
git clone https://github.com/your-org/tenable-mcp.git
cd tenable-mcp
uv sync

# Run quality checks
uv run ruff check .
uv run ruff format --check .
uv run pyright .
uv run pytest

License

MIT

Available Tools

17 tools
tenable_download_scan_exportA
Read-only

Export a scan and save it to a specified file path.

Use this when you need to control where the exported file is saved, rather than using a temporary location.

Example: Input: { "scan_id": 123, "output_path": "/home/user/weekly_scan.csv", "format": "csv" } Output: {"file_path": "/home/user/weekly_scan.csv", "status": "completed"}

Inputs: scan_id (required), output_path (required), format, chapters, +1 more.

tenable_export_scanC
Read-only

Export scan results.

The export is downloaded as a file. Supported formats: nessus, csv, html, pdf, db.

Example: Input: {"scan_id": 123, "format": "csv"} Output: {"file_id": "...", "format": "csv", "status": "ready"}

Inputs: scan_id (required), format, chapters, password.

tenable_get_assetA
Read-only

Get detailed information about a specific asset.

Example: Input: {"uuid": "123e4567-e89b-12d3-a456-426614174000"} Output: {"id": "...", "hostname": "server01", "ipv4": "10.0.0.1", ...}

Inputs: uuid (required).

tenable_get_asset_vulnerabilitiesB
Read-only

Get vulnerabilities for a specific asset.

Example: Input: {"uuid": "123e4567-...", "severity": "critical"} Output: {"vulnerabilities": [...], "total": 5}

Inputs: uuid (required), cve, limit, severity, +2 more.

tenable_get_plugin_detailsA
Read-only

Get detailed information about a specific plugin.

Includes CVSS scores, CVE references, solution, and exploit information.

Example: Input: {"plugin_id": 19506} Output: { "id": 19506, "name": "Apache Log4j ...", "cvss_base_score": 10.0, "cve": ["CVE-2021-44228"], ... }

Inputs: plugin_id (required).

tenable_get_scanB
Read-only

Get detailed information about a specific scan.

Example: Input: {"scan_id": 123} Output: {"id": 123, "name": "Weekly Scan", "status": "completed", ...}

Inputs: scan_id (required).

tenable_get_vulnerability_detailsB
Read-only

Get detailed information about a specific vulnerability or plugin.

Provide either vuln_id (finding UUID) or plugin_id (Nessus plugin ID).

Example: Input: {"plugin_id": 19506} Output: {"id": 19506, "name": "Apache Log4j ...", "cve": ["CVE-2021-44228"], ...}

Inputs: vuln_id, plugin_id.

tenable_health_checkA
Read-only

Check connectivity and health of the Tenable.io service.

Verifies that the configured credentials are valid and the API is reachable. Returns server properties and status.

Example: Input: {} Output: { "status": "healthy", "server": {"version": "...", "uuid": "..."}, "license": {...} }

Inputs: no named parameters.

tenable_launch_scanA
Destructive

Launch a scan.

WARNING: This is a state-changing operation. Set confirm: true to proceed.

Example: Input: {"scan_id": 123, "confirm": true} Output: {"scan_uuid": "...", "status": "launched"}

Inputs: scan_id (required), confirm, targets.

tenable_list_assetsA
Read-only

List assets from Tenable Vulnerability Management.

Returns a paginated list of assets with optional filters for hostname, IP address, tracking method, and network.

Example: Input: {"hostname": "web-server", "limit": 10} Output: {"assets": [...], "total": 10}

Inputs: ipv4, ipv6, limit, hostname, +2 more.

tenable_list_findingsC
Read-only

List vulnerability findings using the Tenable exports API.

Uses the modern exports.vulns() API for the most current view of vulnerabilities across your environment.

Example: Input: {"severity": "high", "state": "OPEN", "limit": 100} Output: {"findings": [...], "total": 45}

Inputs: cve, tags, limit, since, +4 more.

tenable_list_scansA
Read-only

List configured scans.

Returns a list of all scans (or filtered by folder/name).

Example: Input: {"limit": 20} Output: {"scans": [...], "total": 5}

Inputs: name, limit, folder_id.

tenable_list_tagsB
Read-only

List configured tags.

Tags are key-value pairs used to organize and filter assets (e.g., 'Location:US-East', 'Environment:Production').

Example: Input: {"category": "Location", "limit": 20} Output: {"tags": [...], "total": 5}

Inputs: limit, value, category.

tenable_search_pluginsC
Read-only

Search for Tenable plugins by name, family, CVE, or other criteria.

Example: Input: {"query": "Apache Log4j", "cve": "CVE-2021-44228", "limit": 10} Output: {"plugins": [...], "total": 3}

Inputs: cve, limit, query, family, +4 more.

tenable_search_vulnerabilitiesB
Read-only

Search for vulnerabilities across all assets.

Uses the Tenable exports API with extensive filtering for severity, CVE, exploit availability, port, protocol, tags, and time range.

Example: Input: { "severity": "critical", "exploit_available": true, "since": 1700000000, "limit": 50 } Output: {"vulnerabilities": [...], "total": 12}

Inputs: cve, ipv4, port, tags, +10 more.

tenable_was_download_reportB
Read-only

Download a Web Application Scanning (WAS) report.

Retrieves the detailed report for a specific WAS scan.

Example: Input: {"scan_uuid": "123e4567-e89b-12d3-a456-426614174000"} Output: {"report": {...}, "scan_uuid": "..."}

Inputs: scan_uuid (required).

tenable_was_exportA
Read-only

Export Web Application Scanning (WAS) findings.

Retrieves web application vulnerability findings with optional date and status filters.

Example: Input: {"scan_status": "completed", "scan_started_after": "2024/01/01"} Output: {"was_findings": [...], "total": 5}

Inputs: limit, scan_status, scan_started_after.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 17 tools

    Disambiguation3/5

    There is notable overlap between tenable_list_findings and tenable_search_vulnerabilities (both list vulnerabilities using exports API) and between tenable_get_vulnerability_details and tenable_get_plugin_details (get_vuln_details also accepts plugin_id). While descriptions help, agents may struggle to choose the correct tool for vulnerability-related queries.

    Naming Consistency5/5

    All tools follow a consistent tenable_<verb>_<noun> pattern using snake_case. Verbs are distinct and the pattern is predictable, making it easy for an agent to infer tool functionality from names.

    Tool Count5/5

    17 tools cover the key areas of a vulnerability management platform (assets, scans, vulnerabilities, plugins, tags, health, and WAS) without being overwhelming. The count feels appropriate for the domain.

    Completeness4/5

    The tool set covers most read and export operations comprehensively, including search, details, and list endpoints. However, it lacks create/update/delete for many resources (e.g., assets, tags, scans) and missing scan lifecycle operations like stop/pause, which are minor gaps for a read-centric server.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server enabling AI assistants to interact with the Qualys vulnerability management platform. Supports investigation, risk assessment, compliance, remediation, security overview, and report management.
      22 npm
      2
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Exposes AI-augmented network reconnaissance and evasion capabilities as callable FastMCP tools, enabling natural language orchestration of host discovery, service fingerprinting, CVE mapping, and attack chain synthesis.
      1
      -
    • A
      license
      A
      quality
      C
      maintenance
      Unifies NVD, EPSS, CISA KEV, GitHub Advisory, and OSV into a single MCP server, enabling AI agents to query vulnerability intelligence conversationally with 23 tools for incident response, prioritization, dependency audits, and threat monitoring.
      41
      292 npm
      30
      MIT