list_failed_services
Identify systemd units that failed during the current boot to troubleshoot startup problems.
Instructions
List failed systemd units from the current boot.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scope | Yes |
Identify systemd units that failed during the current boot to troubleshoot startup problems.
List failed systemd units from the current boot.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | Yes |
Changes observed during successful MCP inspections.
v0.1.0Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds context by specifying 'systemd units' and 'from the current boot', which is useful. However, it does not disclose the meaning or required values of the 'scope' parameter, nor any output format or potential side effects. With annotations covering the mutability, the description adds a bit of behavioral context but lacks depth, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that communicates the core purpose without any filler. Every word adds value, making it highly efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one required parameter that is undocumented in both the schema and description, an agent cannot correctly invoke it without external knowledge. The absence of an output schema is not a problem, but the unexplained 'scope' parameter is a major omission. The tool's complexity is low, but the missing parameter semantics make it incomplete for autonomous use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema defines one required parameter 'scope' of type string with no description. Schema description coverage is 0%, so the description must compensate by explaining this parameter. It does not. The description makes no mention of 'scope' or what values it accepts, leaving the agent completely in the dark about how to call the tool. This is a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('List'), resource ('failed systemd units'), and scope ('from the current boot'). This distinguishes it from siblings like list_services (which would list all services) and get_boot_errors (likely broader boot issues). The purpose is unambiguous and leaves no doubt about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing failed units from the current boot, but does not explicitly mention when to use this tool versus alternatives such as get_service_status or get_boot_errors. There is no guidance on when not to use it or which sibling is more appropriate. The specificity of the description provides a clear context, but the absence of exclusions or alternative references limits the score to a 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.