The failures that usually cost an afternoon have their own tools rather than a workaround: handle_adws_recovery for the Active Directory stall, get_vm_console_ticket for a VM that never got a working NIC, list_range_log_history for the log a newer deployment already overwrote. The surface is the trade — 231 tools is more than most clients will hold in context at once, and several of them (delete_range, regenerate_user_apikey, cleanup_old_ranges) do their damage on the first call.
A full-surface client for a Ludus server: 231 tools covering range deployment, VM snapshots, packer template builds, Ansible roles, scenarios and blueprints, SIEM readouts, and the user, group and quota administration behind them.
- The range lifecycle end to end: validate a config, deploy it, watch the deployment, abort it, and delete the range or the range object
- Snapshots one VM at a time or across a list in parallel, with rollback and scheduled snapshot retention
- Testing mode, which cuts a VM's internet access so a detonation stays contained, plus per-domain and per-IP holes you open and re-close
- Packer template builds on the Ludus server — including a Kali template that resolves the current weekly ISO and checksum — with build status and archived build logs
- Scenarios and blueprints you can preview, clone, customise, share with users or groups, export as a .tar.gz and import elsewhere
- SIEM alerts, agents and detection summaries for the deployed range, and Wazuh information alongside them
- Server administration: per-user and per-group quotas, an idle auto-shutdown timeout, range access grants, and the archived deployment logs of earlier runs
A reachable Ludus server and LUDUS_API_KEY. LUDUS_JWT_TOKEN and UV_PYTHON are the other two environment variables it reads, and uvx on your PATH.
One command plus a key — pipx install git+https://github.com/tjnull/Ludus-FastMCP, then supply credentials
