Skip to main content
Glama

merjax_explain_failure

Read-only

Explain a failed CI run: for each failed step, its class (compile / test / flaky / dependency / env / infra / lint / security / unknown) and the rule that chose it, the normalised error signature, failing tests, the files the commit touched, prior occurrences of the same failure (this repo, your other repos with the same owner or org, and platform-wide counts only) with the fix rate, and a suggested fix — the commit / PR that fixed it last time plus its diff limited to the relevant files, or the class's standard remedy. Infra and flaky failures never suggest a code change. run_id is the run's full id; with owner + repo an 8+ hex prefix also works.

Input Schema

NameRequiredDescriptionDefault
repoNoOptional: repository name — needed only for a run-id prefix
ownerNoOptional: repository owner — needed only for a run-id prefix
run_idYesThe failed run's id (full uuid; an 8+ hex prefix when owner + repo are given)
include_diffNoInclude the prior fix's diff, limited to the relevant files (default true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior5/5

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

With only readOnly/destructive annotations supplied, the description carries real behavioral weight: it discloses the signal normalisation ('normalised error signature'), the privacy scoping of cross-repo lookups ('this repo, your other repos with the same owner or org, and platform-wide counts only'), the fallback behaviour ('the class's standard remedy'), and the guardrail that infra and flaky failures never suggest a code change. None of that is derivable from the annotations.

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

Conciseness3/5

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

It is front-loaded with the task statement and is a single dense sentence, but the long em-dash-delimited list of outputs makes it a run-on that is harder to scan than a short bulleted enumeration would be. The content mostly earns its place, but the packaging costs readability.

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 must describe the return payload itself — and it does, down to per-step class, chosen rule, signature, prior occurrences with fix rate, and the shape of the suggested fix. Combined with the prefix rule and the no-code-change guardrail, an agent has what it needs to call and interpret this tool.

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?

Schema description coverage is 100%, so the baseline is 3. The description restates the run-id prefix rule already present in the schema and only indirectly implies include_diff ('its diff limited to the relevant files'), adding no new parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a concrete verb+resource ('Explain a failed CI run') and then enumerates exactly what is produced: per-step failure class, chosen rule, normalised signature, failing tests, touched files, prior occurrences with fix rate, and a suggested fix. That is far more specific than a sibling like merjax_get_workflow_logs, but no sibling is named, so the differentiation is inferred rather than stated.

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

Usage Guidelines3/5

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

Usage is implied by the opening scope ('a failed CI run') and the run-id prefix rule ('with owner + repo an 8+ hex prefix also works'), but there is no explicit when-to-use/when-not guidance and no named alternative such as get_workflow_logs for raw output or list_flaky_tests for flake detection. The agent must infer which tool to pick from the output list alone.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources