NmapMCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| scan_top_portsC | Scan the top ports of the specified target with optional custom arguments. Args: target (str): The target hostname or IP address. args (str): Additional Nmap command-line arguments. Returns: dict: The scan results in JSON format. |
| dns_brute_forceB | Perform DNS brute-force to discover subdomains of the specified target. Args: target (str): The target domain to scan. args (str): Additional Nmap command-line arguments. Returns: dict: The DNS brute-force scan results. |
| list_scanB | Perform a list scan on the specified target with optional custom arguments. Args: target (str): The target IP address or hostname. args (str): Additional Nmap command-line arguments. Returns: dict: The list scan results. |
| os_detectionA | Perform OS detection on the specified target with optional custom arguments. Args: target (str): The target IP address or hostname. args (str): Additional Nmap command-line arguments. Returns: dict: The OS detection results. |
| version_detectionB | Detect service versions on the specified target with optional custom arguments. Args: target (str): The target IP address or hostname. args (str): Additional Nmap command-line arguments. Returns: dict: The version detection results. |
| fin_scanB | Perform a FIN scan on the specified target with optional custom arguments. Args: target (str): The target IP address or hostname. args (str): Additional Nmap command-line arguments. Returns: dict: The FIN scan results. |
| idle_scanC | Perform an idle scan on the specified target with optional custom arguments. Args: target (str): The target IP address or hostname. args (str): Additional Nmap command-line arguments. Returns: dict: The idle scan results. |
| ping_scanB | Perform a ping scan on the specified target with optional custom arguments. Args: target (str): The target IP address or hostname. args (str): Additional Nmap command-line arguments. Returns: dict: The ping scan results. |
| syn_scanC | Perform a SYN scan on the specified target with optional custom arguments. Args: target (str): The target IP address or hostname. args (str): Additional Nmap command-line arguments. Returns: dict: The SYN scan results. |
| tcp_scanC | Perform a TCP connect scan on the specified target with optional custom arguments. Args: target (str): The target IP address or hostname. args (str): Additional Nmap command-line arguments. Returns: dict: The TCP scan results. |
| udp_scanB | Perform a UDP scan on the specified target with optional custom arguments. Args: target (str): The target IP address or hostname. args (str): Additional Nmap command-line arguments. Returns: dict: The UDP scan results. |
| portscan_onlyB | Perform a port scan only on the specified target with optional custom arguments. Args: target (str): The target IP address or hostname. args (str): Additional Nmap command-line arguments. Returns: dict: The port scan results. |
| no_portscanB | Perform host discovery without port scanning on the specified target with optional custom arguments. Args: target (str): The target IP address or hostname. args (str): Additional Nmap command-line arguments. Returns: dict: The host discovery results. |
| arp_discoveryB | Perform ARP discovery on the specified target with optional custom arguments. Args: target (str): The target IP address or subnet (e.g., '192.168.1.0/24'). args (str): Additional Nmap command-line arguments. Returns: dict: The ARP discovery results. |
| disable_dns_resolutionC | Perform a scan on the specified target with DNS resolution disabled and optional custom arguments. Args: target (str): The target IP address or hostname. args (str): Additional Nmap command-line arguments. Returns: dict: The scan results with DNS resolution disabled. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Tools are mostly distinct, each representing a different Nmap scan type or feature (e.g., ping scan, SYN scan, OS detection). However, several port scanning tools (syn_scan, tcp_scan, fin_scan, udp_scan, portscan_only) could be confused if not read carefully, as they all perform port scanning with different techniques.
All tool names use snake_case and most follow a pattern like `<type>_scan` or `<feature>_scan`. Some deviations exist, such as `disable_dns_resolution`, `os_detection`, and `scan_top_ports`, but overall the naming is predictable and readable.
With 15 tools, the server covers a wide range of common Nmap operations without being overwhelming. Each tool addresses a specific scanning scenario, making the set well-scoped for network reconnaissance tasks.
The tools cover essential Nmap functionalities including various scan types, OS and version detection, DNS brute force, and ARP discovery. While NSE scripts and some advanced options are not exposed as separate tools, the generic `args` parameter allows for custom extensions, leaving only minor gaps.