Nuclei MCP is a bridge that connects Nuclei, the powerful vulnerability scanner, with the Model Context Protocol (MCP) ecosystem.
Nuclei MCP enables seamless integration of Nuclei's template-based vulnerability scanning capabilities into MCP-compatible applications and AI-powered workflow systems. This bridge allows you to leverage Nuclei functionality through a standardized protocol, making it easier to incorporate into automated security testing pipelines or AI assistant capabilities.
- Simple configuration and setup
- Easy integration with other MCP-compatible tools and systems
- Standardized input/output handling
- Access to Nuclei's extensive template library
- Node.js (v16 or higher)
- Nuclei installed on your system
# Install globally
npm install -g gc-nuclei-mcp
# Or run directly without installing
npx gc-nuclei-mcp
This server requires the path to the Nuclei executable to be set via the NUCLEI_PATH
environment variable.
Example:
# Linux/macOS
export NUCLEI_PATH=/usr/local/bin/nuclei
# Windows
set NUCLEI_PATH=C:\path\to\nuclei\nuclei.exe
# With NUCLEI_PATH environment variable set
npx gc-nuclei-mcp
Add to your claude_desktop_config.json
:
{
"mcpServers": {
"nuclei": {
"command": "npx",
"args": ["-y", "gc-nuclei-mcp"],
"env": {
"NUCLEI_PATH": "C:\\path\\to\\nuclei\\nuclei.exe"
}
}
}
}
For other MCP clients, you can configure them to use this server with:
NUCLEI_PATH=/path/to/nuclei npx gc-nuclei-mcp
Once configured, you can run Nuclei scans through the MCP interface using the do-nuclei
tool:
// Example of calling Nuclei through MCP
const result = await mcp.tools.invoke("do-nuclei", {
url: "https://example.com",
tags: "cve,rce,tech"
});
You can retrieve all available Nuclei template tags using the get-nuclei-tags
tool:
// Get all available Nuclei tags
const tagsResult = await mcp.tools.invoke("get-nuclei-tags", {});
const tags = JSON.parse(tagsResult.content[0].text);
Nuclei MCP currently supports the following parameters:
-
url
: The target URL to scan (required) -
tags
: Comma-separated list of template tags to filter which checks to run (optional)
const result = await mcp.tools.invoke("do-nuclei", {
url: "https://target-website.com"
});
const result = await mcp.tools.invoke("do-nuclei", {
url: "https://target-website.com",
tags: "cve,oast,ssrf"
});
Nuclei MCP is designed to work seamlessly with AI assistants that support the Model Context Protocol, enabling natural language interactions for security testing tasks.
Example conversation with an AI assistant:
User: Check example.com for common security vulnerabilities
AI: I'll help you scan example.com for security vulnerabilities using Nuclei.
[AI uses Nuclei MCP to run the scan and returns the results]
Nuclei scan results for example.com:
- Found CVE-2021-XXXX in the login page
- Detected an open redirect vulnerability
- Identified outdated WordPress version
...
- Always obtain proper authorization before scanning websites for vulnerabilities
- Use responsibly and ethically
- Consider the potential impact of active scanning on production systems
- Some templates may generate significant traffic or potentially disruptive tests
If you encounter issues:
- Verify Nuclei is properly installed and accessible
- Check the path to the Nuclei executable in your configuration
- Ensure proper permissions are set for execution
- Review server logs for detailed error messages
Apache-2.0
- Nuclei Project: https://github.com/projectdiscovery/nuclei
- Model Context Protocol: https://github.com/modelcontextprotocol