Skip to main content
Glama

job_failure_rca

Read-only

Triage recent backup job sessions to flag failed or warning runs, then categorize likely causes worst-first with cited error substrings.

Instructions

[READ] Triage recent backup-job sessions: flag every Failed/Warning run.

Pulls the newest limit sessions, fetches the failing log records for each bad run, and categorizes the likely cause (repository full, source/guest unreachable, credential/VSS failure, retry exhaustion) worst-first, citing the session result and the matched error substring for every finding. sessionsTruncated=true means older sessions were not analysed. For "what failed last night", pass since_hours=24 so the window is a time span rather than whatever fits in the newest limit sessions of every type.

Args: limit: Newest sessions to analyse, 1-1000 (default 100). since_hours: Only sessions created in the last N hours (optional). target: Veeam target name from config; omit to use the default.

Input Schema

NameRequiredDescriptionDefault
limitNo
targetNo
since_hoursNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.13.1
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 100,
      +  "title": "Limit",
      +  "type": "integer"
      +}
    • addedInput schema / properties / since_hours
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Since Hours"
      +}
  2. Addedv0.10.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true; the description goes well beyond that, disclosing the multi-step behavior (pull newest sessions, fetch failing logs, categorize by cause worst-first), the possible cause categories, the citation format, and the sessionsTruncated=true truncation signal. This is exactly the kind of behavioral context annotations cannot carry.

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?

Front-loaded with a [READ] tag and the core action, then structured detail and an Args block. Every sentence earns its place, though the Args section duplicates the schema — defensible here since schema coverage is 0%.

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

Completeness5/5

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

There is no output schema, so the description carries the return-value burden and does: it describes cited findings with session result and matched error substring, and the sessionsTruncated flag. For a read-only diagnostic tool with three optional params, an agent has everything needed to call and interpret it.

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates: limit is the newest-N sessions analysed with range 1-1000 and default 100, since_hours restricts to sessions created in the last N hours, and target is a Veeam target name from config to be omitted for the default. Each parameter's meaning and interaction (limit vs. time window) is explained.

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?

States a specific verb and resource (triage recent backup-job sessions, flag Failed/Warning runs) plus the full pipeline it executes (fetch failing log records, categorize likely cause). It is clearly distinguishable from siblings like session_list, session_log, and repository_capacity_rca, which only list or fetch raw records.

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

Usage Guidelines4/5

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

Gives an explicit when-to-use rule: pass since_hours=24 for 'what failed last night' so the window is a time span rather than whatever fits in the newest limit sessions of every type. It also flags that an omitted target uses the default. It stops short of naming alternative sibling tools or stating when not to use it.

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