Get AIDA running in 5 minutes.
Before we start, make sure you have:
| Requirement | Version | Check |
|---|---|---|
| Docker Desktop | Latest | docker --version |
| Python | 3.10+ | python3 --version |
| Node.js | 18+ | node --version |
| Git | Any | git --version |
Also needed:
- Exegol container (Install guide)
- An AI client that supports MCP — Claude Code or Kimi CLI recommended (see Step 5)
git clone https://github.com/Vasco0x4/AIDA.git
cd AIDAThe easiest way - Docker Compose handles everything:
./start.shThis starts:
- PostgreSQL on port
5432- The database - Backend API on port
8000- FastAPI server - Frontend on port
5173- React dashboard
Open your browser to http://localhost:5173
You should see the AIDA dashboard.
Install Exegol: Follow the official guide → https://docs.exegol.com/first-install
Start the container:
exegol start aidaWhen it asks which image to use, select web or the full one
Yeah, I know 40GB is a lot. I'm working on a lighter alternative.
Configure AIDA:
- Go to http://localhost:5173/settings
- Under Tools, check if your Exegol container is detected
- Set your default container name to
exegol-aida(or whatever you named it)
Now you need to hook up AIDA to your AI assistant via MCP.
| AI Client | Recommendation | Setup Method |
|---|---|---|
| Claude Code | Recommended | Use aida.py CLI (automatic) |
| Kimi CLI | Recommended | Use aida.py CLI (automatic) |
| Vertex AI / External API | Recommended | Use aida.py with flags |
| Antigravity | Works | Manual MCP import |
| Gemini CLI | Works | Manual MCP import |
| Claude Desktop | Works | Manual MCP import |
The aida.py CLI is the recommended way to launch AIDA. It auto-detects which AI client you have installed (Claude Code or Kimi CLI) and configures everything automatically — MCP server, workspace, preprompt.
| Flag | Description |
|---|---|
-a, --assessment NAME |
Load a specific assessment directly |
--cli claude|kimi|auto |
Force a specific CLI (default: auto-detect) |
-m, --model MODEL |
Override the model used |
--preprompt FILE |
Use a custom preprompt file |
-y, --yes |
Auto-approve all AI actions |
--no-mcp |
Disable MCP server (for testing) |
--debug |
Enable debug output |
-q, --quiet |
Minimal startup output |
PROMPT... |
Pass an initial prompt directly |
Claude Code is recommended because the AIDA CLI does everything for you.
You MUST have Claude Code installed and logged in:
# Install Claude Code
curl -fsSL https://claude.ai/install.sh | bash# Interactive — select assessment from list
python3 aida.py
# Direct launch with assessment name
python3 aida.py --assessment "MyTarget"
# With custom model
python3 aida.py --assessment "MyTarget" --model claude-opus-4-6
# Force Claude if both CLIs are installed
python3 aida.py --assessment "MyTarget" --cli claude
# Auto-approve all actions (no confirmation prompts)
python3 aida.py --assessment "MyTarget" --yesThe CLI automatically:
- Generates MCP config
- Sets working directory to assessment workspace
- Injects the pentesting methodology preprompt
- Configures all tools
You can verify if the MCP server is correctly loaded using /mcp
That's it. You're ready.
Kimi CLI is fully supported as an alternative to Claude Code. The AIDA CLI handles the full setup automatically.
Install Kimi CLI:
pip install kimi-cli
# or
uv tool install kimi-cliThen log in and configure Kimi CLI according to its documentation.
# Auto-detect (picks Kimi if Claude isn't installed)
python3 aida.py --assessment "MyTarget"
# Force Kimi explicitly
python3 aida.py --assessment "MyTarget" --cli kimi
# With a specific model
python3 aida.py --assessment "MyTarget" --cli kimi --model kimi-k2
# Yolo mode — auto-approve everything
python3 aida.py --assessment "MyTarget" --cli kimi --yesThe CLI automatically:
- Generates a Kimi agent YAML file (
.aida/kimi-agent.yaml) - Injects the AIDA system prompt with assessment context
- Configures the MCP server for Kimi
- Sets the working directory to the assessment workspace
Note:
--yesmaps to--yoloin Kimi CLI, which auto-approves all tool calls. Use with caution.
If you're using Vertex AI or another external API (Claude only):
python3 aida.py --assessment "MyTarget" \
--base-url "https://YOUR-VERTEX-ENDPOINT" \
--api-key "YOUR-API-KEY" \
--model claude-sonnet-4-5-20250929Same benefits as Claude Code, but routing through your own API endpoint.
For Antigravity, Gemini CLI, Claude Desktop, or ChatGPT, you need to manually configure the MCP server.
The process:
- Import the MCP server config (see examples below)
- Copy the preprompt from
Docs/PrePrompt.txt - Paste it into your AI client when starting an assessment
Antigravity works great if you select Claude. Gemini is OK. Any MCP-compatible client should work.
Prefer Claude Code or Kimi? Use
aida.pyinstead — it handles all of this automatically.
Antigravity: MCP settings (UI)
Gemini CLI: ~/.gemini/settings.json
Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
ChatGPT Desktop:
- macOS:
~/Library/Application Support/ChatGPT/mcp_config.json
Add this to your config file (replace /absolute/path/to/AIDA/ with your actual path):
{
"mcpServers": {
"aida-mcp": {
"command": "/bin/bash",
"args": [
"/absolute/path/to/AIDA/start_mcp.sh"
]
}
}
}/absolute/path/to/AIDA/ with your actual AIDA directory path.
After MCP setup:
- Restart your AI client
- Copy the preprompt from
Docs/PrePrompt.txtand paste it into your AI client - Say to the AI:
Load assessment "your-assessment-name" and start it
Run through this checklist:
| Check | How | Expected |
|---|---|---|
| Platform running | http://localhost:5173 | Dashboard loads |
| API healthy | http://localhost:8000/health | {"status": "healthy"} |
| Database connected | Check backend logs | No connection errors |
| Exegol container | docker ps | grep exegol |
Container running |
| MCP server | Check AI client | AIDA tools visible |
TODO
- User Guide - Learn how to use the platform
- MCP Tools Reference - All available tools for your AI
- Architecture - Technical deep dive
# List available assessments and pick one interactively
python3 aida.py
# Load a specific assessment (auto-detect CLI)
python3 aida.py -a "MyTarget"
# Force Claude Code
python3 aida.py -a "MyTarget" --cli claude
# Force Kimi CLI
python3 aida.py -a "MyTarget" --cli kimi
# Auto-approve all actions
python3 aida.py -a "MyTarget" --yes
# Custom preprompt
python3 aida.py -a "MyTarget" --preprompt /path/to/custom-preprompt.txt
# External API (Claude only)
python3 aida.py -a "MyTarget" --base-url "https://..." --api-key "..." --model claude-sonnet-4-5-20250929
# Pass an initial prompt
python3 aida.py -a "MyTarget" "Start from phase 1 and run reconnaissance"Need help? Contact vasco0x4 on Discord.
- GitHub Issues: Report bugs
- Email: Vasco0x4@proton.me
