ekay
Runs Docker security audits and container hardening checks against Docker environments.
Uses Falco for runtime security monitoring of cloud-native and containerized workloads.
Enables API security testing workflows focused on GraphQL endpoints.
Manages and inspects Kubernetes Helm chart configurations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ekayStart an authorized engagement on scanme.nmap.org and show me the results."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| HTTP API + TriggerBus agents + findings |
| 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 |
|
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 + |
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 |
| Passive / open-source intel | subfinder, amass, theHarvester |
| Host & port discovery | nmap, naabu, rustscan |
| Web/API attack surface | httpx, nuclei, katana, nikto |
| Gated foothold sims | SE/phishing-sim (restricted) |
| Credential access (gated) | hydra, netexec, john |
| Active Directory | certipy, bloodhound-python, ldapdomaindump |
| Cloud posture | prowler, trivy, enumerate-iam |
| Host triage | linpeas, winpeas, pspy |
| 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.pyHealth 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 --osintCursor / 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.
Recommended chat workflow
ekay_health/ekay_doctorekay_start_engagement(in-scope target)ekay_findings→ekay_next_actionsekay_run_tool/ catalog tools for suggested stepsekay_advance_phase(e.g.ad) when authorizedekay_finalize→ evidence / report summary
Meta MCP tools
Tool | Role |
| Start scoped kill-chain run |
| Structured findings |
| Suggest next tools from findings |
| Move to ad / creds / cloud / … |
| Report summary |
| Phase list + tool counts |
| Filter catalog by phase/family |
| Run one catalog tool |
| Evidence JSONL |
| 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.pyHuman-readable:
docs/TOOLS.mdMachine-readable:
docs/catalog.json
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.pngCLI
./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 compareConfiguration
Variable | Default | Meaning |
|
| Bind address |
|
| Bind port |
| localhost + scanme | Allowed targets ( |
|
| Unlock intrusive/restricted + AD/creds phases |
|
| Agent thread pool |
|
| Seconds per binary |
|
| Register all catalog tools on MCP |
| 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 withscripts/install_kali.sh.EKay does not ship a raw shell API (
/api/command).
Tests
./ekay-env/bin/ekay-python -m pytest -qDisclaimer
EKay wraps local security programs for authorized assessments. Social-engineering, wireless, relay, and credential modules are for approved lab / contracted work only.
This server cannot be deployed
Maintenance
Related MCP Connectors
Run real, auto-recovered cloud attacks on AWS, Azure and GCP to test your defenses.
AI pentesting: run scans, triage vulnerabilities, review PRs, manage schedules and assets.
DORA OS Conductor — 16-tool meta-orchestrator for DORA compliance workflow automation.
Threat modeling, code/cloud/pipeline scanning, shadow-AI discovery, compliance checks and fixes.
Related MCP Servers
- AlicenseCqualityDmaintenanceAn 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.2716 npm7BSD 3-Clause
- FlicenseNot gradedqualityDmaintenanceEnables natural-language-driven security testing by orchestrating multiple pen-testing tools through MCP, with automated scan execution and AI-assisted vulnerability summarization.-
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to perform safe, authorized penetration testing by managing engagements, enforcing scope and risk policies, and orchestrating tools like Nmap, Nuclei, and Subfinder.-
- FlicenseNot gradedqualityBmaintenanceEnables 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.-