这是一个提供访问 nmap 网络扫描功能的模型控制协议(MCP)服务器。
需求:
pip install python-libnmap
确保 nmap 已安装在您的系统上:
# 在 Debian/Ubuntu 上
sudo apt-get install nmap
# 在 Fedora/CentOS 上
sudo dnf install nmap
从源代码直接运行服务器:
python -m src.nmap_mcp
安装包并作为命令运行:
pip install -e .
nmap-mcp
run-nmap-scan
target:目标主机或网络(例如,192.168.1.1 或 192.168.1.0/24)options:Nmap 选项(例如,-sV -p 1-1000)get-scan-details
scan_id:要检索的扫描的IDlist-all-scans
scan_id:要分析的扫描的IDfocus:关注区域(安全/服务/概述)扫描结果作为资源可用,URI 方案为 nmap://scan/{scan_id}。
运行扫描:
调用工具:run-nmap-scan
参数:{"target": "192.168.1.0/24", "options": "-sV -p 22,80,443"}
获取扫描详情:
调用工具:get-scan-details
参数:{"scan_id": "<来自上一步的 scan_id>"}
列出所有扫描:
调用工具:list-all-scans
分析扫描结果:
获取提示:analyze-scan
参数:{"scan_id": "<scan_id>", "focus": "security"}
此服务器会在您的系统上执行 nmap 命令。当扫描您没有所有权或未获授权的网络时,请谨慎行事,因为未经授权的扫描在某些司法管辖区可能是非法的。
如果您遇到与 nmap 未找到或执行错误相关的错误:
您可以将 MCP 服务器运行在一个 Docker 容器中:
# 构建 Docker 镜像
docker build -t nmap-mcp-server .
# 运行 Docker 容器
docker run -it --rm nmap-mcp-server
为了与 Glama MCP 目录集成,Docker 容器允许其他人轻松使用此 MCP 服务器,而无需担心安装依赖项。
本项目根据 MIT 许可证发布 - 详情见 LICENSE 文件。