使用说明
卡利mcp
一个MCP服务器,允许AI助手访问在Docker中运行的完整Kali Linux环境。将其连接到Claude Desktop、Claude Code或任何兼容MCP的客户端,让AI运行nmap、sqlmap、hydra、nikto、gobuster等安全工具。
运作原理
Claude <--stdio--> MCP Server <--Docker API--> Kali Linux Container
MCP服务器管理运行Kali Linux的Docker容器。它公开了让AI启动/停止容器、执行命令和传输文件的工具——所有这些都是通过 模型上下文协议.
工具
| 工具 | 说明 |
|---|---|
container_start |
启动Kali Linux容器 |
container_stop |
停止并移除容器 |
container_status |
检查容器是否正在运行 |
execute_command |
在Kali中运行任何shell命令 |
upload_file |
将文件写入容器 |
download_file |
从容器中读取文件 |
list_files |
列出目录内容 |
预装工具
nmap、nikto、gobuster、sqlmap、hydra、john、hashcat、metasploit框架、dirb、enum4linux、curl、wget、python3、单词表等等。
先决条件
- Node.js v18+
- Docker 桌面版 (必须正在运行)
设置
1.克隆并安装
git clone https://github.com/Hannes221/kali-mcp.git
cd kali-mcp
npm install
npm run build
2.构建Kali Docker镜像
cd docker
docker compose build
cd ..
这将下载并构建Kali Linux映像(约4GB)。第一次跑步需要几分钟。
3.连接到您的AI客户端
克劳德桌面
打开 设置 > 开发者 > 编辑配置 并添加 kali 服务器到您的 claude_desktop_config.json:
{
"mcpServers": {
"kali": {
"command": "node",
"args": ["/absolute/path/to/kali-mcp/dist/index.js"]
}
}
}
替换 /absolute/path/to/kali-mcp 使用克隆仓库的实际路径。
然后 重新启动克劳德桌面.
克劳德代码
如果你克隆了仓库 .mcp.json 文件已包含在内。只需在Claude Code中打开项目目录:
cd kali-mcp
claude
或者手动将其添加到您的Claude Code配置中:
claude mcp add kali node /absolute/path/to/kali-mcp/dist/index.js
4.验证
在对话中,让AI:
启动Kali容器并运行
nmap --version
它应该呼叫 container_start那么 execute_command 和 nmap --version 并返回版本输出。
用法示例
连接后,您可以向AI询问以下问题:
- “扫描192.168.1.0/24以查找开放端口”
- “与nikto对抗http://target.com"
- “使用sqlmap进行测试http://target.com/page?id=1用于SQL注入”
- “和约翰一起破解这些哈希”
- “枚举10.0.0.5上的SMB共享”
AI将使用适当的Kali工具并为您解释结果。
发展
npm run dev # Run with tsx (auto-compiles TypeScript)
npm run build # Compile to dist/
npm start # Run compiled version
自定义Kali映像
编辑 docker/Dockerfile 要添加或删除工具,请重新生成:
cd docker
docker compose build
安全
- 容器以默认Docker隔离运行(否
--privileged旗帜) - 网络模式为
bridge默认情况下 - 容器是短暂的——没有持久卷
- 仅将其用于授权的安全测试、CTF挑战和教育目的
许可证
麻省理工学院