Skip to main content
Glama

EKay v2 — Red-Team Kill-Chain Orchestrator

Use only on assets you own or have written permission to test.


What is EKay?

EKay is a local cybersecurity orchestration server that wraps Kali/security binaries and exposes them to AI assistants (Cursor, Claude) over MCP, while running a red-team kill-chain internally.

Layer

Role

ekay_server.py

HTTP API + TriggerBus agents + findings

ekay_mcp.py

MCP stdio bridge for Cursor / Claude

Catalog

223 runnable tools (nmap, nuclei, certipy, …)

ScopeGuard

Blocks out-of-scope targets before any binary runs

Evidence

Append-only JSONL for demos / thesis artefacts

HexStrike vs EKay

Topic

HexStrike

EKay v2

Mental model

Flat tool dump

Kill-chain phases

Memory

Chat only

Finding graph

“What next?”

LLM guesses

ekay_next_actions

Concurrency

Mostly sequential LLM calls

TriggerBus parallel agents

Scope

Easy to leave scope

ScopeGuard on every run

Dangerous tools

Same path as nmap

Risk classes + EKAY_ALLOW_INTRUSIVE

Red-team depth

Generic scanners

AD / post / cloud modules (Certipy, coerce, linpeas, …)

Reporting

Ad-hoc paste

Evidence + MITRE tags on findings

flowchart LR
  Cursor["Cursor_or_Claude"] --> MCP["ekay_mcp.py"]
  MCP --> API["ekay_server.py"]
  API --> Scope["ScopeGuard"]
  Scope --> Bus["Phase_TriggerBus"]
  Bus --> Tools["Catalog_runners"]
  Tools --> Findings["Finding_Graph"]
  Findings --> Next["ekay_next_actions"]
  Next --> Cursor
  Tools --> Evidence["Evidence_JSONL"]

Related MCP server: AI-Pentest-MCP

Kill-chain phases

Phase

Purpose

Example tools

osint

Passive / open-source intel

subfinder, amass, theHarvester

recon

Host & port discovery

nmap, naabu, rustscan

external

Web/API attack surface

httpx, nuclei, katana, nikto

initial_access

Gated foothold sims

SE/phishing-sim (restricted)

creds

Credential access (gated)

hydra, netexec, john

ad

Active Directory

certipy, bloodhound-python, ldapdomaindump

cloud

Cloud posture

prowler, trivy, enumerate-iam

post

Host triage

linpeas, winpeas, pspy

report

Evidence packaging

faraday-cli, defectdojo

MVP auto-run on ekay_start_engagement:
osint (optional) → recon (nmap) → external (httpx + nuclei on web ports) → report on finalize.

AD / creds / post phases require EKAY_ALLOW_INTRUSIVE=1 and written authorization.

See the full inventory: docs/TOOLS.md.


Quick start (MCP + Cursor/Claude)

git clone https://github.com/rohm8358/ekay.git
cd ekay

python3 -m venv ekay-env
source ekay-env/bin/activate
pip install -r requirements.txt

# optional: install as many Kali binaries as possible
sudo ./scripts/install_kali.sh

# Terminal 1 — real server (shows the banner)
./start-ekay.sh
# or: ./ekay-env/bin/ekay-python ekay_server.py

Health check (Terminal 2):

curl -s http://127.0.0.1:8787/health | jq .
./ekay-env/bin/ekay-python -m ekay doctor
./ekay-env/bin/ekay-python -m ekay engage 127.0.0.1 --osint

Cursor / Claude MCP (~/.cursor/mcp.json)

{
  "mcpServers": {
    "ekay": {
      "command": "/absolute/path/to/ekay/ekay-env/bin/ekay-python",
      "args": [
        "/absolute/path/to/ekay/ekay_mcp.py",
        "--server",
        "http://127.0.0.1:8787"
      ],
      "timeout": 300
    }
  }
}

Keep ekay_server.py running. Restart the MCP connection after config changes.

  1. ekay_health / ekay_doctor

  2. ekay_start_engagement (in-scope target)

  3. ekay_findings → ekay_next_actions

  4. ekay_run_tool / catalog tools for suggested steps

  5. ekay_advance_phase (e.g. ad) when authorized

  6. ekay_finalize → evidence / report summary

Meta MCP tools

Tool

Role

ekay_start_engagement

Start scoped kill-chain run

ekay_findings

Structured findings

ekay_next_actions

Suggest next tools from findings

ekay_advance_phase

Move to ad / creds / cloud / …

ekay_finalize

Report summary

ekay_phases

Phase list + tool counts

ekay_list_tools

Filter catalog by phase/family

ekay_run_tool

Run one catalog tool

ekay_evidence

Evidence JSONL

ekay_vs_hexstrike

Architecture diff

Plus every catalog tool as its own MCP tool (nmap, nuclei, certipy, …).


Tool catalog

Count

Total (runnable)

223

Removed uninstallable

23 (Windows-only / heavy platforms / dead projects)

HexStrike-origin + EKay modules

mixed; see docs/TOOLS.md

Regenerate docs from source anytime:

./ekay-env/bin/ekay-python scripts/export_catalog.py

Demo GIF (real server)

The animation at the top is generated from a live ekay_server.py process (banner + /health + engagement):

./ekay-env/bin/ekay-python scripts/make_demo_gif.py
# writes assets/ekay-server-demo.gif and assets/ekay-server-banner.png

CLI

./ekay-env/bin/ekay-python -m ekay doctor
./ekay-env/bin/ekay-python -m ekay phases
./ekay-env/bin/ekay-python -m ekay tools --phase ad
./ekay-env/bin/ekay-python -m ekay engage scanme.nmap.org --osint
./ekay-env/bin/ekay-python -m ekay findings --engagement-id <id>
./ekay-env/bin/ekay-python -m ekay next <id>
./ekay-env/bin/ekay-python -m ekay phase <id> ad
./ekay-env/bin/ekay-python -m ekay finalize <id>
./ekay-env/bin/ekay-python -m ekay compare

Configuration

Variable

Default

Meaning

EKAY_HOST

127.0.0.1

Bind address

EKAY_PORT

8787

Bind port

EKAY_SCOPE

localhost + scanme

Allowed targets (* = lab allow-all)

EKAY_ALLOW_INTRUSIVE

0

Unlock intrusive/restricted + AD/creds phases

EKAY_MAX_CONCURRENCY

8

Agent thread pool

EKAY_TOOL_TIMEOUT

180

Seconds per binary

EKAY_MCP_CATALOG_TOOLS

1

Register all catalog tools on MCP

EKAY_TOKEN

empty

Optional Bearer lock

Copy .env.example → .env for local defaults (.env is gitignored).


Honest limits

  • Cursor/Claude product security alerts cannot be removed by EKay. Prefer recon / OSINT / external / report from chat; use gated phases with explicit authorization.

  • Missing binaries return blocked_reason — install with scripts/install_kali.sh.

  • EKay does not ship a raw shell API (/api/command).


Tests

./ekay-env/bin/ekay-python -m pytest -q

Disclaimer

EKay wraps local security programs for authorized assessments. Social-engineering, wireless, relay, and credential modules are for approved lab / contracted work only.

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    An automated penetration testing framework that enables intelligent security assessments through reconnaissance, vulnerability scanning, and controlled exploitation. Features AI-driven workflow management with comprehensive reporting for authorized security testing.
    27
    16 npm
    7
    BSD 3-Clause
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables natural-language-driven security testing by orchestrating multiple pen-testing tools through MCP, with automated scan execution and AI-assisted vulnerability summarization.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to perform safe, authorized penetration testing by managing engagements, enforcing scope and risk policies, and orchestrating tools like Nmap, Nuclei, and Subfinder.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables authorized autonomous application and API security testing, allowing LLM-driven agents to plan and execute pentest checks while a deterministic policy layer enforces scope and authorization outside the model.
    -