LudusMCP 是一个模型上下文协议(MCP)服务器,可通过自然语言命令管理 Ludus 实验室环境,为用户提供便捷、高效的环境管理体验。
LudusMCP 是用于通过自然语言命令管理 Ludus 实验室环境的模型上下文协议服务器。在使用前,请确保满足以下先决条件,并按照安装和配置步骤进行操作。
确保您具备以下条件:
ludus user apikey 命令获取)全局安装该包,使 ludus-mcp 命令在系统范围内可用:
npm install -g ludus-mcp@latest
ludus-mcp --setup-keyring
安装过程说明:
keytar)src/ → dist/)ludus-mcp 命令这是一个一次性安装过程,会为您的特定平台编译所有内容。
git clone https://github.com/NocteDefensor/LudusMCP.git
cd LudusMCP
# 在 LudusMCP 目录内
npm install # 安装依赖项并自动构建
npx ludus-mcp --setup-keyring # 从克隆/安装目录中运行,使用 npx 进行本地源代码安装
该包包含在安装过程中需要编译的原生依赖项:
如果安装失败,请确保您具备适用于您平台的正确构建工具。
当您启动 MCP 客户端(Claude Desktop)时,它会自动执行以下操作:
ludus-mcp 服务器无需手动启动服务器,MCP 客户端会处理一切。
为了进行故障排除或独立测试服务器,请执行以下操作:
ludus-mcp # 如果是全局安装
# 或者
npx ludus-mcp # 如果是本地安装,请从克隆目录中运行
服务器启动过程:
完成从需求到部署的范围创建引导式工作流程。
安全执行 Ludus CLI 命令,并提供破坏性操作保护。
deploy_range - 部署虚拟化训练环境get_range_status - 检查部署状态和虚拟机状态list_user_ranges - 列出用户的所有范围get_connection_info - 下载 RDP/VPN 连接文件destroy_range - 永久删除范围和虚拟机range_abort - 停止卡住的部署ludus_power - 启动/停止范围虚拟机read_range_config - 读取配置文件write_range_config - 创建/修改范围配置validate_range_config - 验证 YAML 语法和模式list_range_configs - 浏览可用模板get_range_config - 获取当前活动配置set_range_config - 设置用于部署的活动配置ludus_docs_search - 搜索 Ludus 文档ludus_range_planner - 智能范围规划助手ludus_roles_search - 搜索可用的 Ludus 角色ludus_environment_guides_search - 查找环境设置指南ludus_networking_search - 网络配置帮助ludus_read_range_config_schema - 查看配置模式ludus_range_config_check_against_plan - 根据需求验证配置ludus_read_role_collection_schema - 查看角色模式ludus_list_role_collection_schemas - 列出所有可用的角色/集合模式ludus_cli_execute - 执行任意 Ludus CLI 命令ludus_help - 获取 Ludus 命令的帮助list_all_users - 列出所有 Ludus 用户(仅限管理员)get_credential_from_user - 安全收集凭证insert_creds_range_config - 将凭证注入配置(注意:大语言模型实际上不会与操作系统凭证管理/钥匙串进行交互。它将凭证存储的名称传递给函数,函数检索凭证并将占位符替换为凭证。create-ludus-range 提示进行引导式范围创建:需求:"具有 SCCM 和 3 个工作站的 AD 环境"
list_range_configs 查看可用模板,并使用 read_range_config 检查它们。validate_range_config。set_range_config 使配置可用于部署。deploy_range 创建虚拟化环境。get_connection_info 下载 RDP 文件并访问虚拟机。对于特定工具未涵盖的操作,请使用 execute-ludus-cmd 提示:
命令意图:"检查详细日志以查找部署问题"
MCP 服务器维护所有可用 Ludus 角色和集合的详细模式,以帮助大语言模型在范围规划期间理解角色功能、变量和需求。
官方模式存储在 ~/.ludus-mcp/schemas/ 中,每个角色或集合对应一个单独的 YAML 文件。这些文件在服务器启动时会自动从 GitHub 存储库下载和更新。
ludus_list_role_collection_schemas - 列出所有可用的角色/集合模式文件ludus_read_role_collection_schema - 读取模式数据(所有模式或特定文件)要为不在官方存储库中的自定义角色或第三方角色添加模式,请执行以下操作:
~/.ludus-mcp/schemas/ 中创建一个 YAML 文件,遵循标准格式company.custom_role.yaml)name、type、description、variablesSample-schema.yaml 以获取正确的格式和结构自定义模式在服务器重启期间会保留。更新过程仅会覆盖存储库中的官方模式,而不会影响您的自定义文件。
使用 ludus_read_role_collection_schema 并指定 file_names 参数以读取特定模式,而不是一次性读取所有模式。
配置文件和数据存储在 ~/.ludus-mcp/ 中:
~/.ludus-mcp/
├── range-config-templates/
│ └── base-configs/ # GitHub 模板(自动更新)
├── schemas/ # 角色/集合模式(自动更新)
│ ├── Sample-schema.yaml # 自定义模式模板
│ ├── ludus_sccm.yaml # 单个角色模式
│ ├── badsectorlabs.ludus_vulhub.yaml
│ ├── custom_role.yaml # 您的自定义模式(保留)
│ └── range-config.json # 范围配置模式
└── ludus-docs/ # 缓存的文档(自动更新)
├── environment-guides/
├── quick-start/
└── troubleshooting/
官方文件在服务器启动时会自动下载和更新。您创建的自定义文件将被保留。
{{LudusCredName-<用户>-<名称>}}wg showssh 用户@ludus-主机ludus --url https://您的服务器:8080 versionvalidate_range_config 检查语法ludus_read_range_config_schema 验证结构npx ludus-mcp --renew-keyring--setup-keyringvalidate_range_config 工具如需更多帮助:
ludus_help 工具获取 Ludus CLI 文档ludus_docs_search 获取全面指南read_range_config 查看生成的配置本项目采用 GNU 通用公共许可证 v3.0。