Nessus MCP Server

by Cyreslab-AI

15 stars
327 downloads
Not rated
GitHub

Description

# Nessus MCP Server A Model Context Protocol (MCP) server for interacting with the Tenable Nessus vulnerability scanner. This server allows AI assistants to perform vulnerability scanning and analysis through the MCP protocol. ## Features - **Vulnerability Scanning**: Start and…

About

# Nessus MCP Server A Model Context Protocol (MCP) server for interacting with the Tenable Nessus vulnerability scanner. This server allows AI assistants to perform vulnerability scanning and analysis through the MCP protocol. ## Features - **Vulnerability Scanning**: Start and monitor vulnerability scans against…

Details

Author
Cyreslab-AI
GitHub stars
15
Downloads
327
Categories
Developer Tools, Security, Infrastructure, Other

- Start and monitor vulnerability scans against targets
- List, track, and retrieve scan results
- Search and get details about specific vulnerabilities
- Fully functional mock mode for testing without API key
- List available Nessus scan templates

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 Nessus MCP Server
    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

Install from source with Node.js 16+, then run node build/index.js. By default it runs in mock mode (no API key required). To connect to a real Nessus instance, set the NESSUS_URL, NESSUS_ACCESS_KEY, and NESSUS_SECRET_KEY environment variables. For Claude for Desktop, add a server entry in its configuration file pointing to the built index.js and optionally including the environment variables.

Claude Desktop / Cursor

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

{
    "mcpServers": {
        "nessus mcp server": {
            "nessus": {
                "command": "node",
                "args": [
                    "/path/to/nessus-mcp-server/build/index.js"
                ],
                "env": {
                    "NESSUS_URL": "https://your-nessus-instance:8834",
                    "NESSUS_ACCESS_KEY": "your-access-key",
                    "NESSUS_SECRET_KEY": "your-secret-key"
                }
            }
        }
    }
}

McpServers

{
    "nessus": {
        "command": "node",
        "args": [
            "/path/to/nessus-mcp-server/build/index.js"
        ],
        "env": {
            "NESSUS_URL": "https://your-nessus-instance:8834",
            "NESSUS_ACCESS_KEY": "your-access-key",
            "NESSUS_SECRET_KEY": "your-secret-key"
        }
    }
}

Nessus MCP Server

A Model Context Protocol (MCP) server for interacting with the Tenable Nessus vulnerability scanner. This server allows AI assistants to perform vulnerability scanning and analysis through the MCP protocol.

Features

- Vulnerability Scanning: Start and monitor vulnerability scans against specified targets
- Scan Management: List, track, and retrieve results from vulnerability scans
- Vulnerability Analysis: Search for and get detailed information about specific vulnerabilities
- Mock Mode: Fully functional mock mode for testing without a Nessus API key

Tools

The server provides the following tools:

| Tool Name | Description |
| --------------------------- | ------------------------------------------------------- |
| list_scan_templates | List available Nessus scan templates |
| start_scan | Start a new vulnerability scan against a target |
| get_scan_status | Check the status of a running scan |
| get_scan_results | Get the results of a completed scan |
| list_scans | List all scans and their status |
| get_vulnerability_details | Get detailed information about a specific vulnerability |
| search_vulnerabilities | Search for vulnerabilities by keyword |

Installation

Prerequisites

- Node.js 16 or higher
- TypeScript (for development)

Building from Source

1. Clone the repository:

   git clone https://github.com/Cyreslab-AI/nessus-mcp-server.git
   cd nessus-mcp-server
   

2. Install dependencies:

   npm install
   

3. Build the server:

   npm run build

Usage

Running in Mock Mode

By default, the server runs in mock mode, which doesn't require a Nessus API key:

node build/index.js

Running with Nessus API

To connect to a real Nessus instance, set the following environment variables:

NESSUS_URL=https://your-nessus-instance:8834
NESSUS_ACCESS_KEY=your-access-key
NESSUS_SECRET_KEY=your-secret-key

Then run the server:

node build/index.js

Using with Claude for Desktop

To use this server with Claude for Desktop:

1. Edit your Claude for Desktop configuration file:

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json

2. Add the server configuration:

{
  "mcpServers": {
    "nessus": {
      "command": "node",
      "args": ["/path/to/nessus-mcp-server/build/index.js"],
      "env": {
        "NESSUS_URL": "https://your-nessus-instance:8834",
        "NESSUS_ACCESS_KEY": "your-access-key",
        "NESSUS_SECRET_KEY": "your-secret-key"
      }
    }
  }
}

For mock mode, you can omit the env section.

Example Interactions

Starting a Scan

start_scan:
  target: 192.168.1.1
  scan_type: basic-network-scan

Getting Scan Results

get_scan_results:
  scan_id: scan-1234567890

Searching for Vulnerabilities

search_vulnerabilities:
  keyword: log4j

Development

Project Structure

- src/index.ts: Main server entry point
- src/nessus-api.ts: Nessus API client with mock fallback
- src/mock-data.ts: Mock vulnerability data for testing
- src/tools/: Tool implementations
- src/utils/: Utility functions

Adding New Tools

1. Define the tool schema and handler in the appropriate file in src/tools/
2. Import and register the tool in src/index.ts

License

MIT

Disclaimer

This server is not affiliated with or endorsed by Tenable. Nessus is a trademark of Tenable, Inc.

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.