Skip to main content
Glama
dave1362

RCA-MCP Connector

rca_pyrca_ht_diagnosis

Read-onlyIdempotent

Determines if an observed anomaly is statistically explained by causal propagation from graph ancestors, applying descendant adjustment to isolate true root causes.

Instructions

[Adapted from Salesforce PyRCA — BSD-3-Clause] Hypothesis-testing RCA with descendant adjustment (HT-ADJ / CIRCA). Tests whether the SLI anomaly can be statistically explained by causal propagation from each ancestor node. Applies descendant adjustment to reduce indirect cause scores and surface true root causes.

This is the most statistically rigorous PyRCA algorithm and is recommended when you have a well-validated causal graph and sufficient pre-anomaly data -- reach for rca_pyrca_epsilon_diagnosis instead if you don't have a graph yet, or rca_pyrca_random_walk if you have a graph but not enough pre-anomaly history for a hypothesis test. Requires the pyrca feature (Starter+).

Args: params (HTDiagnosisInput): - data: {metric: [values]} full time series - adjacency: causal graph - sli_metric: observed anomaly metric - anomaly_start_idx: index where anomaly starts - significance: p-value threshold (default 0.05) - use_descendant_adjustment: enable HT-ADJ (default True)

Returns: str: JSON with root_causes (is_root_cause=true), all_results, method (HT or HT-ADJ)

Attribution: Adapted from PyRCA HT/CIRCA concept (Salesforce, BSD-3-Clause) Shen et al. (2022) CIRCA; Zheng et al. (2023) arXiv:2306.11417

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv4.1.15
    • addedInput schema / $defs / HTDiagnosisInput / properties / client_id / description
      Added value: +"Client namespace ID"
    • addedInput schema / $defs / HTDiagnosisInput / properties / token / description
      Added value: +"API key to authenticate this request"
  2. Changed1 schema field changedv4.1.14
    • addedInput schema / $defs / HTDiagnosisInput / properties / significance / description
      Added value: +"P-value threshold for the hypothesis test, 0.001-0.2 (default 0.05); lower = stricter, fewer nodes flagged as anomalous"
  3. First observedv4.1.13

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare the tool read-only, idempotent, and non-destructive, so the description does not need to restate safety. It adds meaningful behavioral context beyond annotations by explaining the statistical mechanism, the descendant adjustment that reduces indirect cause scores, and the return format identifying root causes. It also discloses the algorithm's provenance and adaptation from PyRCA, increasing trust and predictability.

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 longer than average, but it earns its length: it front-loads the core algorithm summary, then gives selection guidance, a compact parameter list, return format, and attribution. The attribution and citation lines are slightly extraneous for tool invocation, but they provide useful provenance. Overall, the structure is logical and each section serves a purpose.

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?

For a complex statistical RCA tool, the description is nearly complete: it explains the algorithm, when to use it versus alternatives, the required feature tier, key parameters, and the return format. Minor gaps exist around the exact adjacency structure and authentication token requirement, but these are covered in the nested schema. The description gives an agent enough context to select the tool correctly and invoke the main causal-analysis parameters.

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?

Despite the context signal indicating 0% schema coverage, the description compensates by enumerating the meaningful parameters: data, adjacency, sli_metric, anomaly_start_idx, significance, and use_descendant_adjustment, each with a concise semantic and, where relevant, a default value. It does omit the auth token and client_id parameters, but those are less algorithmically central and may be obvious from the schema. It also does not restate constraints like the p-value range or min pre-period points, though those are present in the schema.

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 uses a specific verb phrase ('Tests whether the SLI anomaly can be statistically explained by causal propagation from each ancestor node') and clearly names the resource: PyRCA HT-ADJ / CIRCA hypothesis-testing RCA. It explicitly differentiates itself from sibling tools by naming rca_pyrca_epsilon_diagnosis and rca_pyrca_random_walk as alternatives, so an agent can disambiguate without opening schemas.

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 gives explicit when-to-use guidance: recommended when you have a well-validated causal graph and sufficient pre-anomaly data. It also states concrete alternatives with conditions: use epsilon if you don't have a graph yet, use random walk if you have a graph but not enough pre-anomaly history. The prerequisite 'Requires the pyrca feature (Starter+)' further clarifies eligibility.

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