Skip to main content
Glama

alert_triage_rca

Read-only

Triage active Prism alerts by grouping unresolved alerts per severity and flagging critical unacknowledged ones. Surface the oldest unresolved alert with its age for rapid root-cause analysis.

Instructions

[READ] Triage active Prism alerts: per-severity counts + oldest unresolved.

Groups every unresolved alert by severity with a count per level, flags
critical alerts nobody has acknowledged, and surfaces the oldest unresolved
alert with its age in days (aged against the newest alert in the same feed,
so the analysis is clock-free and reproducible). Use analyze_alert on an
individual extId for the per-alert event correlation.

Args:
    target: Prism Central target name from config; omit for the default.

Input Schema

NameRequiredDescriptionDefault
targetNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

readOnlyHint=true is consistent with the [READ] prefix, so no contradiction. Beyond the annotation it adds real behavioral context: aging is clock-free/reproducible (aged against newest alert in the same feed), and it flags criticals that no one has acknowledged. It does not disclose output ordering or volume/pagination behavior, keeping it short of a 5.

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-loads the verb, resource, and primary outputs in the first sentence, then qualifies. The parenthetical about clock-free aging is slightly dense but earns its place by explaining the age metric; no filler sentences.

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?

With no output schema, the description still specifies the return shape (per-level counts, flagged criticals, oldest unresolved with age in days), which is exactly what an agent needs to interpret results. The single parameter is documented and the read-only nature is established.

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 carry the single parameter, and it does: target is the Prism Central target name from config, omittable for the default (matching default null). No format details for a target name, but meaning is fully conveyed.

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 (triage) and resource (active Prism alerts) and enumerates the concrete outputs: per-severity counts, flagged unacknowledged criticals, and oldest unresolved alert with age. This distinguishes it clearly from alert_list (raw listing) and analyze_alert (per-alert correlation).

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?

Explicitly routes the agent to analyze_alert for per-alert event correlation on an individual extId, which is a clear alternative. However, it does not contrast itself against the sibling alert_list or state when a broad triage is preferable to viewing all alerts, leaving one boundary to inference.

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