Token导航 LogoToken导航TokenDH.com
Nmap MCP Python logo
运维云端stdio官方级别未说明来源级核验

Nmap MCP Python

MCP Server

一个基于FastAPI的MCP风格服务器,提供按需运行nmap扫描的功能,支持Docker和Kubernetes部署。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
安全PythonDockerFastAPI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

c0d3sh3lf

提供方

c0d3sh3lf

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

MCP Nmap快速API服务器

一个基于FastAPI的MCP风格的小型服务器,运行 nmap 按需扫描。\ 提供端点以启动扫描和轮询结果。在Docker镜像中发布,并包含Kubernetes清单。

警告:未经授权,网络扫描可能是非法的。仅扫描您拥有或明确允许测试的主机/网络。

快速启动(本地)

  1. 创建环境:
   python -m venv .venv
   source .venv/bin/activate
   pip install -r requirements.txt
  1. 导出环境变量:
   $ export SECRET_KEY= #required in prod; long random string
   $ export AUTH_USERNAME= #— login username
   $ export AUTH_PASSWORD=
 #— login credentials
   $ export ACCESS_TOKEN_EXPIRE_MINUTES=15 #(default 15)
   $ export REFRESH_TOKEN_EXPIRE_HOURS=24 #(default 24)
  1. 运行:
   uvicorn app.main:app --host 0.0.0.0 --port 8080

码头工人

构建:

docker build -t mcp-nmap-python:latest .

运行:

docker run -e SECRET_KEY=replace_with_long_secret_key -e AUTH_USERNAME=username -e AUTH_PASSWORD=password -e ACCESS_TOKEN_EXPIRE_MINUTES=15 -e REFRESH_TOKEN_EXPIRE_HOURS=24 -p 8080:8080 --cap-add=NET_RAW --cap-add=NET_ADMIN mcp-nmap-python:latest
注意:容器可能需要--cap add=NET_RAW来允许某些扫描类型。小心使用。

Kubernetes

清单单位为k8s/。为API密钥创建一个秘密,并应用deployment.yaml和service.yaml。例如,请参见k8s/secret.yaml。

端点

  • POST /auth/login --用于基于凭据生成身份验证令牌
  • POST /auth/refresh --用于刷新访问令牌
  • POST /scan --启动扫描(默认情况下为后台作业)。主体: { "target": "1.2.3.4", "args": ["-sV","-p","80,443"], "max_seconds": 300 }
  • 如果你通过 ?sync=true 请求将被阻止,直到扫描完成(不建议用于长扫描)。
  • GET /scan/{job_id} --作业元数据和状态
  • GET /scan/{job_id}/result --完整结果(XML和解析的JSON(如果可用))
  • GET /health --健康检查

安全

  • 使用API_KEY env var保护API(在部署中设置API_KEY)。
  • 考虑容器的网络隔离和Kubernetes中的强RBAC。
  • 确保日志和扫描结果的安全。

注意事项

  • 此服务器使用子进程运行nmap二进制文件;确保容器已安装nmap(Dockerfile已安装)。
  • 本例中的作业存储在内存中;对于生产环境,使用持久存储(Redis、DB等)。

目录标签

目录标签

安全PythonDockerFastAPI网络扫描本地部署Kubernetes安全测试

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP