Uses SQLite for task management and storage of scan results, tracking scanning task status and history.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Nmap MCP Serverquick scan of 192.168.1.1"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Nmap MCP Server
基于 FastMCP 框架开发的 Nmap 扫描服务,通过 Streamable HTTP 协议提供远程调用能力,支持 MCP (Model Context Protocol) 客户端集成。
截图预览
在 DeepSOC 中使用 Nmap MCP Server 进行端口扫描:

功能特性
快速扫描 - 扫描目标主机的常用端口(约 100 个)
全量扫描 - 扫描全部 65535 个端口,支持服务版本检测
自定义扫描 - 支持任意 Nmap 命令参数
异步任务 - 长时间扫描自动转为后台任务,通过任务 ID 查询结果
Token 鉴权 - 支持 URL 参数和 Bearer Token 两种认证方式
结构化输出 - 快速/全量扫描返回 JSON 格式的结构化数据
工作机制
请求处理:MCP Client 通过 Streamable HTTP 协议发送扫描请求
任务调度:服务器创建任务记录并存入 SQLite 数据库
同步等待:在配置的超时时间内(默认 30 秒)尝试完成扫描
异步降级:若超时未完成,任务转入后台执行,返回任务 ID 供后续查询
结果解析:Nmap 以 XML 格式输出,服务器解析后返回结构化 JSON
安装
环境要求
Python 3.10+
Nmap(系统需已安装)
安装步骤
配置
配置文件 config.json 示例:
参数 | 说明 | 默认值 |
| 监听地址 |
|
| 监听端口 |
|
| MCP 服务路径 |
|
| 鉴权令牌 | 自动生成 |
| 同步等待超时(秒) |
|
| 最大并发任务数 |
|
| SQLite 数据库路径 |
|
| Nmap 可执行文件路径 |
|
使用方法
启动服务
MCP 客户端配置
服务启动后会打印 MCP 客户端配置,支持两种鉴权方式:
方式 1:URL Token
方式 2:Bearer Token
测试验证
项目自带测试客户端程序,可快速验证 MCP Server 是否正常工作。
测试内容包括:
URL Token 鉴权方式
HTTP Header Bearer Token 鉴权方式
无 Token 请求(验证拒绝)
错误 Token 请求(验证拒绝)
测试程序会自动调用快速扫描工具并查询任务状态,确保所有功能正常运行。
可用工具
Nmap MCP Server 提供的工具列表:

quick_scan
快速扫描目标主机的常用端口(约 100 个)。
参数:
target(必填): 目标 IP、域名或 CIDR 格式timeout(可选): 同步等待超时,5-300 秒
示例:
full_scan
全量扫描目标主机的所有端口(1-65535),包含服务版本检测。
参数:
target(必填): 目标 IP、域名或 CIDR 格式timeout(可选): 同步等待超时,5-600 秒
示例:
custom_scan
执行自定义 Nmap 命令。
参数:
command(必填): Nmap 命令参数(不含nmap命令本身)timeout(可选): 同步等待超时,5-600 秒
示例:
get_task_status
查询扫描任务状态。
参数:
task_id(必填): 任务 ID(UUID 格式)
返回状态:
pending: 等待执行running: 正在扫描completed: 扫描完成failed: 扫描失败
get_task_result
获取扫描任务的完整结果。
参数:
task_id(必填): 任务 ID(UUID 格式)
返回结果示例
同步完成
异步任务
注意事项
安全相关
Token 保护:请务必修改默认 Token,避免未授权访问
网络隔离:建议在可信网络环境中运行,或配合防火墙使用
权限控制:本服务不限制扫描目标,请确保仅用于授权的安全测试
命令注入:
custom_scan工具接受任意 Nmap 参数,请评估风险
性能相关
并发限制:默认最多 10 个并发任务,超出时请求会被拒绝
超时设置:全量扫描耗时较长,建议使用异步任务模式
资源占用:大范围扫描(如 /16 网段)会消耗大量系统资源
部署建议
容器化部署:推荐使用 Docker 部署,便于隔离和管理
日志监控:建议配置日志收集,监控扫描活动
定期清理:SQLite 数据库会持续增长,建议定期清理历史任务
项目结构
贡献
欢迎提交 Issue 和 Pull Request!本项目完全开源,期待社区的参与和贡献。
许可证
本项目采用 MIT License 开源许可证。
Copyright (c) 2025 上海雾帜智能科技有限公司 (Shanghai Wuzhi Intelligent Technology Co., Ltd.)