An open API service indexing awesome lists of open source software.

https://github.com/phialsbasement/nmap-mcp-server

A Model Context Protocol (MCP) server that enables AI assistants to perform network scanning operations using NMAP
https://github.com/phialsbasement/nmap-mcp-server

Last synced: 3 months ago
JSON representation

A Model Context Protocol (MCP) server that enables AI assistants to perform network scanning operations using NMAP

Awesome Lists containing this project

README

          

# MCP NMAP Server

A Model Context Protocol (MCP) server that enables AI assistants to perform network scanning operations using NMAP. This server provides a standardized interface for AI models to interact with NMAP, making it possible to perform network analysis and security assessments through AI conversations.

## Prerequisites

- Windows operating system
- Node.js (v18 or higher)
- NMAP installed and accessible from Windows command line
- TypeScript for development

## Installation

Install the package globally using npm:

```bash
npm install -g mcp-nmap-server
```

Or install locally in your project:

```bash
npm install mcp-nmap-server
```

## Features

The server provides access to NMAP's core functionality through a simple interface. It supports quick scans, full port scans, version detection, and custom timing templates. The implementation uses NMAP's native command-line interface, ensuring reliability and consistency with standard NMAP operations.

## Configuration with Claude Desktop

To use this server with Claude Desktop on Windows, you'll need to configure it in the Claude configuration file located at:
`C:\Users\YOUR_USERNAME\AppData\Roaming\Claude\config.json`

Add the NMAP server to your configuration by adding it to the `mcpServers` section. Here's a complete example of a Claude Desktop configuration file:

```json
{
"mcpServers": {
"nmap": {
"command": "node",
"args": [
"C:\\Users\\YOUR_USERNAME\\Downloads\\mcp-nmap-server\\dist\\index.js"
]
}
},
"globalShortcut": "Ctrl+Q"
}
```

Replace `YOUR_USERNAME` with your Windows username and adjust the path to where you've installed the NMAP server.

## Usage with AI

Once configured, AI assistants like Claude can use the server through the `run_nmap_scan` function. The function accepts the following parameters:

```typescript
{
target: string; // Host or network to scan
ports?: string; // Optional port specification (e.g., "80,443" or "1-1000")
scanType?: 'quick' | 'full' | 'version'; // Scan type (default: 'quick')
timing?: number; // NMAP timing template 0-5 (default: 3)
additionalFlags?: string; // Optional additional NMAP flags
}
```

Example conversation with Claude:

```
Human: Can you scan localhost for open ports?

Claude: I'll help you scan localhost using NMAP.

target: "localhost"
scanType: "quick"
timing: 3
```

## License

MIT License

## Support

For issues, suggestions, or contributions, please visit the GitHub repository.