Nessus MCP Server
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 available Nessus scan templates |
| Start a new vulnerability scan against a target |
| Check the status of a running scan |
| Get the results of a completed scan |
| List all scans and their status |
| Get detailed information about a specific vulnerability |
| Search for vulnerabilities by keyword |
Installation
Prerequisites
Node.js 16 or higher
TypeScript (for development)
Building from Source
Clone the repository:
git clone https://github.com/Cyreslab-AI/nessus-mcp-server.git cd nessus-mcp-serverInstall dependencies:
npm installBuild 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.jsRunning 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-keyThen run the server:
node build/index.jsUsing with Claude for Desktop
To use this server with Claude for Desktop:
Edit your Claude for Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
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-scanGetting Scan Results
get_scan_results:
scan_id: scan-1234567890Searching for Vulnerabilities
search_vulnerabilities:
keyword: log4jDevelopment
Project Structure
src/index.ts: Main server entry pointsrc/nessus-api.ts: Nessus API client with mock fallbacksrc/mock-data.ts: Mock vulnerability data for testingsrc/tools/: Tool implementationssrc/utils/: Utility functions
Adding New Tools
Define the tool schema and handler in the appropriate file in
src/tools/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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cyreslab-AI/nessus-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server