imjdl
可用工具 (3 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
run-nmap-scan 2 个参数 需填 1 项
Run an nmap scan on specified targets
必填参数:target
get-scan-details 1 个参数 需填 1 项
Get detailed information about a specific scan
必填参数:scan_id
list-all-scans
List all available scan results
该工具无需必填参数,直接调用即可
服务介绍
Nmap MCP 服务器
这是一个模型控制协议(MCP)服务器,提供了对 nmap 网络扫描功能的访问。
功能
- 对指定目标执行带有自定义选项的 nmap 扫描
- 存储和检索扫描结果
- 使用 AI 提示分析扫描结果
安装
要求:
- Python 3.10+
- python-libnmap
- nmap(已安装在系统上)
bash
pip install python-libnmap
确保您的系统上已安装 nmap:
bash
在 Debian/Ubuntu 上
sudo apt-get install nmap
在 Fedora/CentOS 上
sudo dnf install nmap
使用方法
运行服务器
要直接从源代码运行服务器:
bash
python -m src.nmap_mcp
要安装包并作为命令运行:
bash
pip install -e .
nmap-mcp
可用工具
-
run-nmap-scan
- 对指定目标执行 nmap 扫描
- 参数:
target: 目标主机或网络(例如,192.168.1.1 或 192.168.1.0/24)options: Nmap 选项(例如,-sV -p 1-1000)
-
get-scan-details
- 获取特定扫描的详细信息
- 参数:
scan_id: 要检索的扫描 ID
-
list-all-scans
- 列出所有可用的扫描结果
- 不需要参数
可用提示
- analyze-scan
- 分析 nmap 扫描结果
- 参数:
scan_id: 要分析的扫描 IDfocus: 关注领域(安全/服务/概览)
资源
扫描结果作为资源提供,使用 nmap://scan/{scan_id} URI 方案。
示例工作流程
-
运行扫描:
调用工具: 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 未找到或执行错误相关的错误:
- 确保 nmap 已安装并且在您的 PATH 中可用
- 检查日志以确定正在使用的 nmap 可执行文件
- 服务器将尝试使用 nmap 的完整路径以避免冲突
Docker 使用
您可以在 Docker 容器中运行 MCP 服务器:
bash
构建 Docker 镜像
docker build -t nmap-mcp-server .
运行 Docker 容器
docker run -it --rm nmap-mcp-server
为了与 Glama MCP 目录集成,Docker 容器允许其他人轻松使用此 MCP 服务器而无需担心安装依赖项。
许可证
本项目根据 MIT 许可证发布 - 请参阅 LICENSE 文件获取详细信息。