Ludus FastMCP

201 tools. 95 can modify or destroy data without limits.

17 destructive tools with no built-in limits. Policy required.

Last updated:

95 can modify or destroy data
106 read-only
201 tools total

Community server · catalogue entry verified 11/06/2026

How to control Ludus FastMCP ↓

Read (106) Write / Execute (78) Destructive / Financial (17)
Critical Risk

95 of Ludus FastMCP's 201 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

PolicyLayer is an MCP gateway — it sits between your AI agents and Ludus FastMCP, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "abort_and_remove_range": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "remove_ranges_from_group": {
    "limits": [
      {
        "counter": "remove_ranges_from_group_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "abort_range_deployment": {
    "limits": [
      {
        "counter": "abort_range_deployment_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Ludus FastMCP — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON LUDUS FASTMCP →

Free to start. No card required.

DESTRUCTIVE 17 tools
Destructive abort_and_remove_range Abort any active deployment and then remove the range. This is a convenience function that co Destructive batch_remove_snapshots Remove snapshots from multiple VMs in parallel. Args: vm_names: List of VM names Destructive bulk_vm_operations Perform bulk operations on multiple VMs. Args: operation: Operation to perform (power_on, Destructive clear_range_access Clear all range access permissions. Args: user_id: Optional user ID (admin only) Destructive delete_blueprint Delete a blueprint. Args: blueprint_id: ID of the blueprint to delete Returns: Destructive delete_group Delete a group. Args: group_name: Name of the group to delete Returns: Destructive delete_range Delete the entire range. Permanently removes the range and all associated VMs, snapshots, and data. Destructive delete_range_by_user delete_range_by_user Destructive delete_ranges_by_status delete_ranges_by_status Destructive delete_template Delete a template. Args: template_id: Template ID to delete user_id: Optional Destructive destroy_vm Destroy a specific VM. Args: vm_id: ID of the VM to destroy Returns: Destructive remove_snapshot Remove a snapshot. Args: vm_name: Name of the VM snapshot_name: Name of the s Destructive remove_user Remove a user from the Ludus system. Args: user_id: User ID to remove Returns: Destructive remove_users_from_group Remove users from a group. Args: group_name: Name of the group user_ids: List Destructive revoke_range_access Revoke range access from a user. Args: target_user_id: User ID to revoke access from Destructive revoke_range_from_user Revoke range access from a user. Args: user_id: User ID to revoke range access from Destructive cleanup_old_ranges cleanup_old_ranges
EXECUTE 32 tools
Execute abort_template_build Abort a template build. Args: template_id: Template ID user_id: Optional user Execute build_container_based_template build_container_based_template Execute build_range_from_description build_range_from_description Execute build_range_from_prompt Build a range configuration from a natural language prompt. Args: prompt: Natural languag Execute build_range_from_scratch build_range_from_scratch Execute build_range_from_skeleton build_range_from_skeleton Execute build_template Build a template. Args: template_id: Template ID to build force: Force rebuil Execute deploy_range deploy_range Execute deploy_scenario deploy_scenario Execute health_checks Run health checks on all VMs in the range. Args: user_id: Optional user ID (admin only) Execute interactive_build_range Interactively build a range using natural language prompts. Args: prompt: Natural languag Execute security_audit Run security audit on the range. Args: user_id: Optional user ID (admin only) Re Execute smart_deploy Smart deployment with validation, optional snapshot, and auto-monitoring. RECOMMENDED: This i Execute start_testing Start testing state for the range. Args: user_id: Optional user ID (admin only) Execute stop_testing Stop testing state for the range. Args: user_id: Optional user ID (admin only) R Execute batch_power_on_hosts batch_power_on_hosts Execute batch_snapshot_hosts batch_snapshot_hosts Execute optimize_resource_allocation Optimize resource allocation for the range. Args: user_id: Optional user ID (admin only) Execute power_off_range Power off all VMs in the range. Args: user_id: Optional user ID (admin only) Ret Execute power_on_range Power on all VMs in the range. Args: user_id: Optional user ID (admin only) Retu Execute test_network_connectivity Test network connectivity between VMs. Args: source_vm: Source VM name target Execute apply_adversary_profile apply_adversary_profile Execute apply_blueprint_to_range Apply a blueprint to a range. Args: blueprint_id: ID of the blueprint to apply Execute apply_defender_profile apply_defender_profile Execute git_sync Sync range configurations with Git repository. Args: action: Action to perform (configure Execute install_galaxy_role install_galaxy_role Execute install_role install_role Execute install_role_from_url install_role_from_url Execute migrate_sqlite_to_pocketbase Migrate from SQLite to PocketBase. Returns: Migration result Execute migrate_to_sdn Migrate to SDN networking. Returns: SDN migration result Execute schedule_range_tasks Schedule recurring tasks for the range. Args: tasks: List of tasks to schedule Execute setup_sdn Setup SDN infrastructure. Returns: SDN setup result
WRITE 46 tools
Write remove_ranges_from_group Remove ranges from a group. Args: group_name: Name of the group range_ids: Li Write unshare_blueprint_with_groups Unshare a blueprint from groups. Args: blueprint_id: ID of the blueprint to unshare Write unshare_blueprint_with_users Unshare a blueprint from users. Args: blueprint_id: ID of the blueprint to unshare Write webhook_integration Manage webhook integrations. Args: action: Action to perform (create, update, delete, lis Write clone_range Clone the current range to another user. Args: target_user_id: User ID to clone range to Write provision_oauth2_user Provision an OAuth2 user (Ludus 2.0 only). Args: config: OAuth2 user configuration (e.g., Write rotate_credentials Rotate credentials for the range. Args: user_id: Optional user ID (admin only) R Write share_blueprint_with_groups Share a blueprint with groups. Args: blueprint_id: ID of the blueprint to share Write share_blueprint_with_users Share a blueprint with users. Args: blueprint_id: ID of the blueprint to share Write snapshot_host Create a snapshot of a host. Args: vm_name: Name of the VM to snapshot name: Write add_ranges_to_group Add ranges to a group. Args: group_name: Name of the group range_ids: List of Write add_template Add a new template to the system. Args: name: Template name url: Template URL Write add_user Add a new user to the Ludus system. Args: username: Username for the new user Write add_users_to_group Add users to a group. Args: group_name: Name of the group user_ids: List of u Write apply_template Apply a template to a VM. Args: vm_name: Name of the VM to apply template to Write assign_range_to_user Assign range access to a user. Args: user_id: User ID to assign range access to Write auto_scaling Configure auto-scaling for the range. Args: enable: Enable or disable auto-scaling Write clone_and_modify_scenario clone_and_modify_scenario Write configure_ssh_role_installation configure_ssh_role_installation Write copy_blueprint Copy a blueprint. Args: blueprint_id: ID of the blueprint to copy Returns: Write create_blueprint_from_range Create a reusable blueprint from an existing range. Args: range_id: ID of the range to cr Write create_container_template create_container_template Write create_custom_os_template create_custom_os_template Write create_custom_range_from_scenario create_custom_range_from_scenario Write create_custom_template create_custom_template Write create_deployment_pipeline Create a deployment pipeline with multiple stages. Args: name: Pipeline name Write create_group Create a new group. Args: name: Name of the group to create Returns: Write create_kali_weekly_template create_kali_weekly_template Write create_new_range Create a new range. Args: name: Name for the new range description: Optional Write create_scenario_playbook Create a scenario playbook for training. Args: scenario_key: Scenario identifier Write generate_config_from_description generate_config_from_description Write grant_range_access Grant access to range for another user. Args: target_user_id: User ID to grant access to Write handle_adws_recovery handle_adws_recovery Write import_community_scenario Import a scenario from the community repository. Args: scenario_url: URL to community sce Write import_range_backup Import and restore range from backup. Args: backup_file: Path to backup file Write install_subscription_roles Install subscription roles (Ludus 2.0 Enterprise only). Args: roles: List of role names t Write jira_integration Integrate with Jira for issue tracking. Args: action: Action to perform (configure, creat Write move_ansible_role_scope Move an Ansible role's scope (Ludus 2.0 only). Args: role_name: Name of the role to move Write publish_scenario Publish a scenario to the community repository. Args: scenario_key: Scenario to publish Write schedule_maintenance_window Schedule a maintenance window for the range. Args: start_time: Start time in ISO format Write schedule_snapshots Schedule automatic snapshots for VMs. Args: vm_names: List of VM names to snapshot Write set_default_range Set user's default range. Args: range_id: Range ID to set as default Returns: Write share_range_config Share range configuration with other users. Args: target_user_ids: List of user IDs to sh Write slack_notifications Configure Slack notifications. Args: action: Action to perform (enable, disable, test, co Write update_blueprint_config Update blueprint configuration. Args: blueprint_id: ID of the blueprint confi Write update_range_config Update range configuration. Args: config: Range configuration object user_id:
READ 106 tools
Read abort_range_deployment abort_range_deployment Read batch_get_vm_status Get status of multiple VMs in parallel. Args: vm_names: List of VM names user Read batch_power_off_hosts Power off multiple VMs in parallel. Args: vm_names: List of VM names to power off Read batch_rollback_snapshots Rollback multiple VMs to a snapshot in parallel. Args: vm_names: List of VM names to roll Read capture_network_traffic Capture network traffic on a VM. Args: vm_name: VM name to capture traffic from Read check_role_installed check_role_installed Read compliance_check Check compliance against security framework. Args: framework: Security framework to check Read deployment_timeline Get deployment timeline with progress tracking. Args: user_id: Optional user ID (admin on Read diagnose_network_issues Diagnose network connectivity issues. Args: user_id: Optional user ID (admin only) Read ensure_scenario_roles ensure_scenario_roles Read explain_range_design_decisions explain_range_design_decisions Read find_range_by_vm_name find_range_by_vm_name Read get_ansible_role_vars Get variables for an Ansible role (Ludus 2.0 only). Args: role_name: Name of the role Read get_attack_path_documentation Generate attack path documentation for a scenario. Args: scenario_key: Optional scenario Read get_blueprint_config Get blueprint configuration. Args: blueprint_id: ID of the blueprint Returns: Read get_common_container_configs get_common_container_configs Read get_common_galaxy_roles get_common_galaxy_roles Read get_common_iso_urls get_common_iso_urls Read get_container_config Get configuration for a common container. Args: container_name: Container name R Read get_cost_estimation Get cost estimation for the range. Args: user_id: Optional user ID (admin only) Read get_current_range_config_for_download get_current_range_config_for_download Read get_default_range Get user's default range ID. Returns: Default range information Read get_deployment_metrics Get metrics for a specific deployment. Args: deployment_id: Optional deployment ID (defau Read get_deployment_status Get current deployment status with detailed information. Args: user_id: Optional user ID Read get_detection_summary Get detection summary from SIEM. Args: user_id: Optional user ID (admin only) Re Read get_diagnostics Get system diagnostics. Returns: System diagnostics information Read get_license Get license information. Returns: License information Read get_network_topology Get network topology visualization data. Args: user_id: Optional user ID (admin only) Read get_range Get current user's range information. Args: user_id: Optional user ID (admin only) Read get_range_access Get range access configuration. Args: user_id: Optional user ID (admin only) Ret Read get_range_ansible_inventory Get Ansible inventory for the range. Args: user_id: Optional user ID (admin only) Read get_range_by_user get_range_by_user Read get_range_config Get range configuration. Args: user_id: Optional user ID (admin only) Returns: Read get_range_etchosts Get /etc/hosts entries for the range. Args: user_id: Optional user ID (admin only) Read get_range_logs Get deployment logs for the range. Args: user_id: Optional user ID (admin only) Read get_range_metrics Get comprehensive metrics for the range. Args: user_id: Optional user ID (admin only) Read get_range_rdpconfigs Get RDP configuration files for the range. Args: user_id: Optional user ID (admin only) Read get_range_skeleton get_range_skeleton Read get_range_sshconfig Get SSH config for the range. Args: user_id: Optional user ID (admin only) Retur Read get_range_tags get_range_tags Read get_range_template Get a specific range template configuration. Args: template_id: Range template ID Read get_recovery_recommendation Get recovery recommendations for failed deployments. Args: user_id: Optional user ID (adm Read get_required_roles_for_scenario get_required_roles_for_scenario Read get_resource_quotas Get resource quotas and current usage. Args: user_id: Optional user ID (admin only) Read get_role_info get_role_info Read get_scenario_config Get scenario configuration. Args: scenario_key: Scenario identifier siem_type Read get_scenario_yaml Get scenario configuration as YAML. Args: scenario_key: Scenario identifier s Read get_sdn_migration_status Get SDN migration status. Returns: SDN migration status information Read get_siem_agents Get SIEM agents for the range. Args: user_id: Optional user ID (admin only) Retu Read get_siem_alerts Get SIEM alerts for the range. Args: user_id: Optional user ID (admin only) s Read get_siem_info Get SIEM information for the range. Args: user_id: Optional user ID (admin only) Read get_template_dependencies Get template dependencies. Args: template_id: Template ID user_id: Optional u Read get_template_logs Get template build logs. Args: template_id: Template ID user_id: Optional use Read get_template_status Get template build status. Args: template_id: Template ID user_id: Optional u Read get_user Get information about a specific user. Args: user_id: User ID to retrieve Return Read get_user_apikey Get API key for a user. Args: user_id: User ID to get API key for Returns: Read get_user_memberships Get current user's group memberships (Ludus 2.0 only). Returns: List of group memberships Read get_vm_console_ticket Get console WebSocket ticket for a VM. Args: vm_id: ID of the VM Returns: Read get_vm_skeleton get_vm_skeleton Read get_vulnerability_scan Get vulnerability scan results for the range. Args: user_id: Optional user ID (admin only Read get_wazuh_info Get Wazuh SIEM information for the range. Args: user_id: Optional user ID (admin only) Read get_yaml_example get_yaml_example Read health_check Check health of Ludus MCP server and Ludus API connectivity. Uses the ludus CLI if available for more Read list_accessible_ranges List ranges accessible to current user. Returns: List of ranges the current user has acce Read list_all_ranges_detailed list_all_ranges_detailed Read list_available_profiles List all available adversary and defender profiles with descriptions. Returns detailed information ab Read list_blueprint_access_groups List groups with access to a blueprint. Args: blueprint_id: ID of the blueprint Read list_blueprint_access_users List users with access to a blueprint. Args: blueprint_id: ID of the blueprint R Read list_blueprints List all available blueprints. Returns: List of blueprints with their metadata Read list_common_containers List common container base images. Returns: Dictionary of common container configurations Read list_group_members List group members. Args: group_name: Name of the group Returns: Lis Read list_group_ranges List group ranges. Args: group_name: Name of the group Returns: List Read list_groups List all groups. Returns: List of all groups Read list_hosts List all hosts in range. Args: user_id: Optional user ID (admin only) Returns: Read list_installed_roles list_installed_roles Read list_networks List all networks in a range. Args: user_id: Optional user ID (admin only) Retur Read list_range_skeletons list_range_skeletons Read list_range_templates List available range templates from the community. Args: user_id: Optional user ID (admin Read list_range_users List users with access to a range. Args: range_id: Range ID to list users for Re Read list_ranges List all ranges (admin only). Args: user_id: Optional user ID (must be admin) Re Read list_role_repositories List all roles that are available from GitHub repositories (directory-based roles). These roles must Read list_scenarios List all available scenarios. Returns: Dictionary of scenario keys and descriptions Read list_snapshots List all snapshots for the range. Args: user_id: Optional user ID (admin only) R Read list_subscription_roles List available subscription roles (Ludus 2.0 Enterprise only). Returns: List of subscript Read list_templates List available templates. Args: user_id: Optional user ID (admin only) Returns: Read list_users List all users in the Ludus system. Returns: List of all users with their information Read list_vm_skeletons list_vm_skeletons Read list_yaml_examples list_yaml_examples Read monitor_deployment Monitor deployment progress with periodic updates. Args: user_id: Optional user ID (admin Read optimize_template Optimize a template for better performance. Args: template_id: Template ID to optimize Read preview_profile_changes preview_profile_changes Read preview_scenario Preview a scenario before deployment with detailed information. IMPORTANT: Generates a FRESH configur Read quick_status Get one-line deployment status with emoji indicators. Args: user_id: Optional user ID (ad Read range_access_logs Get range access logs. Args: user_id: Optional user ID (admin only) limit: Ma Read rollback_snapshot Rollback to a snapshot. Args: vm_name: Name of the VM snapshot_name: Name of Read suggest_range_enhancements suggest_range_enhancements Read template_diff Compare two templates and show differences. Args: template_id1: First template ID Read validate_config Validate range configuration before deployment. Args: config: Range configuration to vali Read validate_template Validate a template configuration. Args: template_config: Template configuration to valid Read visualize_range Generate visualization data for the range. Args: user_id: Optional user ID (admin only) Read whoami Test authentication and get user info. Returns: Current user information Read export_lab_guide Export lab guide for training purposes. Args: scenario_key: Optional scenario key (defaul Read export_metrics Export metrics data. Args: format: Export format (json, csv, prometheus) star Read export_range_backup Export range backup. Args: include_vms: Include VM disk images in backup incl Read export_range_config_to_yaml export_range_config_to_yaml Read generate_range_documentation Generate comprehensive documentation for the range. Args: format: Documentation format (m

Other MCP servers with similar tools — same risk classification, starter policies for each.

Can an AI agent delete data through the Ludus Fast MCP server? +

Yes. The Ludus FastMCP server exposes 17 destructive tools including abort_and_remove_range, batch_remove_snapshots, bulk_vm_operations. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Ludus FastMCP? +

The Ludus FastMCP server has 46 write tools including remove_ranges_from_group, unshare_blueprint_with_groups, unshare_blueprint_with_users. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Ludus FastMCP.

How many tools does the Ludus Fast MCP server expose? +

201 tools across 4 categories: Destructive, Execute, Read, Write. 106 are read-only. 95 can modify, create, or delete data.

How do I enforce a policy on Ludus FastMCP? +

Register the Ludus Fast MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Ludus FastMCP tool call.

Deterministic rules across all 201 Ludus FastMCP tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Free to start. No card required.

201 Ludus FastMCP tools catalogued and risk-classified — across an index of 42,500+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.