Tenable MCP (Management Control Panel)

by rajagrawal104

277 downloads
Not rated
GitHub

About

Tenable MCP (Management Control Panel) is a Spring Boot application that provides a comprehensive interface for managing and visualizing Tenable.io security data. It is intended for security teams who need to monitor vulnerabilities, track remediation progress, and export…

Details

Author
rajagrawal104
Downloads
277
Categories
Other

- Configure Tenable.io API credentials and custom endpoints
- Visualize vulnerability distribution by severity (pie chart)
- Track asset vulnerability trends over time (line chart)
- Identify top vulnerable assets (bar chart)
- Analyze vulnerability age distribution (pie chart)
- Monitor remediation progress (doughnut chart)
- Export comprehensive security reports as CSV

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Tenable MCP (Management Control Panel)
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Clone the repository, run the setup script, then edit application.yml with your Tenable.io API credentials (accessKey, secretKey, baseUrl). Start the app with ./gradlew bootRun or build and run the Docker container. Once running, access API endpoints such as GET /api/v1/visualizations/report for a security report or GET /api/v1/visualizations/export/vulnerabilities for a CSV export.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "tenable mcp (management control panel)": {
            "tenablemcp": {
                "command": "docker",
                "args": [
                    "build",
                    "-t",
                    "tenable-mcp",
                    "."
                ]
            }
        }
    }
}

McpServers

{
    "tenablemcp": {
        "command": "docker",
        "args": [
            "build",
            "-t",
            "tenable-mcp",
            "."
        ]
    }
}

Tenable MCP (Management Control Panel)

A Spring Boot application that provides a comprehensive interface for managing and visualizing Tenable.io security data.

Features

- Configuration Management
- Easy configuration of Tenable.io API credentials
- Support for custom API endpoints
- Configurable timeouts and retry policies

- Security Visualization
- Vulnerability distribution by severity
- Asset vulnerability trends
- Top vulnerable assets analysis
- Vulnerability age distribution
- Remediation progress tracking
- Asset risk score distribution
- Vulnerability category analysis

- Reporting
- Comprehensive CSV exports
- Detailed security posture summaries
- Customizable time range filtering

Prerequisites

- Java 17 or later
- Gradle 7.x or later (included in the project)
- Docker (optional, for containerized deployment)
- Tenable.io API credentials

Quick Start

1. Clone the repository:

   git clone https://github.com/yourusername/tenablemcp.git
cd tenablemcp

2. Run the setup script:

   chmod +x setup.sh
./setup.sh

3. Update the configuration:
Edit src/main/resources/application.yml with your Tenable.io credentials:

   tenable:
apiKey: "your-api-key"
accessKey: "your-access-key"
secretKey: "your-secret-key"
baseUrl: "https://cloud.tenable.com"

4. Run the application:

   ./gradlew bootRun

Running with Docker

1. Build the Docker image:

   docker build -t tenable-mcp .

2. Run the container:

   docker run -p 8080:8080 tenable-mcp

API Endpoints

Configuration

- GET /api/config
- Get current configuration
- Response: Current configuration settings

- POST /api/config
- Update configuration
- Body: JSON with configuration parameters
- Example:

    {
"accessKey": "your-access-key",
"secretKey": "your-secret-key",
"baseUrl": "https://cloud.tenable.com"
}

Visualizations

- GET /api/v1/visualizations/report
- Get comprehensive security report
- Query Parameters:
- startTime (optional): ISO-8601 formatted start time
- endTime (optional): ISO-8601 formatted end time
- Response: JSON containing multiple visualizations

- GET /api/v1/visualizations/export/vulnerabilities
- Export report as CSV
- Query Parameters:
- startTime (optional): ISO-8601 formatted start time
- endTime (optional): ISO-8601 formatted end time
- Response: CSV file download

Visualization Types

1. Vulnerability Distribution
- Pie chart showing distribution by severity
- Color-coded for easy interpretation

2. Asset Vulnerability Trend
- Line chart showing vulnerability trends over time
- Helps track security posture improvements

3. Top Vulnerable Assets
- Bar chart of most vulnerable assets
- Helps prioritize remediation efforts

4. Vulnerability Age Distribution
- Pie chart showing age ranges of vulnerabilities
- Helps identify stale vulnerabilities

5. Remediation Progress
- Doughnut chart showing fixed vs. open vulnerabilities
- Tracks remediation effectiveness

6. Asset Risk Score Distribution
- Bar chart showing distribution of asset risk scores
- Helps identify high-risk assets

Development

Project Structure

src/main/kotlin/com/tenable/mcp/
├── config/         # Configuration classes
├── controller/     # REST controllers
├── service/        # Business logic
├── client/         # Tenable.io API client
└── model/          # Data models

Building

./gradlew clean build

Running Tests

./gradlew test

Contributing

1. Fork the repository
2. Create a feature branch
3. Commit your changes
4. Push to the branch
5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support, please open an issue in the GitHub repository or contact the maintainers.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.