Skip to main content
Glama
dave1362

RCA-MCP Connector

rca_graph_discover

Identify causal relationships in observational metric data with partial-correlation and Fisher-Z tests, producing a causal skeleton graph for root cause analysis.

Instructions

Automatically discover a causal skeleton from observational metric data using partial-correlation + Fisher-Z conditional independence tests (PC-algorithm). Requires the causal_discovery feature (Pro+).

Creates and saves a new graph, same as rca_graph_create, but with edges inferred from data instead of asserted by hand -- use rca_graph_create + rca_graph_add_edge instead if you already know the causal structure and just want to encode it directly. Always review the discovered edges (rca_graph_get or rca_graph_score) before trusting them for RCA -- statistical discovery finds correlational structure consistent with the data, not guaranteed ground truth.

Args: params (GraphDiscoverInput): - name: name for the resulting graph - data: {variable: [float values]} — min 30 rows, max 50 variables - significance: p-value threshold (default 0.05)

Returns: str: JSON with graph_id and discovered edge summary

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 / GraphDiscoverInput / properties / client_id / description
      Added value: +"Client namespace ID"
    • addedInput schema / $defs / GraphDiscoverInput / properties / token / description
      Added value: +"API key to authenticate this request"
  2. Changed1 schema field changedv4.1.14
    • addedInput schema / $defs / GraphDiscoverInput / properties / significance / description
      Added value: +"P-value threshold for the discovery algorithm's independence tests, 0.001-0.5 (default 0.05, standard); lower = stricter, fewer edges found"
  3. First observedv4.1.13

TDQS

A4.3/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=false, so mutation is expected, and the description transparently states it 'Creates and saves a new graph.' It adds valuable context beyond annotations by noting the feature requirement and that 'statistical discovery finds correlational structure... not guaranteed ground truth.' It does not cover overwrite/collision behavior, but the main behavioral traits are disclosed.

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 logically structured: purpose, feature requirement, alternative tool, trust caution, then Args and Returns. It is somewhat long but each major section earns its place, and the most important usage guidance is front-loaded.

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?

Given the rich input schema and output schema, the description covers the core decision of when to use this tool, what it returns, and what caveats apply. It does not discuss failure modes or naming collisions, but those are not essential for correct invocation. Overall it gives an agent enough context to select and call the tool effectively.

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

Parameters3/5

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

The Args section restates name, data, and significance constraints that are already fully described in the input schema, including min 30 rows, max 50 variables, and the p-value default/bounds. It adds no new semantic meaning beyond the schema, and it omits token/client_id, though the schema documents those clearly. This is a solid baseline case.

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 opens with a specific verb and resource: 'Automatically discover a causal skeleton from observational metric data' via partial-correlation and Fisher-Z tests. It also distinguishes itself from the sibling tool rca_graph_create by saying it is 'same as rca_graph_create, but with edges inferred from data instead of asserted by hand.'

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?

It explicitly names the alternative workflow: 'use rca_graph_create + rca_graph_add_edge instead if you already know the causal structure.' It also warns to 'Always review the discovered edges (rca_graph_get or rca_graph_score) before trusting them,' giving clear post-invocation guidance.

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