Ludus Fast
Автоматизируйте киберполигоны Ludus с помощью Ludus Fast. Используйте команды на естественном языке на базе ИИ для развертывания, выполнения сценариев, создания шаблонов и интеграции с SIEM.
Ludus Fast работает как сервер Model Context Protocol (MCP), связывая AI-ассистентов с киберполигонами Ludus. Он позволяет управлять сложными лабораториями кибербезопасности с помощью интуитивных команд на естественном языке, устраняя необходимость в ручной настройке. Благодаря 157 инструментам в 15 модулях, он упрощает управление жизненным циклом полигонов, развёртывание сценариев, создание шаблонов, интеграцию ролей Ansible и мониторинг безопасности, делая продвинутые киберполигоны доступными и эффективными.
Ключевые возможности
Варианты использования
A Model Context Protocol (MCP) server for automating Ludus cyber range environments through AI assistants written in Python.
Ludus FastMCP enables AI-powered management of Ludus cyber ranges through natural language commands. The server exposes 157 tools across 15 modules for range lifecycle management, scenario deployment, template creation, Ansible role management, and security monitoring integration.
| Category | Description |
|---|---|
| Range Management | Create, configure, deploy, and manage virtual lab environments |
| Scenario Deployment | Pre-built scenarios for AD, red/blue/purple team, and malware analysis |
| Template Builder | Custom OS templates, skeleton configurations, and YAML generation |
| Role Management | Ansible Galaxy integration and custom role installation |
| SIEM Integration | Wazuh, Splunk, Elastic Stack, and Security Onion support |
| AI Configuration | Natural language to YAML configuration conversion |
Works with any MCP-compatible client including Claude Desktop, VS Code (Cline), OpenWebUI, and AnythingLLM.
- Python 3.11+
- Access to a Ludus server instance
- Ludus API credentials
# Using pipx (recommended)
pipx install git+https://github.com/tjnull/Ludus-FastMCP
# From source
git clone https://github.com/tjnull/Ludus-FastMCP
cd Ludus-FastMCP
pip install -e .Run the interactive setup wizard:
ludus-fastmcp --setupThe wizard configures API credentials, tests connectivity, and generates MCP client configuration files.
For manual configuration options, see the Configuration Guide.
ludus-fastmcp --setup # Interactive setup wizard
ludus-fastmcp --list-tools # List all 157 available tools
ludus-fastmcp --version # Display version information
ludus-fastmcp # Start MCP server
ludus-fastmcp --daemon # Run as background serviceludus-ai setup-llm # Configure local LLM (Ollama)
ludus-ai install anythingllm # Install AnythingLLM interface
ludus-ai tool list-tools # List available tools
ludus-ai tool call-tool <name> # Execute tools directlyOnce connected to an MCP client, interact with your Ludus environment:
Show my current range status
Deploy an Active Directory lab with Wazuh monitoring
Create a snapshot named "pre-attack" for all VMs
Build a lab with 2 domain controllers and 5 workstations
Examples of using Ludus-FastMCP with grok code through Opencode.
| Document | Description |
|---|---|
| Getting Started | Installation, setup, and first deployment |
| Configuration | Environment variables and MCP client setup |
| Tools Reference | Complete documentation for all 157 tools |
| Scenarios | Pre-built deployment scenarios |
| Troubleshooting | Common issues and solutions |
| Safety | Safety features and best practices |
| Resource | Link |
|---|---|
| Ludus Documentation | docs.ludus.cloud |
| Ludus GitHub | github.com/badsectorlabs/ludus |
| FastMCP Framework | gofastmcp.com |
| MCP Specification | modelcontextprotocol.io |
- GitHub Issues - Bug reports and feature requests
- GitHub Discussions - Questions and community discussion
This project is licensed under the MIT License. See LICENSE for details.
This software is intended for authorized security testing, educational purposes, and research in controlled environments. Users are responsible for compliance with applicable laws and organizational policies. The authors make no warranties and assume no liability for use or misuse of this software.
Ludus FastMCP
Сервер Ludus FastMCP реализует Model Context Protocol (MCP) для управления киберполигонами Ludus через AI-ассистентов. Написан на Python, открывает 157 инструментов в 15 модулях: от развёртывания сетей до настройки SIEM. Работает с любыми MCP-клиентами: Claude Desktop, VS Code (Cline), OpenWebUI, AnythingLLM и другими.
Возможности
| Категория | Что делает |
|---|---|
| Управление полигоном | Создание, настройка, развёртывание и управление виртуальными лабораториями |
| Сценарии | Готовые сценарии: AD, red/blue/purple team, анализ вредоносного ПО |
| Шаблоны | Создание кастомных шаблонов ОС, скелетов конфигураций, генерация YAML |
| Управление ролями | Интеграция с Ansible Galaxy, установка пользовательских ролей |
| SIEM | Поддержка Wazuh, Splunk, Elastic Stack, Security Onion |
| AI-конфигурация | Преобразование запросов на естественном языке в YAML-конфигурации |
Быстрый старт
Требования
- Python 3.11+
- Доступ к серверу Ludus
- Учётные данные API Ludus
Установка
# Через pipx (рекомендуется)
pipx install git+https://github.com/tjnull/Ludus-FastMCP
# Из исходников
git clone https://github.com/tjnull/Ludus-FastMCP
cd Ludus-FastMCP
pip install -e .
Настройка
# Интерактивный мастер
ludus-fastmcp --setup
Мастер запросит API-данные, проверит подключение и сгенерирует конфигурационный файл для MCP-клиента. Для ручной настройки — смотри Configuration Guide (на английском).
Использование
Основные команды сервера
ludus-fastmcp --setup # Интерактивная настройка
ludus-fastmcp --list-tools # Показать все 157 инструментов
ludus-fastmcp --version # Версия
ludus-fastmcp # Запуск MCP-сервера
ludus-fastmcp --daemon # Запуск как фоновый сервис
Клиентский CLI (ludus-ai)
ludus-ai setup-llm # Настройка локальной LLM (Ollama)
ludus-ai install anythingllm # Установка AnythingLLM
ludus-ai tool list-tools # Список инструментов
ludus-ai tool call-tool <имя> # Выполнить инструмент напрямую
Примеры запросов (после подключения к MCP-клиенту)
- «Покажи статус моего полигона»
- «Разверни Active Directory лабораторию с Wazuh»
- «Создай снимок с именем 'pre-attack' для всех виртуальных машин»
- «Построй полигон с двумя контроллерами домена и пятью рабочими станциями»
Документация
| Документ | Описание |
|---|---|
| Getting Started | Установка, настройка и первое развёртывание |
| Configuration | Переменные окружения, настройка MCP-клиента |
| Tools Reference | Полное описание всех 157 инструментов |
| Scenarios | Готовые сценарии развёртывания |
| Troubleshooting | Частые проблемы и их решения |
| Safety | Безопасность и лучшие практики |
Ресурсы
Поддержка
- GitHub Issues — баги и предложения
- GitHub Discussions — вопросы и обсуждения
Лицензия
MIT License. Подробнее — LICENSE.
Отказ от ответственности
Программное обеспечение предназначено только для авторизованного тестирования безопасности, образовательных целей и исследований в контролируемых средах. Ответственность за соблюдение законов и политик организации лежит на пользователе. Авторы не дают гарантий и не несут ответственности за использование или неправомерное использование.
Благодарности
- Ludus от Bad Sector Labs
- FastMCP и сообщество Model Context Protocol
Какие ключевые возможности и функции предлагает Ludus Fast?
Ludus Fast предоставляет обширные возможности, включая управление диапазонами с помощью ИИ, развертывание 157 инструментов в 15 модулях, предварительно созданные сценарии (AD, красная/синяя/фиолетовая команда), сборку пользовательских шаблонов ОС, генерацию конфигураций YAML и интеграцию с SIEM.
Каковы основные преимущества использования Ludus Fast для киберполигонов?
Основные преимущества включают упрощение сложного управления полигоном, ускорение развертывания сценариев, повышение эффективности операций с помощью интуитивных команд ИИ и создание более динамичных и адаптируемых сред обучения кибербезопасности.
Что такое Ludus Fast и какова его основная функция?
Ludus Fast — это инструмент на базе ИИ, предназначенный для автоматизации управления и развертывания сред киберполигонов Ludus, позволяющий пользователям управлять сложными конфигурациями с помощью команд на естественном языке.
Как Ludus Fast автоматизирует операции киберполигона?
Он действует как сервер протокола контекста модели (MCP), интегрируясь с AI-ассистентами для преобразования инструкций на естественном языке в исполняемые команды для таких задач, как создание среды, настройка и мониторинг в Ludus.
Какие платформы SIEM поддерживаются Ludus Fast?
Ludus Fast поддерживает бесшовную интеграцию SIEM с популярными платформами, такими как Wazuh, Splunk, Elastic Stack и Security Onion, обеспечивая всесторонний мониторинг безопасности в ваших киберполигонах.
Get Range
Get current user's range information. Args: user_id: Optional user ID (admin only) Returns: Range information
Parameters
1user_idanyGet Range Config
Get range configuration. Args: user_id: Optional user ID (admin only) Returns: Range configuration
Parameters
1user_idanyUpdate Range Config
Update range configuration. Args: config: Range configuration object user_id: Optional user ID (admin only) Returns: Updated configuration
Parameters
2configobjectuser_idanyDeploy Range
Deploy a range from configuration with optional filters for resuming. IMPORTANT: For deploying predefined scenarios (redteam-lab-lite, etc.), use deploy_scenario() or smart_deploy() instead. This too...
Parameters
6tagsanyforcebooleanlimitanyconfiganyuser_idanyGet Range Tags
Get available Ansible tags for the current range. Use this to see what tags are available for resuming/partial deployments. Tags allow you to run specific parts of a deployment without re-running eve...
Parameters
1user_idanyAbort Range Deployment
Abort a range deployment. Stops an active deployment. Use this before deleting a range that is currently deploying. After aborting, you can resume the deployment using deploy_range() with specific ta...
Parameters
1user_idanySnapshot Host
Create a snapshot of a host. Args: vm_name: Name of the VM to snapshot name: Name of the snapshot description: Optional snapshot description user_id: Optional user ID (admin only) Re...
Parameters
4namestringuser_idanyvm_namestringdescriptionanyList Snapshots
List all snapshots for the range. Args: user_id: Optional user ID (admin only) Returns: List of snapshots
Parameters
1user_idanyRollback Snapshot
Rollback to a snapshot. Args: vm_name: Name of the VM snapshot_name: Name of the snapshot to rollback to user_id: Optional user ID (admin only) Returns: Rollback result
Parameters
3user_idanyvm_namestringsnapshot_namestringRemove Snapshot
Remove a snapshot. Args: vm_name: Name of the VM snapshot_name: Name of the snapshot to remove user_id: Optional user ID (admin only) Returns: Removal result
Parameters
3user_idanyvm_namestringsnapshot_namestringPower On Range
Power on all VMs in the range. Args: user_id: Optional user ID (admin only) Returns: Power on result
Parameters
1user_idanyPower Off Range
Power off all VMs in the range. Args: user_id: Optional user ID (admin only) Returns: Power off result
Parameters
1user_idanyList Templates
List available templates. Args: user_id: Optional user ID (admin only) Returns: List of available templates
Parameters
1user_idanyList Hosts
List all hosts in range. Args: user_id: Optional user ID (admin only) Returns: List of hosts
Parameters
1user_idanyList Networks
List all networks in a range. Args: user_id: Optional user ID (admin only) Returns: List of networks
Parameters
1user_idanyStart Testing
Start testing state for the range. Args: user_id: Optional user ID (admin only) Returns: Testing start result
Parameters
1user_idanyStop Testing
Stop testing state for the range. Args: user_id: Optional user ID (admin only) Returns: Testing stop result
Parameters
1user_idanyHealth Check
Check health of Ludus MCP server and Ludus API connectivity. Uses the ludus CLI if available for more reliable connectivity testing. Returns: Health status including: - Server status (health...
List Scenarios
List all available scenarios. Returns: Dictionary of scenario keys and descriptions
Deploy Scenario
Deploy a scenario with optional SIEM integration and customization. IMPORTANT: This tool generates a FRESH configuration for each call. Each deployment builds a new scenario from scratch - no state i...
Parameters
11user_idanycustomizebooleanrandomizebooleansiem_typestringcustom_usersanyGet Scenario Config
Get scenario configuration. Args: scenario_key: Scenario identifier siem_type: SIEM type to include Returns: Scenario configuration
Parameters
2siem_typestringscenario_keystringGet Scenario Yaml
Get scenario configuration as YAML. Args: scenario_key: Scenario identifier siem_type: SIEM type to include Returns: YAML configuration string
Parameters
2siem_typestringscenario_keystringPreview Scenario
Preview a scenario before deployment with detailed information. IMPORTANT: Generates a FRESH configuration preview for the specified scenario. Use this BEFORE deploy_scenario to verify what will be d...
Parameters
3siem_typestringscenario_keystringresource_profilestringQuick Status
Get one-line deployment status with emoji indicators. Args: user_id: Optional user ID (admin only) Returns: Formatted status string
Parameters
1user_idanyGet Deployment Status
Get current deployment status with detailed information. Args: user_id: Optional user ID (admin only) Returns: Detailed deployment status
Parameters
1user_idanyGet Range Logs
Get deployment logs for the range. Args: user_id: Optional user ID (admin only) Returns: Deployment logs
Parameters
1user_idanySmart Deploy
Smart deployment with validation, optional snapshot, and auto-monitoring. RECOMMENDED: This is the preferred method for deploying scenarios as it includes validation, error checking, and monitoring g...
Parameters
6user_idanysiem_typestringauto_monitorbooleanscenario_keystringauto_snapshotbooleanMonitor Deployment
Monitor deployment progress with periodic updates. Args: user_id: Optional user ID (admin only) check_interval: Seconds between checks max_checks: Maximum number of checks Returns: M...
Parameters
3user_idanymax_checksintegercheck_intervalintegerDeployment Timeline
Get deployment timeline with progress tracking. Args: user_id: Optional user ID (admin only) Returns: Timeline with steps and progress
Parameters
1user_idanyValidate Config
Validate range configuration before deployment. Args: config: Range configuration to validate Returns: Validation result with errors and warnings
Parameters
1configobjectHandle Adws Recovery
Handle Active Directory Web Services (ADWS) recovery for stuck deployments. ADWS errors are common during Active Directory deployments. This tool: 1. Checks if deployment is stuck on ADWS errors 2. W...
Parameters
3user_idanyauto_retrybooleanwait_minutesintegerList Users
List all users in the Ludus system. Returns: List of all users with their information
Get User
Get information about a specific user. Args: user_id: User ID to retrieve Returns: User information
Parameters
1user_idstringAdd User
Add a new user to the Ludus system. Args: username: Username for the new user password: Password for the new user is_admin: Whether the user should have admin privileges proxmox_usern...
Parameters
4is_adminbooleanpasswordstringusernamestringproxmox_usernameanyRemove User
Remove a user from the Ludus system. Args: user_id: User ID to remove Returns: Removal result
Parameters
1user_idstringGet User Apikey
Get API key for a user. Args: user_id: User ID to get API key for Returns: User's API key information
Parameters
1user_idstringGet Siem Info
Get SIEM information for the range. Args: user_id: Optional user ID (admin only) Returns: SIEM configuration and status
Parameters
1user_idanyGet Siem Alerts
Get SIEM alerts for the range. Args: user_id: Optional user ID (admin only) severity: Filter by severity level (low, medium, high, critical) limit: Maximum number of alerts to return Ret...
Parameters
3limitintegeruser_idanyseverityanyGet Siem Agents
Get SIEM agents for the range. Args: user_id: Optional user ID (admin only) Returns: List of SIEM agents
Parameters
1user_idanyGet Detection Summary
Get detection summary from SIEM. Args: user_id: Optional user ID (admin only) Returns: Detection summary with statistics
Parameters
1user_idanyGet Wazuh Info
Get Wazuh SIEM information for the range. Args: user_id: Optional user ID (admin only) Returns: Wazuh configuration and status
Parameters
1user_idanyGet Range Access
Get range access configuration. Args: user_id: Optional user ID (admin only) Returns: Range access configuration
Parameters
1user_idanyGrant Range Access
Grant access to range for another user. Args: target_user_id: User ID to grant access to permissions: List of permissions to grant (read, write, admin) user_id: Optional user ID (admin on...
Parameters
3user_idanypermissionsarraytarget_user_idstringRevoke Range Access
Revoke range access from a user. Args: target_user_id: User ID to revoke access from user_id: Optional user ID (admin only) Returns: Revoke result
Parameters
2user_idanytarget_user_idstringClear Range Access
Clear all range access permissions. Args: user_id: Optional user ID (admin only) Returns: Clear result
Parameters
1user_idanyRange Access Logs
Get range access logs. Args: user_id: Optional user ID (admin only) limit: Maximum number of log entries to return Returns: List of access log entries
Parameters
2limitintegeruser_idanySecurity Audit
Run security audit on the range. Args: user_id: Optional user ID (admin only) Returns: Security audit report
Parameters
1user_idanyCompliance Check
Check compliance against security framework. Args: framework: Security framework to check against (nist, pci, iso27001) user_id: Optional user ID (admin only) Returns: Compliance check r...
Parameters
2user_idanyframeworkstringRotate Credentials
Rotate credentials for the range. Args: user_id: Optional user ID (admin only) Returns: Credential rotation result
Parameters
1user_idanyGet Vulnerability Scan
Get vulnerability scan results for the range. Args: user_id: Optional user ID (admin only) Returns: Vulnerability scan results
Parameters
1user_idanyAdd Template
Add a new template to the system. Args: name: Template name url: Template URL or image source description: Optional template description user_id: Optional user ID (admin only) Return...
Parameters
4urlstringnamestringuser_idanydescriptionanyBuild Template
Build a template. Args: template_id: Template ID to build force: Force rebuild even if template exists user_id: Optional user ID (admin only) Returns: Build initiation result
Parameters
3forcebooleanuser_idanytemplate_idstringDelete Template
Delete a template. Args: template_id: Template ID to delete user_id: Optional user ID (admin only) Returns: Deletion result
Parameters
2user_idanytemplate_idstringGet Template Status
Get template build status. Args: template_id: Template ID user_id: Optional user ID (admin only) Returns: Template build status
Parameters
2user_idanytemplate_idstringGet Template Logs
Get template build logs. Args: template_id: Template ID user_id: Optional user ID (admin only) Returns: Template build logs
Parameters
2user_idanytemplate_idstringAbort Template Build
Abort a template build. Args: template_id: Template ID user_id: Optional user ID (admin only) Returns: Abort result
Parameters
2user_idanytemplate_idstringApply Template
Apply a template to a VM. Args: vm_name: Name of the VM to apply template to template_id: Template ID to apply user_id: Optional user ID (admin only) Returns: Template application re...
Parameters
3user_idanyvm_namestringtemplate_idstringCreate Custom Template
Create a custom template from scratch. Args: name: Name for the custom template os_type: OS type (linux, windows) os_version: OS version (e.g., "22.04", "2022") packages: List of pack...
Parameters
7namestringos_typestringuser_idanypackagesanycontainersanyCreate Container Template
Create a container-based template. Args: name: Name for the container template base_os: Base OS (e.g., "ubuntu-22.04", "debian-12") containers: List of container configurations descri...
Parameters
5namestringbase_osstringuser_idanycontainersarraydescriptionanyList Common Containers
List common container base images. Returns: Dictionary of common container configurations
Get Container Config
Get configuration for a common container. Args: container_name: Container name Returns: Container configuration
Parameters
1container_namestringTemplate Diff
Compare two templates and show differences. Args: template_id1: First template ID template_id2: Second template ID user_id: Optional user ID (admin only) Returns: Template difference...
Parameters
3user_idanytemplate_id1stringtemplate_id2stringValidate Template
Validate a template configuration. Args: template_config: Template configuration to validate user_id: Optional user ID (admin only) Returns: Validation result with errors and warnings
Parameters
2user_idanytemplate_configobjectGet Template Dependencies
Get template dependencies. Args: template_id: Template ID user_id: Optional user ID (admin only) Returns: List of template dependencies
Parameters
2user_idanytemplate_idstringOptimize Template
Optimize a template for better performance. Args: template_id: Template ID to optimize user_id: Optional user ID (admin only) Returns: Optimization result
Parameters
2user_idanytemplate_idstringGet Range Metrics
Get comprehensive metrics for the range. Args: user_id: Optional user ID (admin only) Returns: Range metrics (CPU, memory, disk, network usage)
Parameters
1user_idanyGet Deployment Metrics
Get metrics for a specific deployment. Args: deployment_id: Optional deployment ID (defaults to current) user_id: Optional user ID (admin only) Returns: Deployment metrics
Parameters
2user_idanydeployment_idanyGet Cost Estimation
Get cost estimation for the range. Args: user_id: Optional user ID (admin only) Returns: Cost estimation based on resource usage
Parameters
1user_idanyExport Metrics
Export metrics data. Args: format: Export format (json, csv, prometheus) start_time: Optional start time for metrics (ISO format) end_time: Optional end time for metrics (ISO format) ...
Parameters
4formatstringuser_idanyend_timeanystart_timeanyGet Range Ansible Inventory
Get Ansible inventory for the range. Args: user_id: Optional user ID (admin only) Returns: Ansible inventory in INI format
Parameters
1user_idanyGet Range Sshconfig
Get SSH config for the range. Args: user_id: Optional user ID (admin only) Returns: SSH config content
Parameters
1user_idanyGet Range Rdpconfigs
Get RDP configuration files for the range. Args: user_id: Optional user ID (admin only) Returns: Dictionary of VM names to RDP config content
Parameters
1user_idanyGet Range Etchosts
Get /etc/hosts entries for the range. Args: user_id: Optional user ID (admin only) Returns: /etc/hosts content
Parameters
1user_idanyTest Network Connectivity
Test network connectivity between VMs. Args: source_vm: Source VM name target_vm: Target VM name protocol: Protocol to test (tcp, udp, icmp) port: Optional port number for tcp/udp ...
Parameters
5portanyuser_idanyprotocolstringsource_vmstringtarget_vmstringGet Network Topology
Get network topology visualization data. Args: user_id: Optional user ID (admin only) Returns: Network topology data
Parameters
1user_idanyDiagnose Network Issues
Diagnose network connectivity issues. Args: user_id: Optional user ID (admin only) Returns: Network diagnostics report
Parameters
1user_idanyCapture Network Traffic
Capture network traffic on a VM. Args: vm_name: VM name to capture traffic from interface: Network interface to capture on duration: Capture duration in seconds filter: Optional BPF f...
Parameters
5filteranyuser_idanyvm_namestringdurationintegerinterfacestringVisualize Range
Generate visualization data for the range. Args: user_id: Optional user ID (admin only) Returns: Visualization data (network diagram, topology, etc.)
Parameters
1user_idanyHealth Checks
Run health checks on all VMs in the range. Args: user_id: Optional user ID (admin only) Returns: Health check results for all VMs
Parameters
1user_idanyCreate Deployment Pipeline
Create a deployment pipeline with multiple stages. Args: name: Pipeline name stages: List of pipeline stages with configurations triggers: Optional trigger conditions (schedule, webhook, ...
Parameters
4namestringstagesarrayuser_idanytriggersanySchedule Range Tasks
Schedule recurring tasks for the range. Args: tasks: List of tasks to schedule schedule: Cron expression for scheduling user_id: Optional user ID (admin only) Returns: Task schedulin...
Parameters
3tasksarrayuser_idanyschedulestringAuto Scaling
Configure auto-scaling for the range. Args: enable: Enable or disable auto-scaling min_vms: Minimum number of VMs max_vms: Maximum number of VMs scaling_policy: Scaling policy configu...
Parameters
5enablebooleanmax_vmsintegermin_vmsintegeruser_idanyscaling_policyanySchedule Snapshots
Schedule automatic snapshots for VMs. Args: vm_names: List of VM names to snapshot schedule: Cron expression for snapshot schedule retention_count: Number of snapshots to retain user_...
Parameters
4user_idanyschedulestringvm_namesarrayretention_countintegerClone Range
Clone the current range to another user. Args: target_user_id: User ID to clone range to include_snapshots: Whether to include snapshots in clone user_id: Optional user ID (admin only) R...
Parameters
3user_idanytarget_user_idstringinclude_snapshotsbooleanExport Range Backup
Export range backup. Args: include_vms: Include VM disk images in backup include_config: Include configuration in backup user_id: Optional user ID (admin only) Returns: Backup export...
Parameters
3user_idanyinclude_vmsbooleaninclude_configbooleanImport Range Backup
Import and restore range from backup. Args: backup_file: Path to backup file restore_vms: Restore VM disk images restore_config: Restore configuration user_id: Optional user ID (admin...
Parameters
4user_idanybackup_filestringrestore_vmsbooleanrestore_configbooleanBulk Vm Operations
Perform bulk operations on multiple VMs. Args: operation: Operation to perform (power_on, power_off, snapshot, delete) vm_names: Optional list of VM names (defaults to all VMs) parameters...
Parameters
4user_idanyvm_namesanyoperationstringparametersanyDelete Range
Delete the entire range. Permanently removes the range and all associated VMs, snapshots, and data. **Important:** If a deployment is in progress, abort it first with `abort_range_deployment()`. Ar...
Parameters
2confirmbooleanuser_idanyAbort And Remove Range
Abort any active deployment and then remove the range. This is a convenience function that combines abort_range_deployment() and delete_range(). Equivalent to running: 1. `ludus range abort` 2. `ludu...
Parameters
2confirmbooleanuser_idanyGet Recovery Recommendation
Get recovery recommendations for failed deployments. Args: user_id: Optional user ID (admin only) Returns: Recovery recommendations based on failure analysis
Parameters
1user_idanyWebhook Integration
Manage webhook integrations. Args: action: Action to perform (create, update, delete, list, test) webhook_url: Webhook URL (for create/update) events: List of events to trigger webhook (f...
Parameters
5actionstringeventsanyuser_idanywebhook_idanywebhook_urlanySlack Notifications
Configure Slack notifications. Args: action: Action to perform (enable, disable, test, configure) webhook_url: Slack webhook URL channel: Slack channel name events: List of events to ...
Parameters
5actionstringeventsanychannelanyuser_idanywebhook_urlanyJira Integration
Integrate with Jira for issue tracking. Args: action: Action to perform (configure, create_issue, update_issue, link_deployment) jira_url: Jira instance URL project_key: Jira project key ...
Parameters
6actionstringuser_idanyissue_idanyjira_urlanyapi_tokenanyGit Sync
Sync range configurations with Git repository. Args: action: Action to perform (configure, sync, status) repo_url: Git repository URL branch: Git branch to sync with sync_direction: S...
Parameters
6actionstringbranchstringuser_idanyrepo_urlanycredentialsanyGenerate Range Documentation
Generate comprehensive documentation for the range. Args: format: Documentation format (markdown, html, pdf) include_network_diagram: Include network topology diagram include_credentials:...
Parameters
4formatstringuser_idanyinclude_credentialsbooleaninclude_network_diagrambooleanGet Attack Path Documentation
Generate attack path documentation for a scenario. Args: scenario_key: Optional scenario key (defaults to current deployment) user_id: Optional user ID (admin only) Returns: Attack path ...
Parameters
2user_idanyscenario_keyanyExport Lab Guide
Export lab guide for training purposes. Args: scenario_key: Optional scenario key (defaults to current deployment) format: Export format (markdown, html, pdf) include_solutions: Include s...
Parameters
4formatstringuser_idanyscenario_keyanyinclude_solutionsbooleanCreate Scenario Playbook
Create a scenario playbook for training. Args: scenario_key: Scenario identifier title: Playbook title description: Playbook description objectives: Learning objectives steps: Lis...
Parameters
6stepsarraytitlestringuser_idanyobjectivesarraydescriptionstringShare Range Config
Share range configuration with other users. Args: target_user_ids: List of user IDs to share with make_public: Make configuration publicly accessible permissions: Permissions to grant (re...
Parameters
4user_idanymake_publicbooleanpermissionsanytarget_user_idsanyImport Community Scenario
Import a scenario from the community repository. Args: scenario_url: URL to community scenario user_id: Optional user ID (admin only) Returns: Import result with scenario information
Parameters
2user_idanyscenario_urlstringPublish Scenario
Publish a scenario to the community repository. Args: scenario_key: Scenario to publish title: Scenario title description: Scenario description tags: Optional tags for categorization ...
Parameters
6tagsanytitlestringpublicbooleanuser_idanydescriptionstringList Range Templates
List available range templates from the community. Args: user_id: Optional user ID (admin only) Returns: List of range templates
Parameters
1user_idanyGet Range Template
Get a specific range template configuration. Args: template_id: Range template ID user_id: Optional user ID (admin only) Returns: Range template configuration
Parameters
2user_idanytemplate_idstringGet Resource Quotas
Get resource quotas and current usage. Args: user_id: Optional user ID (admin only) Returns: Resource quotas and usage information
Parameters
1user_idanyOptimize Resource Allocation
Optimize resource allocation for the range. Args: user_id: Optional user ID (admin only) Returns: Optimization recommendations and applied changes
Parameters
1user_idanySchedule Maintenance Window
Schedule a maintenance window for the range. Args: start_time: Start time in ISO format duration_minutes: Duration in minutes operations: List of operations to perform during maintenance ...
Parameters
5user_idanyoperationsarraystart_timestringnotify_usersbooleanduration_minutesintegerInteractive Build Range
Interactively build a range using natural language prompts. Args: prompt: Natural language description of desired range user_id: Optional user ID (admin only) Returns: Suggested configur...
Parameters
2promptstringuser_idanyBuild Range From Prompt
Build a range configuration from a natural language prompt. Args: prompt: Natural language description of desired range auto_deploy: Automatically deploy after building configuration user...
Parameters
3promptstringuser_idanyauto_deploybooleanList Ranges
List all ranges (admin only). Args: user_id: Optional user ID (must be admin) Returns: List of all ranges in the system
Parameters
1user_idanyBatch Snapshot Hosts
Create snapshots for multiple VMs in parallel. This is much faster than creating snapshots sequentially, especially for large numbers of VMs. Args: vm_names: List of VM names to snapshot sna...
Parameters
4user_idanyvm_namesarraydescriptionanysnapshot_namestringBatch Rollback Snapshots
Rollback multiple VMs to a snapshot in parallel. Args: vm_names: List of VM names to rollback snapshot_name: Name of snapshot to rollback to user_id: Optional user ID (admin only) Return...
Parameters
3user_idanyvm_namesarraysnapshot_namestringBatch Remove Snapshots
Remove snapshots from multiple VMs in parallel. Args: vm_names: List of VM names snapshot_name: Name of snapshot to remove user_id: Optional user ID (admin only) Returns: Results for...
Parameters
3user_idanyvm_namesarraysnapshot_namestringBatch Power On Hosts
Power on multiple VMs in parallel. Args: vm_names: List of VM names to power on user_id: Optional user ID (admin only) Returns: Results for each VM Example: result = await batch_pow...
Parameters
2user_idanyvm_namesarrayBatch Power Off Hosts
Power off multiple VMs in parallel. Args: vm_names: List of VM names to power off user_id: Optional user ID (admin only) Returns: Results for each VM
Parameters
2user_idanyvm_namesarrayBatch Get Vm Status
Get status of multiple VMs in parallel. Args: vm_names: List of VM names user_id: Optional user ID (admin only) Returns: Status for each VM
Parameters
2user_idanyvm_namesarrayCreate Custom Os Template
Create a custom OS template with specific packages and configuration. This tool allows you to create custom Ludus templates from ANY operating system by providing an ISO URL. The OS type can be auto-...
Parameters
14namestringcoresintegermemoryintegeriso_urlanyos_typeanyCreate Kali Weekly Template
Create a Kali Linux weekly template with automatic latest ISO detection. Automatically fetches the latest Kali Linux weekly ISO and checksum from https://cdimage.kali.org/kali-weekly/. The ISO URL an...
Parameters
7namestringcoresintegermemoryintegerpackagesanydisk_sizestringGet Common Iso Urls
Get common ISO download URLs for popular operating systems. Returns a reference of ISO download URLs for various operating systems that can be used with create_custom_os_template. Returns: Dicti...
Build Container Based Template
Build a custom container-based template for applications. This tool creates templates specifically designed to run Docker containers, perfect for deploying applications like Splunk, Wazuh, Grafana, e...
Parameters
4namestringbase_osstringcontainersarraydescriptionanyGet Common Container Configs
Get pre-configured container definitions for common applications. Returns a dictionary of common application containers (Splunk, Wazuh, ELK, Nginx, PostgreSQL, Redis, Grafana) that can be used with c...
Create Custom Range From Scenario
Create a custom range configuration based on an existing scenario. This tool takes an existing scenario and allows you to customize it with your own modifications (add/remove VMs, change specs, modif...
Parameters
3siem_typestringscenario_keystringcustomizationsobjectBuild Range From Scratch
Build a completely custom range configuration from scratch. This tool allows you to create a range configuration with full control over every VM and network rule, not based on any existing scenario. ...
Parameters
5vmsarraysiem_typestringinclude_siembooleannetwork_rulesanyinter_vlan_defaultstringExport Range Config To Yaml
Export a range configuration to a YAML file for download. This tool exports range configurations to YAML format that users can download and use with Ludus. The YAML content is provided in the respons...
Parameters
3configobjectfilenameanyinclude_full_contentbooleanGet Current Range Config For Download
Get the current range configuration and prepare it for download. This tool retrieves your currently deployed range configuration from Ludus and provides it in YAML format for download. Users can then...
Parameters
2user_idanyfilenameanyClone And Modify Scenario
Clone an existing scenario and modify it to create a new custom scenario. This is useful for creating variations of existing scenarios (e.g., "ad-basic" with more workstations, or "web-basic" with di...
Parameters
4new_namestringsiem_typestringscenario_keystringmodificationsobjectBuild Range From Description
Build a custom range configuration from a natural language description. This tool intelligently parses your description and automatically builds a complete range configuration with appropriate VMs, n...
Parameters
4siem_typestringdescriptionstringinclude_siembooleanresource_profilestringList Vm Skeletons
List all available VM skeleton templates. Returns a dictionary of VM skeleton names and their descriptions. These skeletons can be used as starting points for building custom VMs. Categories include...
Get Vm Skeleton
Get a specific VM skeleton template configuration. Retrieves a pre-configured VM skeleton that can be used directly in a range configuration or customized further. Args: name: Skeleton name (e.g...
Parameters
2namestringcustomizationsanyList Range Skeletons
List all available range skeleton templates. Returns a dictionary of complete range configurations for common scenarios. These provide fully-configured lab environments ready for deployment. Availab...
Get Range Skeleton
Get a complete range skeleton configuration. Retrieves a fully-configured range skeleton with all VMs and network rules. Some skeletons support additional customization parameters. Args: name: S...
Parameters
6namestringdomainanysiem_typestringinclude_siembooleanworkstationsanyList Yaml Examples
List all available YAML configuration examples. Returns ready-to-use YAML configuration examples that can be directly saved to a file and deployed with Ludus. Available examples: - basic_ad: Basic A...
Get Yaml Example
Get a ready-to-use YAML configuration example. Returns the complete YAML content for a specific example configuration. The YAML can be saved directly to a file and deployed with Ludus. Args: nam...
Parameters
1namestringBuild Range From Skeleton
Build a complete range configuration starting from a skeleton. Combines the power of skeleton templates with custom modifications. Start with a base skeleton and add/remove VMs as needed. Args: ...
Parameters
7domainanyadd_vmsanysiem_typestringremove_vmsanyinclude_siembooleanList All Ranges Detailed
List all ranges with detailed information including identification. This tool provides comprehensive information about all ranges in the system, making it easy to identify which range belongs to whic...
Get Range By User
Get detailed information about a specific user's range. Args: user_id: User ID whose range to retrieve Returns: Detailed range information for the specified user Example: # Get range in...
Parameters
1user_idstringFind Range By Vm Name
Find which range contains a specific VM by name. Args: vm_name: Name of the VM to search for Returns: Range information containing the VM, or None if not found Example: # Find which ran...
Parameters
1vm_namestringDelete Range By User
Delete a specific user's range (requires confirmation). This tool allows you to selectively delete a single range by user ID, rather than destroying all ranges. Requires explicit confirmation. Args:...
Parameters
2confirmbooleanuser_idstringDelete Ranges By Status
Delete all ranges matching a specific status (requires confirmation). Useful for cleaning up failed deployments or test ranges. Args: status_filter: Status to filter by (e.g., "ERROR", "FAILED",...
Parameters
2confirmbooleanstatus_filterstringCleanup Old Ranges
Delete all ranges EXCEPT those belonging to specified users. Useful for cleaning up test/temporary ranges while keeping production ones. Args: keep_user_ids: List of user IDs whose ranges should...
Parameters
2confirmbooleankeep_user_idsarrayGenerate Config From Description
Generate a complete Ludus range configuration from natural language description. This is an enhanced AI-powered version of build_range_from_description that provides: - Better natural language unders...
Parameters
3descriptionstringinclude_suggestionsbooleaninclude_clarificationsbooleanExplain Range Design Decisions
Explain the design decisions and best practices for a range configuration request. This tool helps users understand WHY certain choices are made when building a cyber range, providing educational val...
Parameters
1promptstringSuggest Range Enhancements
Suggest enhancements to improve a range configuration. Given a basic range description, this tool suggests additional components, capabilities, and improvements to make the range more realistic, educ...
Parameters
2enhancement_focusstringcurrent_descriptionstringApply Adversary Profile
Apply adversary profile to inject realistic vulnerabilities for red team training. This tool transforms an existing Ludus configuration by injecting educational vulnerabilities that simulate real-wor...
Parameters
4configobjecttarget_vmsanythreat_levelstringinclude_documentationbooleanApply Defender Profile
Apply defender profile to add monitoring and detection capabilities for blue team training. This tool enhances an existing Ludus configuration with comprehensive security monitoring, logging, and det...
Parameters
4configobjectsiem_typestringdetection_focusanymonitoring_levelstringList Available Profiles
List all available adversary and defender profiles with descriptions. Returns detailed information about all available security profiles, their capabilities, and use cases. Returns: Dictionary c...
Preview Profile Changes
Preview changes that would be made by applying a profile without modifying the config. This is a dry-run tool that shows what would happen if you applied a profile, without actually modifying the con...
Parameters
3configobjectprofile_typestringprofile_levelstringList Installed Roles
List all installed Ansible roles on the Ludus server. Uses the ludus CLI with --url when available for reliable remote access. Falls back to HTTP API if CLI is not available. Returns: Dictionary...
Check Role Installed
Check if a specific Ansible role is installed. Uses the ludus CLI with --url when available for reliable remote access. Falls back to HTTP API if CLI is not available. No SSH required. Args: rol...
Parameters
1role_namestringInstall Role
Install an Ansible role on the Ludus server via MCP. This MCP tool automatically handles: - Galaxy roles (installed directly from Ansible Galaxy, e.g., "badsectorlabs.ludus_adcs") - Directory-based r...
Parameters
3role_urlanyrole_namestringmax_retriesintegerGet Required Roles For Scenario
Get the list of required Ansible roles for a specific scenario. Use this MCP tool to check which roles are needed before deploying a scenario. Then use `ensure_scenario_roles()` to automatically inst...
Parameters
2siem_typestringscenario_keystringConfigure Ssh Role Installation
Configure SSH access for automatic role installation on Ludus server. This allows the MCP server to automatically clone and install directory-based roles (like ludus-ad-content) directly on the Ludus...
Parameters
5ssh_hoststringssh_userstringssh_key_pathanyssh_passwordanyallow_ssh_installbooleanEnsure Scenario Roles
Ensure all required roles for a scenario are installed, installing missing ones automatically. **This is the recommended MCP tool to use before deploying a scenario.** It will: 1. Check which roles a...
Parameters
3siem_typestringauto_installbooleanscenario_keystringGet Role Info
Get information about a specific role, including installation method and requirements. Uses the ludus CLI with --url when available for reliable remote access. No SSH required for checking role infor...
Parameters
1role_namestringInstall Galaxy Role
Install an Ansible role directly from Ansible Galaxy. This is the simplest way to install roles. Provide the Galaxy role name in the format 'namespace.role_name' and it will be installed on the Ludus...
Parameters
2versionanyrole_namestringInstall Role From Url
Install an Ansible role from a custom Git repository URL. Use this to install roles from custom Git repositories that are not on Ansible Galaxy. The repository will be cloned on the Ludus server and ...
Parameters
3branchanygit_urlstringrole_namestringGet Common Galaxy Roles
Get a list of commonly used Ansible Galaxy roles for Ludus scenarios. Returns a curated list of Galaxy roles that are frequently used in security lab scenarios, along with their descriptions and exam...
List Role Repositories
List all roles that are available from GitHub repositories (directory-based roles). These roles must be cloned on the Ludus server before installation. Returns: Dictionary with available role re...
Источник: https://mcpmarket.com/server/ludus-fast
Комментарии
Комментариев пока нет. Будьте первым.