用于渗透测试的多传输MCP服务器 - 支持本地通过标准输入输出(STDIO),网络通过HTTP流式传输,或与旧版SSE客户端兼容。可以在Docker中运行,远程部署,或本地使用 - 由您选择。
npm install -g pentest-mcp
npx -y @smithery/cli install @DMontgomery40/pentest-mcp --client claude
# 本地子进程模式(默认)
pentest-mcp
# 网络模式,使用HTTP流式传输
MCP_TRANSPORT=http pentest-mcp
# 旧版SSE模式
MCP_TRANSPORT=sse pentest-mcp
适合Claude桌面和本地开发:
{
"servers": [{
"name": "pentest-mcp",
"command": "pentest-mcp"
}]
}
部署到任何地方,从任何地方访问:
# 启动服务器
MCP_TRANSPORT=http pentest-mcp
# 或使用Docker
docker run -p 8000:8000 -e MCP_TRANSPORT=http --privileged pentest-mcp:latest
配置您的客户端:
{
"servers": [{
"name": "pentest-mcp",
"url": "http://localhost:8000/mcp"
}]
}
为了与旧版客户端兼容:
MCP_TRANSPORT=sse MCP_SERVER_PORT=8001 pentest-mcp
# STDIO模式(适用于本地MCP客户端)
docker run -it --rm --privileged pentest-mcp:latest
# HTTP模式(适用于网络访问)
docker run -p 8000:8000 -e MCP_TRANSPORT=http --privileged pentest-mcp:latest
# 克隆并构建
git clone https://github.com/dmontgomery40/pentest-mcp.git
cd pentest-mcp
docker-compose build
# 运行您偏好的传输方式
docker-compose --profile stdio up
docker-compose --profile http up
docker-compose --profile sse up
MCP_TRANSPORT: 选择传输方式(stdio, http, sse)MCP_SERVER_HOST: 绑定地址(默认:0.0.0.0)MCP_SERVER_PORT: 服务器端口(默认:8000)设置模式为专业。
对192.168.1.0/24进行SYN扫描和服务检测。
扫描10.0.1.0/24中的web服务器。
对于每个找到的web服务器,使用common.txt枚举目录。
对所有发现的web服务器运行nikto。
创建一个客户端报告总结发现。
为成立于1995年的公司“Acme Corp”由John Smith生成字典。
使用生成的字典破解以下哈希:
admin:$1$xyz$...
user:$1$abc$...
npm install -g pentest-mcp
git clone https://github.com/dmontgomery40/pentest-mcp.git
cd pentest-mcp
npm install
npm run build
# macOS
brew install nmap john-jumbo gobuster nikto
# Debian/Ubuntu
sudo apt update
sudo apt install nmap john gobuster nikto
# Kali Linux(预安装)
# 所有工具都已预安装
Pentest MCP现在支持HTTP/SSE传输的OAuth 2.1认证,实现:
.env中:MCP_OAUTH_ENABLED=true
MCP_OAUTH_PROVIDER_URL=https://your-domain.auth0.com/oauth2
MCP_OAUTH_CLIENT_ID=your_client_id
MCP_OAUTH_CLIENT_SECRET=your_client_secret
MCP_OAUTH_SCOPES=read,write,scan
MCP_TRANSPORT=http npm start
const client = new McpClient();
await client.connect('http://localhost:8000/mcp', {
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
}
});
当启用OAuth时,以下端点可用:
/.well-known/oauth-authorization-server - 授权服务器元数据/.well-known/oauth-protected-resource - 受保护资源元数据/oauth/authorize - 授权端点(如果作为授权服务器)/oauth/token - 令牌端点(如果作为授权服务器)⚠️ 仅限授权使用:此工具包仅供在有效工作范围内操作的专业渗透测试人员使用。仅在具有明确书面授权的系统和网络上使用。
🐳 Docker安全提示:某些扫描(SYN,OS检测)需要--privileged标志。仅在可信环境或虚拟机中使用。
确保所有必需的工具都在您的PATH中:
which nmap john gobuster nikto
对于SYN扫描和操作系统检测:
# 本地使用sudo运行
sudo pentest-mcp
# 或使用带有--privileged的Docker
docker run --privileged pentest-mcp:latest
rm -rf node_modules dist
npm install
npm run build
欢迎在GitHub仓库提交拉取请求。由专业人士为专业人士打造。
GPL-3.0或更高版本 - 详情见LICENSE文件。