Skip to main content
Glama

Server Details

Check what other agents hit the same tool failure — and what recovery worked. Ask before retrying.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
FailEcho/failecho
GitHub Stars
2
Server Listing
FailEcho

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation4/5

The four tools have largely distinct roles: check failure, report failure, report success, and report recovery outcome. However, report_recovery_outcome and report_tool_success can overlap when a retry succeeds, causing potential confusion about which to call.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case convention (check_tool_failure, report_tool_failure, report_tool_success, report_recovery_outcome). No deviations.

Tool Count5/5

Four tools are well-scoped for a failure intelligence service: one read and three write operations covering the core telemetry loop. Each earns its place.

Completeness5/5

The surface covers the essential operations: check for failure intelligence, report failures, report successes, and report recovery outcomes. No obvious gaps for the stated purpose.

Available Tools

4 tools
check_tool_failureCheck what the network knows about a tool failureAInspect

Use FailEcho when another tool fails, before retrying blindly.

Use this tool when another tool, API call, or MCP server operation fails. It checks whether other autonomous systems recently experienced the same failure and returns current failure intelligence, known recovery actions, and confidence based on observed outcomes.

Call it BEFORE retrying. A retry that is failing for every other agent right now is a retry you can skip, and the network often knows a specific action that works instead (refresh a stale tool schema, fall back to another provider, reconnect, wait).

Returns: status (HEALTHY / DEGRADED / MAJOR / INSUFFICIENT_DATA), how many observations and distinct reporters have seen this exact failure in the last 5 minutes and hour, the current failure rate for the service+operation, every recovery action other agents tried with its success rate, and a single recommendation when the evidence supports one.

recommendation is null when evidence is insufficient -- that is a real answer, not an error. Confidence is a Wilson score lower bound computed from observed attempts; it is never generated by a model. Check demo_data_included: when true, synthetic demo rows are part of the numbers. evidence_sources says who saw it: 'agent' means independent agents; 'first_party' alone means only FailEcho's own agents, so weigh it as one reporter's experience.

Reading is free, anonymous, unauthenticated and never rate limited, and this call stores nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceYesWhat was called, named the way other agents will name it: an MCP server's own name (the one it reports in serverInfo.name), or an HTTP API's host, e.g. 'api.github.com'. Not your client's local alias for it.
versionNoVersion of the failing service/tool, if known.
operationYesThe tool or endpoint exactly as the server defines it, e.g. 'create_issue' -- without client prefixes such as 'mcp__github__'.
error_codeNoProtocol/vendor code, e.g. '422', 'ECONNRESET'.
error_typeNoShort failure class, e.g. 'validation_error', 'timeout', 'rate_limit', 'auth_error'.
reporter_idNoOptional stable identifier for your agent. Salted and hashed on arrival and never stored by this call; it only lets FailEcho tell whether the evidence it just gave you came from a different reporter.
schema_hashNoShort hash of the tool schema you used. Lets FailEcho separate 'the API broke' from 'your tool schema is stale'.
error_messageNoThe error text you received. Normalized server-side (identifiers replaced, credential-shaped substrings redacted) and never stored by this call. Do not include prompts, tool arguments, secrets or user content.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden and does: read-only, free, anonymous, unauthenticated, never rate limited, stores nothing, plus null-recommendation semantics, Wilson-score confidence provenance, demo_data_included, and evidence_sources weighting. This is unusually complete disclosure for a tool with zero annotation coverage.

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-loaded with the trigger and the pre-retry rule, then structured into behavior and return-field paragraphs, all of which are substantive. It runs long, and the return-value paragraph partly duplicates an output schema that already exists, costing it the top mark.

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?

An 8-parameter, evidence-interpretation tool with an output schema; the description supplies the interpretive context an agent needs (what HEALTHY/DEGRADED mean, when recommendation is null, how to weigh first_party vs agent sources) rather than relying on raw fields. Nothing needed to call it correctly is missing.

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% and the parameter docs are detailed (naming conventions, redaction, schema_hash purpose), so the schema already does the heavy lifting. The description itself adds almost nothing about parameters beyond reinforcing 'service + operation' — baseline 3 is appropriate.

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 and resource ('check whether other autonomous systems recently experienced the same failure' and return failure intelligence), and its 'reading is free... stores nothing' framing implicitly separates it from the report_* siblings, which are writes. An agent can tell what this does without opening the schema.

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?

Explicit trigger ('when another tool, API call, or MCP server operation fails'), explicit ordering ('call it BEFORE retrying'), and an explicit alternative — blind retry — with the condition that makes skipping it correct. Nothing about when to invoke is left to inference.

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

report_recovery_outcomeReport whether a recovery action workedAInspect

After you acted on a known failure -- retried, waited, refreshed a stale schema, reconnected, fell back to another provider -- report whether it actually resolved the problem.

This is the highest-value telemetry in the network: it is the difference between 'everyone is failing' and 'everyone is failing, and refreshing the schema fixes it'. Every recommendation other agents receive is built from these reports.

Pass the fingerprint returned by check_tool_failure or report_tool_failure. Common actions: retry, wait, refresh_schema, remove_optional_field, reconnect, use_fallback, reauthenticate, abort. Report one outcome per attempt, not one per retry-loop iteration: a single reporter contributes at most 5 attempts per hour to any action's confidence.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesWhat you tried, e.g. 'refresh_schema'. Lowercase, [a-z0-9_.-], spaces become underscores.
successfulYesTrue when the action resolved the failure.
fingerprintYesFingerprint from check_tool_failure or report_tool_failure (32 lowercase hex characters).
reporter_idNoOptional stable agent id; hashed, never stored raw.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden, and it delivers: it discloses that reports feed downstream recommendations, that each attempt should be reported separately, and that contributions are rate-limited per action. It also frames the tool as telemetry, which makes the side effect of calling it clear.

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 front-loaded with the tool's purpose and remains focused: the first sentence states exactly when to call it, and later sentences justify the telemetry value, enumerate common actions, and set rate expectations. It is longer than a minimal description, but the added sentences all carry operational guidance rather than filler.

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?

For a four-parameter telemetry tool with full schema coverage and an output schema, this description is complete: an agent knows when to call it, what to pass, what action values exist, how to avoid duplicate reports, and the rate limit. The only minor omission is an explicit alternative to report_tool_success, but that does not block correct invocation.

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 coverage is 100%, so the baseline is 3; the description adds value above the schema by listing canonical action values, explaining that the fingerprint must come from check_tool_failure or report_tool_failure, and linking the action parameter to per-hour confidence accumulation. It does not duplicate parameter formats, letting the schema handle syntax.

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 and resource: it instructs the agent to report whether a recovery action resolved a known failure, and it ties the report to a fingerprint from check_tool_failure or report_tool_failure. This clearly differentiates the tool from the sibling failure-reporting tools: check/report_tool_failure record the failure itself, while this records the outcome of the attempted fix.

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?

It specifies the exact trigger ('After you acted on a known failure'), what to pass (the fingerprint), and common action values to report. It also sets rate and granularity guidance ('one outcome per attempt', 'at most 5 attempts per hour'), though it does not explicitly state when to prefer report_tool_success over this tool.

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

report_tool_failureReport a failed tool call to the networkAInspect

Anonymously contribute a tool/API/MCP failure to FailEcho so other autonomous systems can recognise it. Call this whenever a tool call fails, after (or alongside) check_tool_failure.

PRIVACY -- this is a shared public network. Send failure metadata ONLY. Never include prompts, model messages, tool arguments, tool results, request or response bodies, HTTP headers, cookies, API keys, tokens, customer names, emails or any user content. The error message is normalized server-side (numbers, UUIDs, emails, URLs, IPs and tokens replaced with placeholders; credential-shaped substrings redacted) and the raw text is discarded, but that is a safety net, not a licence to send sensitive data.

Pass a stable reporter_id if you can: it is salted and hashed before storage, is never stored raw, and lets the network count you as one independent reporter instead of anonymous noise. Writes are rate limited per client.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceYesWhat was called, named the way other agents will name it: an MCP server's own name (the one it reports in serverInfo.name), or an HTTP API's host, e.g. 'api.github.com'. Not your client's local alias for it.
versionNoVersion of the service/tool.
operationYesThe tool or endpoint exactly as the server defines it, e.g. 'create_issue' -- without client prefixes such as 'mcp__github__'.
error_codeNoProtocol/vendor code, e.g. '422'.
error_typeNoShort failure class, e.g. 'validation_error'.
latency_msNoObserved call latency in milliseconds.
reporter_idNoOptional stable identifier for your agent. Salted and hashed on arrival; never stored raw.
schema_hashNoShort hash of the tool schema used.
error_messageNoError text. Normalized before storage; no secrets please.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so well: it discloses anonymous public contribution, server-side normalization of error text, discarding of raw text, salted-hashed reporter_id storage, per-client rate limits, and what must never be sent. These are exactly the traits an agent needs before invoking a write to a shared network.

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-loaded with purpose, then usage, then privacy, then parameter notes — a sensible order. The privacy paragraph is long but each clause (banned categories, server-side normalization limits, the 'safety net, not a licence' caveat) earns its place; still, the block could be tightened.

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?

9 parameters, 2 required, an output schema present (so return values need no explanation) and no annotations — the description fills the gaps that matter: privacy boundaries, rate limiting, normalization behavior, and the identity semantics of reporter_id. An agent has everything needed to call this correctly.

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 100%, so the baseline is 3; however the description adds meaning beyond the schema by explaining the purpose of reporter_id (salted/hashed, counts you as one independent reporter rather than anonymous noise), the normalization applied to error_message, and the privacy constraints on all fields.

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 (anonymously contribute) and resource (a tool/API/MCP failure to FailEcho) plus the benefit to other agents. It is clearly separable from the sibling check_tool_failure, which it names as a companion query rather than a duplicate.

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?

The trigger is explicit: 'Call this whenever a tool call fails, after (or alongside) check_tool_failure.' That gives a clear condition and ordering relative to one sibling, but it never states when NOT to use it or how it differs from report_tool_success / report_recovery_outcome, so the routing guidance is incomplete.

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

report_tool_successReport a successful tool call to the networkAInspect

Report that a tool call SUCCEEDED. This matters more than it sounds: a failure rate is failures divided by total calls, so a network that only hears about failures cannot tell a broken service from a busy one, and every status it reports would be wrong.

Cheap to call and carries no error data at all -- just which service/operation/version succeeded and how long it took. Same privacy rules apply: metadata only, never arguments or results.

ParametersJSON Schema
NameRequiredDescriptionDefault
serviceYesWhat was called, named the way other agents will name it: an MCP server's own name (the one it reports in serverInfo.name), or an HTTP API's host, e.g. 'api.github.com'. Not your client's local alias for it.
versionNoVersion of the service/tool.
operationYesThe tool or endpoint exactly as the server defines it, e.g. 'create_issue' -- without client prefixes such as 'mcp__github__'.
latency_msNoObserved call latency in milliseconds.
reporter_idNoOptional stable agent id; hashed, never stored raw.
schema_hashNoShort hash of the tool schema used.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does real work: it declares the call is cheap, carries no error payload, transmits metadata only, and never sends arguments or results. It omits auth/permission requirements, idempotency or duplicate-report behavior, and any rate-limit context.

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-loaded with the action, then rationale, then payload/privacy constraints — a sensible order. The middle sentence is somewhat discursive ('This matters more than it sounds...'), but it earns its place by justifying the tool's existence.

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?

An output schema exists, so return values need not be described, and the privacy boundary (metadata only, never arguments or results) is stated explicitly. For a 6-parameter telemetry write tool with no annotations, the description is nearly sufficient; only permission/rate-limit behavior is unaddressed.

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 schema already documents all six parameters including naming conventions and hashing. The description's summary of what is carried (service/operation/version/latency) adds only framing, not new parameter semantics. Baseline 3 applies.

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 and resource ('Report that a tool call SUCCEEDED'), which is directly distinguishable from the siblings report_tool_failure and check_tool_failure. An agent can pick this tool without ambiguity.

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?

The explanation of why success reporting matters (failure rate is failures/total, so failure-only reporting produces wrong statuses) effectively tells the agent to report on success, not just failure, which is the key routing decision against its siblings. It stops short of an explicit 'call this after every successful call, including on retries' rule or naming the sibling tools.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedcheck_tool_failure2 fields changed
      • changedInput schema / properties / operation / description
        Previous value: -"Operation/tool name that failed, e.g. 'create_issue'."New value: +"The tool or endpoint exactly as the server defines it, e.g. 'create_issue' -- without client prefixes such as 'mcp__github__'."
      • changedInput schema / properties / service / description
        Previous value: -"Tool/service identifier, e.g. 'github-mcp'."New value: +"What was called, named the way other agents will name it: an MCP server's own name (the one it reports in serverInfo.name), or an HTTP API's host, e.g. 'api.github.com'. Not your client's local alias for it."
    • Changedreport_tool_failure2 fields changed
      • changedInput schema / properties / operation / description
        Previous value: -"Operation that failed."New value: +"The tool or endpoint exactly as the server defines it, e.g. 'create_issue' -- without client prefixes such as 'mcp__github__'."
      • changedInput schema / properties / service / description
        Previous value: -"Tool/service identifier."New value: +"What was called, named the way other agents will name it: an MCP server's own name (the one it reports in serverInfo.name), or an HTTP API's host, e.g. 'api.github.com'. Not your client's local alias for it."
    • Changedreport_tool_success2 fields changed
      • changedInput schema / properties / operation / description
        Previous value: -"Operation that succeeded."New value: +"The tool or endpoint exactly as the server defines it, e.g. 'create_issue' -- without client prefixes such as 'mcp__github__'."
      • changedInput schema / properties / service / description
        Previous value: -"Tool/service identifier."New value: +"What was called, named the way other agents will name it: an MCP server's own name (the one it reports in serverInfo.name), or an HTTP API's host, e.g. 'api.github.com'. Not your client's local alias for it."
  2. 4 tool updates
    • First observedcheck_tool_failure
    • First observedreport_recovery_outcome
    • First observedreport_tool_failure
    • First observedreport_tool_success

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    C
    maintenance
    Prevents coding agents from repeatedly attempting the same failed fix by tracking attempts and blocking further fixes until the agent uses its own web search tool.
    4
    -
  • A
    license
    A
    quality
    C
    maintenance
    It enables AI agents to recover from failures by diagnosing issues, refocusing broad tasks, restoring session context, and managing retries safely with bounded memory and credential redaction.
    6
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.