A Nuclei security scanning server based on MCP
Project description
MCP Nuclei Server
A Nuclei security scanning server based on MCP (Model Control Protocol), providing convenient vulnerability scanning services.
Project Introduction
MCP Nuclei Server is a Nuclei security scanning service developed based on the MCP protocol. It allows large language models to execute Nuclei security scans, supporting various scanning options and result output formats.
Key Features:
- Support for Nuclei security scanning
- Configurable template and tag filtering
- Support for severity-based vulnerability filtering
- JSON format output results
- Easy-to-integrate MCP service
Installation Guide
Prerequisites
- Python 3.8 or higher
- Nuclei binary (installed and configured)
Installation Steps
- Clone the repository:
git clone https://github.com/crazyMarky/mcp_nuclei_server.git
cd mcp_nuclei_server
- Install UV and activate environment:
curl -LsSf https://astral.sh/uv/install.sh | sh # Linux/Mac
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" # Windows
- Install dependencies:
# Create and activate virtual environment
uv venv
source .venv/bin/activate
# Install mcp related packages
uv pip install mcp
Usage Guide
MCP Configuration (Example for CLINE)
- Reference MCP JSON configuration:
{
"mcpServers": {
"nuclei_mcp_server": {
"command": "/path/to/uv", # path to uv
"args": [
"--directory",
"/path/to/nuclei_mcp_server/",
"run",
"main.py"
],
"env": {
"NUCLEI_BIN_PATH": "/path/to/nuclei"
}
}
}
}
Usage Example
Parameter Description
target: Target URL or IP addresstemplates: List of specific templates to use (optional)severity: Vulnerability severity filter (critical, high, medium, low, info)template_tags: Template tag filter (optional)output_format: Output format (default: "json")
Output Format
Scan results are returned in JSON format with the following fields:
{
"success": true,
"target": "https://example.com",
"time_cost_seconds": 10.5,
"results": [
{
"template": "template-name",
"severity": "high",
"matched_at": "https://example.com/path",
"info": {
"name": "Vulnerability Name",
"description": "Vulnerability Description"
}
}
]
}
Contributing
Issues and Pull Requests are welcome!
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details
Contact
For any questions or suggestions, please contact us through:
- Submit an Issue
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_crazymarky_mcp_nuclei_server-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_crazymarky_mcp_nuclei_server-0.1.0.tar.gz
- Upload date:
- Size: 318.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1dfc7e6a900c5e791edf7a8071f8098fca096b3fd863cf39dd97e0aebdb2ede2
|
|
| MD5 |
0cd5f069b239dddc54a574710f4ef64d
|
|
| BLAKE2b-256 |
da5815e93ba2d784e1e03675ceaf99e978a216efcb4759c59ce98078625974ca
|
File details
Details for the file iflow_mcp_crazymarky_mcp_nuclei_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_crazymarky_mcp_nuclei_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 324.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8159517d2cdaee7d2290993396eb30ff7ec8577495e0d9063740c4d117ddeec
|
|
| MD5 |
10e72c7835e00f3331b88416caa399d2
|
|
| BLAKE2b-256 |
8631d08240328a0122103b91fdf77c9e7db1dbaa80cd01a74b301f700e68d2ea
|