返回市场
渗透测试工具MCP服务器

渗透测试工具MCP服务器

作者:ch1nhpd6 星标更新:2025-04-23

项目介绍

PenTest Tools MCP Server

用于渗透测试工具的MCP(模型上下文协议)服务器,旨在与各种LLM客户端(如Claude Desktop、Roo Code和其他兼容的MCP客户端)配合使用。

功能

  • 全面的渗透测试工具:
    • 目录扫描(FFuf、Dirsearch)
    • 漏洞扫描(Nuclei、XSStrike)
    • API测试
    • 侦察
    • 更多...
  • 预配置的SecLists词典
  • 自动报告生成
  • Claude Desktop集成

前提条件

  • Docker和Docker Compose(用于容器化设置)
  • Claude Desktop应用程序或其他兼容的MCP客户端
  • Python 3.10+ 和 uv(用于本地设置)

目录设置

  1. 创建所需的目录:
# 创建目录
mkdir -p reports templates wordlists
  1. 目录结构应如下所示:
pentest-tools/
├── reports/          # 存储扫描报告
├── templates/        # 报告模板
├── wordlists/        # 自定义词典
├── pentest-tools-mcp-server.py
├── config.json
├── requirements.txt
├── docker-compose.yml
└── Dockerfile

设置

Docker设置(推荐)

  1. 构建并启动容器:
docker-compose up -d --build
  1. 验证容器是否正在运行:
docker-compose ps
  1. 如需查看日志:
docker-compose logs -f

本地设置

  1. 安装依赖项:
uv venv
source .venv/bin/activate  # 在Windows上:.venv\Scripts\activate
uv pip install -r requirements.txt
  1. 安装所需系统工具(例如Ubuntu/Debian):
sudo apt-get install nmap whatweb dnsrecon theharvester ffuf dirsearch sqlmap

Claude Desktop集成

  1. 配置Claude Desktop:

Windows:

%APPDATA%\Claude\claude_desktop_config.json

MacOS/Linux:

~/Library/Application Support/Claude/claude_desktop_config.json
  1. 添加服务器配置:

对于Docker设置:

{
    "mcpServers": {
        "pentest-tools": {
            "command": "docker-compose",
            "args": [
                "run",
                "--rm",
                "pentest-tools",
                "python3",
                "pentest-tools-mcp-server.py"
            ],
            "cwd": "\\Path\\to\\pentest-tools"
        }
    }
}

如果上述配置在Windows上不起作用,请尝试以下替代方法:

{
    "mcpServers": {
        "pentest-tools": {
            "command": "cmd",
            "args": [
                "/c",
                "cd /d \\path\\to\\pentest-tools && docker-compose run --rm pentest-tools python3 pentest-tools-mcp-server.py"
            ]
        }
    }
}

关于cwd(当前工作目录)的说明:

  • cwd告诉Claude Desktop从哪个目录运行命令
  • 必须是包含docker-compose.yml文件的目录的绝对路径
  • 在Windows上,路径中使用双反斜杠(\\
  • 在Linux/MacOS上,使用正斜杠(/
  1. 重启Claude Desktop

使用

Claude Desktop中的可用命令:

  1. 侦察:
/recon example.com
  1. 目录扫描:
/scan example.com --type directory
  1. 漏洞扫描:
/scan example.com --type full
/scan example.com --type xss
/scan example.com --type sqli
/scan example.com --type ssrf
  1. API测试:
/scan api.example.com --type api

自然语言命令:

  • "对example.com进行完整的安全扫描"
  • "检查example.com上的XSS漏洞"
  • "对example.com执行侦察"

目录结构详情

pentest-tools/
├── reports/            # 扫描报告目录
│   ├── recon/         # 侦察报告
│   ├── vulns/         # 漏洞扫描报告
│   └── api/           # API测试报告
├── templates/          # 报告模板
│   ├── recon.html     # 侦察报告模板
│   ├── vuln.html      # 漏洞报告模板
│   └── api.html       # API测试报告模板
├── wordlists/         # 自定义词典
│   ├── SecLists/     # 从SecLists仓库克隆
│   ├── custom/       # 自定义词典
│   └── generated/    # 工具生成的词典
├── pentest-tools-mcp-server.py # 主MCP服务器
├── config.json        # 工具配置
├── requirements.txt   # Python依赖项
├── docker-compose.yml # Docker配置
└── Dockerfile        # 容器定义

安全注意事项

  • 确保始终获得扫描目标的许可
  • 保持工具和依赖项更新
  • 认真审查扫描结果
  • 遵循负责任的信息披露实践