Skip to main content
Glama
dave1362

RCA-MCP Connector

rca_pyrca_random_walk

Read-onlyIdempotent

Identify likely root causes by propagating anomaly scores backward through a causal graph from the failing SLI metric using personalized PageRank.

Instructions

[Adapted from Salesforce PyRCA — BSD-3-Clause] Graph-based root cause localisation via personalised PageRank random walk. Propagates backward through a causal adjacency graph from the SLI node, weighting transitions by anomaly scores to compute root cause probabilities. Requires the pyrca feature (Starter+) and, unlike rca_pyrca_epsilon_diagnosis, needs an adjacency graph you already have (from rca_graph_get's "adjacency" format, or hand-built) plus precomputed anomaly scores per metric -- it doesn't compute those scores itself.

Args: params (RandomWalkInput): - adjacency: {source: {target: weight}} causal graph - anomaly_scores: {metric: score} anomaly magnitudes - sli_metric: starting node - restart_prob: personalisation (higher = proximity-weighted)

Returns: str: JSON with root_causes ranked by composite_score, converged, iterations

Attribution: Adapted from PyRCA random walk concept (Salesforce, BSD-3-Clause)

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 / RandomWalkInput / properties / client_id / description
      Added value: +"Client namespace ID"
    • addedInput schema / $defs / RandomWalkInput / properties / token / description
      Added value: +"API key to authenticate this request"
  2. First observedv4.1.13

TDQS

A5/5.0
Behavior5/5

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

Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds meaningful behavioral detail: how the algorithm propagates through the graph, that it weights transitions by anomaly scores, and that it returns ranked root causes with convergence information. It also clearly states what inputs it does not compute, preventing incorrect expectations.

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

Conciseness5/5

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

The description is well-structured and appropriately sized. The core algorithm is stated first, followed by prerequisites and sibling contrast, then a concise parameter list and return description. The attribution line is at the end and does not interfere. Every sentence contributes to correct invocation.

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?

This is a relatively complex tool with prerequisites, algorithm-specific behavior, and a nuanced relationship to sibling tools. The description covers what the tool needs, what it does not compute, how to invoke it at a parameter level, and what it returns. Nothing critical for correct use is missing.

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?

Schema description coverage is reported at 0%, so the description carries the burden of explaining parameters. It does so thoroughly: adjacency is a {source: {target: weight}} causal graph, anomaly_scores are metric magnitudes, sli_metric is the starting node, and restart_prob is explained as personalisation where higher means more proximity-weighted. This adds real semantic value beyond raw schema field names.

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 states a specific algorithm and resource: 'Graph-based root cause localisation via personalised PageRank random walk.' It clearly explains the mechanism (propagating backward through a causal adjacency graph from the SLI node) and distinguishes itself from a sibling tool (rca_pyrca_epsilon_diagnosis). This gives an agent a precise mental model of 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.

Usage Guidelines5/5

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

The description explicitly specifies when to use this tool: it requires the pyrca feature (Starter+), an existing adjacency graph, and precomputed anomaly scores. It also names the alternative rca_pyrca_epsilon_diagnosis and notes the key difference—this tool does not compute anomaly scores itself. This is strong usage guidance with clear prerequisites and sibling differentiation.

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