小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
11
最近更新:6天前

一个支持AI助手使用NMAP执行网络扫描操作的模型上下文协议(MCP)服务器

MCP NMAP 服务器

一个模型上下文协议(MCP)服务器,使AI助手能够使用NMAP执行网络扫描操作。该服务器为AI模型提供了与NMAP交互的标准化接口,使得通过AI对话进行网络分析和安全评估成为可能。

前提条件

  • Windows操作系统
  • Node.js (v18或更高版本)
  • 已安装NMAP并可从Windows命令行访问
  • 开发需使用TypeScript

安装

使用npm全局安装包:

bash 复制代码
npm install -g mcp-nmap-server

或在项目中本地安装:

bash 复制代码
npm install mcp-nmap-server

功能特性

该服务器通过简单接口提供对NMAP核心功能的访问。支持快速扫描、全端口扫描、版本检测和自定义时序模板。实现使用NMAP原生命令行界面,确保与标准NMAP操作的可靠性和一致性。

与Claude Desktop配置

要在Windows上将此服务器与Claude Desktop配合使用,需在位于以下路径的Claude配置文件中进行配置:
C:\Users\YOUR_USERNAME\AppData\Roaming\Claude\config.json

通过将其添加到mcpServers部分来配置NMAP服务器。以下是Claude Desktop配置文件的完整示例:

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

YOUR_USERNAME替换为您的Windows用户名,并调整NMAP服务器的安装路径。

与AI配合使用

配置完成后,如Claude等AI助手可通过run_nmap_scan函数使用该服务器。该函数接受以下参数:

typescript 复制代码
{
    target: string;            // 要扫描的主机或网络
    ports?: string;           // 可选端口规范(如"80,443"或"1-1000")
    scanType?: 'quick' | 'full' | 'version';  // 扫描类型(默认: 'quick')
    timing?: number;          // NMAP时序模板0-5(默认: 3)
    additionalFlags?: string; // 可选的额外NMAP标志
}

与Claude的示例对话:

复制代码
用户:你能扫描localhost的开放端口吗?

Claude:我将使用NMAP帮您扫描localhost。

<执行nmap扫描并传入参数>
target: "localhost"
scanType: "quick"
timing: 3

许可证

MIT许可证

支持

如有问题、建议或贡献,请访问GitHub仓库。