Nmap MCP Server
Nmap MCP Server
This is a Model Control Protocol (MCP) server that provides access to nmap network scanning functionality.
Features
Run nmap scans on specified targets with customizable options
Store and retrieve scan results
Analyze scan results using AI prompts
Installation
Requirements:
Python 3.10+
python-libnmap
nmap (installed on the system)
pip install python-libnmapMake sure nmap is installed on your system:
# On Debian/Ubuntu
sudo apt-get install nmap
# On Fedora/CentOS
sudo dnf install nmapUsage
Running the Server
To run the server directly from the source code:
python -m src.nmap_mcpTo install the package and run as a command:
pip install -e .
nmap-mcpAvailable Tools
run-nmap-scan
Run an nmap scan on specified targets
Parameters:
target: Target host or network (e.g., 192.168.1.1 or 192.168.1.0/24)options: Nmap options (e.g., -sV -p 1-1000)
get-scan-details
Get detailed information about a specific scan
Parameters:
scan_id: ID of the scan to retrieve
list-all-scans
List all available scan results
No parameters required
Available Prompts
analyze-scan
Analyze an nmap scan result
Parameters:
scan_id: ID of the scan to analyzefocus: Focus area (security/services/overview)
Resources
Scan results are available as resources with the nmap://scan/{scan_id} URI scheme.
Example Workflow
Run a scan:
Call tool: run-nmap-scan Parameters: {"target": "192.168.1.0/24", "options": "-sV -p 22,80,443"}Get scan details:
Call tool: get-scan-details Parameters: {"scan_id": "<scan_id from previous step>"}List all scans:
Call tool: list-all-scansAnalyze scan results:
Get prompt: analyze-scan Parameters: {"scan_id": "<scan_id>", "focus": "security"}
Security Considerations
This server executes nmap commands on your system. Be cautious when scanning networks you don't own or have permission to scan, as unauthorized scanning may be illegal in some jurisdictions.
Troubleshooting
If you encounter errors related to nmap not being found or being executed incorrectly:
Make sure nmap is installed and available in your PATH
Check the logs for which nmap executable is being used
The server will attempt to use the full path to nmap to avoid conflicts
Docker Usage
You can run the MCP server in a Docker container:
# Build the Docker image
docker build -t nmap-mcp-server .
# Run the Docker container
docker run -it --rm nmap-mcp-serverFor integration with the Glama MCP directory, the Docker container allows others to easily use this MCP server without worrying about installation dependencies.
License
This project is licensed under the MIT License - see the LICENSE file for details.
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/imjdl/nmap-mcpserver'
If you have feedback or need assistance with the MCP directory API, please join our Discord server