用于渗透测试工具的MCP(模型上下文协议)服务器,旨在与各种LLM客户端(如Claude Desktop、Roo Code和其他兼容的MCP客户端)配合使用。
# 创建目录
mkdir -p reports templates wordlists
pentest-tools/
├── reports/ # 存储扫描报告
├── templates/ # 报告模板
├── wordlists/ # 自定义词典
├── pentest-tools-mcp-server.py
├── config.json
├── requirements.txt
├── docker-compose.yml
└── Dockerfile
docker-compose up -d --build
docker-compose ps
docker-compose logs -f
uv venv
source .venv/bin/activate # 在Windows上:.venv\Scripts\activate
uv pip install -r requirements.txt
sudo apt-get install nmap whatweb dnsrecon theharvester ffuf dirsearch sqlmap
Windows:
%APPDATA%\Claude\claude_desktop_config.json
MacOS/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json
对于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文件的目录的绝对路径\\)/)Claude Desktop中的可用命令:
/recon example.com
/scan example.com --type directory
/scan example.com --type full
/scan example.com --type xss
/scan example.com --type sqli
/scan example.com --type ssrf
/scan api.example.com --type api
自然语言命令:
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 # 容器定义