Skip to main content
Glama

install_role

Install Ansible roles on Ludus servers from Galaxy or repositories, with automatic retry logic for reliable deployment.

Instructions

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 roles (automatically cloned via SSH if configured, e.g., "ludus-ad-content")

  • Retry logic for transient failures

For directory-based roles: If SSH is configured (via configure_ssh_role_installation), the MCP server will automatically clone the repository on the Ludus server and install it. Otherwise, manual installation instructions will be provided.

Args: role_name: Name of the role to install (e.g., "badsectorlabs.ludus_adcs", "aleemladha.wazuh_server_install") role_url: Optional URL for Galaxy roles (usually not needed) max_retries: Maximum retry attempts (default: 3)

Returns: Installation result with status and details

Example: # Install a Galaxy role (works immediately) result = await install_role(role_name="badsectorlabs.ludus_adcs")

# Install a directory-based role (requires SSH config or manual setup)
result = await install_role(role_name="ludus-ad-content")

# Check installation status
status = await check_role_installed(role_name="badsectorlabs.ludus_adcs")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
role_nameYes
role_urlNo
max_retriesNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: automatic handling of two role types, retry logic for transient failures, SSH dependency for directory-based roles, and fallback to manual instructions. However, it doesn't mention permission requirements, rate limits, or whether this is a read/write operation, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear opening statement, bullet points for automation features, bold section for directory-based roles, and separate Args/Returns/Example sections. It's appropriately sized but could be more front-loaded; the example section is lengthy, though informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters, 0% schema coverage, no annotations, and no output schema, the description does a good job explaining the tool's purpose, usage, parameters, and behavior. It references related tools and provides examples. However, it lacks details on error handling, output structure, and exact return values, which would enhance completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaningful semantics: 'role_name' examples distinguish Galaxy vs. directory-based roles, 'role_url' is clarified as optional and usually not needed, and 'max_retries' is explained with its default. This covers all three parameters effectively, though it could detail format constraints for 'role_name'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the verb ('Install') and resource ('Ansible role on the Ludus server'), and distinguishes between two specific installation methods (Galaxy roles vs. directory-based roles). It clearly differentiates from sibling tools like 'install_galaxy_role' and 'install_role_from_url' by covering both methods in one tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: for installing both Galaxy roles and directory-based roles. It specifies prerequisites for directory-based roles (SSH configuration via 'configure_ssh_role_installation'), mentions retry logic, and references the alternative 'check_role_installed' for verification. This gives clear context for when and how to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tjnull/Ludus-FastMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server