LABSCO SUMMARY
The scan type is a decision about noise, and naming them makes that decision visible.
Nmap's difficulty was never the scanning, it was knowing that a version scan is loud, a list scan touches nothing, and an idle scan hides the origin. Presenting them as named options puts that choice in front of whoever is asking instead of buried in flags. Everything here still only belongs on systems you are authorised to scan — a friendlier interface changes the ergonomics, not the rules.
What it is
A wrapper over Nmap, exposing its scan modes as named operations so a scan is requested by intent rather than by remembering flag combinations.
What you get
- Top-ports scanning for a quick view of the common entry points
- DNS brute force for subdomain discovery
- List scan — active hosts in a range, without touching their ports
- OS detection and service version detection
- FIN scan and idle scan, the stealthier modes
- Ping scan for straightforward host discovery
Requirements
Nmap installed locally — this drives it rather than reimplementing it. MIT licensed.
Setup effort
Build from source
USE CASES
01
A first look at a host
Top ports, then versions if you need them.
02
Mapping what is alive
Ping or list scan without probing ports.
03
Scanning quietly
FIN and idle scans when noise matters.
04
Finding the rest of the estate
Subdomain discovery by DNS brute force.
INSTALLATION
Connect your client
MCP Clients
Claude Desktop
CLAUDE DESKTOP · TERMINAL
git clone https://github.com/0xPratikPatil/NmapMCP.git
cd NmapMCP
uv venv
uv pip install -r pyproject.tomlThen add this to claude_desktop_config.json:
CLAUDE DESKTOP · JSON
{
"mcpServers": {
"NmapMCP": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_NMAP_MCP>",
"run",
"main.py"
]
}
}
}<YOUR_PATH_TO_NMAP_MCP> is the full path of the NmapMCP folder the clone created.