diff --git a/OPENWEBUI_MCP_SETUP.md b/OPENWEBUI_MCP_SETUP.md index e14ef3f..971de78 100644 --- a/OPENWEBUI_MCP_SETUP.md +++ b/OPENWEBUI_MCP_SETUP.md @@ -17,6 +17,12 @@ docker compose config docker compose up -d --build ``` +Before running compose, ensure local build context exists: + +```bash +test -d ./kali-mcp || git clone https://github.com/k3nn3dy-ai/kali-mcp.git kali-mcp +``` + Expected outcomes: - `/dev/kfd` and `/dev/dri` exist diff --git a/README.md b/README.md index fcc5ab2..093a15c 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ This stack is **ROCm-only** for Ollama. ## Files - `docker-compose.yml` - Main stack (Ollama runs with ROCm) +- `kali-mcp/` - Local build context for `kali-mcp-sse` image - `mcpo-config.template.json` - Templated `mcpo` multi-server config - `.env.example` - Environment variable template - `OPENWEBUI_MCP_SETUP.md` - Step-by-step MCP setup inside Open WebUI @@ -37,12 +38,31 @@ Running in Proxmox LXC? Copy-Item .env.example .env ``` +If `kali-mcp/` is missing, clone it first: + +```powershell +git clone https://github.com/k3nn3dy-ai/kali-mcp.git kali-mcp +``` + 2. Start base stack: ```powershell docker compose up -d --build ``` +Podman users: + +```bash +podman compose up -d --build +``` + +Or use the bootstrap helper: + +```bash +chmod +x ./bootstrap.sh +./bootstrap.sh +``` + 3. Open services: - Open WebUI: `http://localhost:3000` diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100644 index 0000000..4f301d9 --- /dev/null +++ b/bootstrap.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +set -euo pipefail + +cd "$(dirname "$0")" + +if [ ! -d "./kali-mcp/.git" ]; then + echo "[bootstrap] Cloning kali-mcp..." + git clone https://github.com/k3nn3dy-ai/kali-mcp.git kali-mcp +else + echo "[bootstrap] kali-mcp already present." +fi + +echo "[bootstrap] Starting stack with Podman Compose..." +podman compose up -d --build + +echo "[bootstrap] Done." +echo " Open WebUI: http://localhost:3000" +echo " MCPO docs: http://localhost:8000/docs" +echo " Ollama API: http://localhost:11434" diff --git a/docker-compose.yml b/docker-compose.yml index 652283d..ccd8941 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,8 +22,7 @@ services: triv3-kali-api: image: python:3.12-slim depends_on: - init-mcps: - condition: service_completed_successfully + - init-mcps command: >- sh -lc " python -m pip install --no-cache-dir -r /opt/mcps/MCP-Kali-Server/requirements.kali.txt && @@ -36,7 +35,7 @@ services: kali-mcp-sse: build: - context: https://github.com/k3nn3dy-ai/kali-mcp.git + context: ./kali-mcp command: ["python", "-m", "kali_mcp_server.server", "--transport", "sse", "--port", "8000"] expose: - "8000" @@ -126,16 +125,11 @@ services: mcpo: image: ghcr.io/open-webui/mcpo:main depends_on: - init-mcps: - condition: service_completed_successfully - triv3-kali-api: - condition: service_started - kali-mcp-sse: - condition: service_started - metasploit-mcp: - condition: service_started - mcp-zap-server: - condition: service_started + - init-mcps + - triv3-kali-api + - kali-mcp-sse + - metasploit-mcp + - mcp-zap-server environment: - MCPO_API_KEY=${MCPO_API_KEY:-top-secret} - MCP_ZAP_API_KEY=${MCP_ZAP_API_KEY:-changeme-mcp-zap-api-key} diff --git a/kali-mcp b/kali-mcp new file mode 160000 index 0000000..f637997 --- /dev/null +++ b/kali-mcp @@ -0,0 +1 @@ +Subproject commit f63799770caf24283388dd79824093fec3ef271e