mcpField
N
Nmap MCP Server

Nmap MCP Server

本地服务
github.com/imjdl安全1979 周前更新

关于 Nmap MCP Server

Nmap MCP 服务提供对 nmap 网络扫描功能的访问,可执行扫描、保存结果并借助提示词分析扫描内容。适用于需要在授权范围内进行网络探测的安全人员。

主要功能

  1. 01按指定目标和选项运行 nmap 扫描
  2. 02保存并检索扫描结果
  3. 03通过提示词分析扫描结果
  4. 04扫描结果以资源形式提供

适用场景

  1. 01对授权的 IP 或网段执行服务版本探测
  2. 02让 AI 助手查看历史扫描记录
  3. 03根据安全、服务或概览等关注点分析扫描结果

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端提供 run-nmap-scan、get-scan-details、list-all-scans 等工具、analyze-scan 提示词以及 nmap://scan/{scan_id} 资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Nmap MCP 服务

这是一个模型控制协议(MCP)服务,可提供 nmap 网络扫描功能。

功能

  • 使用可自定义的选项对指定目标运行 nmap 扫描
  • 存储和检索扫描结果
  • 使用 AI 提示词分析扫描结果

安装

要求:

  • Python 3.10+
  • python-libnmap
  • 系统上已安装 nmap
pip install python-libnmap

确保系统上已安装 nmap:

# On Debian/Ubuntu
sudo apt-get install nmap

# On Fedora/CentOS
sudo dnf install nmap

用法

运行服务

直接从源代码运行服务:

python -m src.nmap_mcp

安装软件包并以命令方式运行:

pip install -e .
nmap-mcp
可用工具
  1. run-nmap-scan

    • 对指定目标运行 nmap 扫描
    • 参数:
      • target:目标主机或网络(例如,192.168.1.1 或 192.168.1.0/24)
      • options:Nmap 选项(例如,-sV -p 1-1000)
  2. get-scan-details

    • 获取特定扫描的详细信息
    • 参数:
      • scan_id:要检索的扫描 ID
  3. list-all-scans

    • 列出所有可用的扫描结果
    • 无需参数
可用提示词
  1. analyze-scan
    • 分析 nmap 扫描结果
    • 参数:
      • scan_id:要分析的扫描 ID
      • focus:关注领域(security/services/overview)
资源

扫描结果可通过 nmap://scan/{scan_id} URI 方案作为资源使用。

示例工作流

  1. 运行扫描:

    Call tool: run-nmap-scan
    Parameters: {"target": "192.168.1.0/24", "options": "-sV -p 22,80,443"}
    
  2. 获取扫描详情:

    Call tool: get-scan-details
    Parameters: {"scan_id": "<scan_id from previous step>"}
    
  3. 列出所有扫描:

    Call tool: list-all-scans
    
  4. 分析扫描结果:

    Get prompt: analyze-scan
    Parameters: {"scan_id": "<scan_id>", "focus": "security"}
    

安全注意事项

此服务会在你的系统上执行 nmap 命令。扫描不属于你或未经你许可的网络时请务必谨慎,因为在某些司法管辖区,未经授权的扫描可能违法。

故障排除

如果遇到与找不到 nmap 或 nmap 执行不正确相关的错误:

  1. 确保已安装 nmap,且可在 PATH 中找到
  2. 检查日志,确认正在使用哪个 nmap 可执行文件
  3. 服务会尝试使用 nmap 的完整路径,以避免冲突

Docker 用法

你可以在 Docker 容器中运行 MCP 服务:

# Build the Docker image
docker build -t nmap-mcp-server .

# Run the Docker container
docker run -it --rm nmap-mcp-server

为了与 Glama MCP 目录集成,Docker 容器让其他人可以轻松使用此 MCP 服务,而无需担心安装依赖项。

许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。