UNPKG

ludus-mcp

Version:

MCP server for managing Ludus cybersecurity training environments through natural language commands

59 lines (54 loc) 2.34 kB
// ============================================================================ // LUDUS MCP PROMPTS - STATIC PROMPT EXPORTS // ============================================================================ import { Prompt } from '@modelcontextprotocol/sdk/types.js'; export const createLudusRangePrompt: Prompt = { name: "create-ludus-range", description: "Create a complete Ludus cyber range from your requirements. Handles the entire workflow from planning to validation.", arguments: [ { name: "requirements", description: "Describe what you want to build in natural language (e.g., 'AD range with one workstation, dedicated file server, SCCM, and Elastic watching the workstation joined to Tailscale')", required: true }, { name: "roles", description: "Optional: Specify desired Ludus roles/collections to use (e.g., 'ludus_sccm, ludus_elastic_agent, ludus_tailscale')", required: false }, { name: "save_config", description: "Whether to save the generated configuration to file (true/false)", required: false } ] }; export const executeLudusCmdPrompt: Prompt = { name: "execute-ludus-cmd", description: "Safely execute Ludus CLI commands with comprehensive safety protocols, tool preference checking, and destructive action confirmation.", arguments: [ { name: "command_intent", description: "Describe what you want to accomplish with the CLI command (e.g., 'check range status', 'get user information', 'abort stuck deployment')", required: true }, { name: "target_user", description: "Target user for admin operations (leave empty for current user operations)", required: false }, { name: "confirm_destructive", description: "Set to true only AFTER user explicitly confirms destructive operations (type: true/false, TRUE/FALSE, or t/f)", required: false } ] }; // Export all prompts as an array for easy registration export const ALL_PROMPTS: Prompt[] = [ createLudusRangePrompt, executeLudusCmdPrompt ]; // Re-export handlers for use in server export { handleCreateLudusRangePrompt } from './createLudusRange.js'; export { handleExecuteLudusCmdPrompt } from './executeLudusCmd.js';