Skip to main content
Glama
FailEcho

FailEcho

Official

Report a failed tool call to the network

report_tool_failure

Send anonymized tool failure metadata to FailEcho after a call fails so other autonomous systems can recognize the issue and avoid ineffective retries.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
serviceYesTool/service identifier.
versionNoVersion of the service/tool.
operationYesOperation that failed.
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

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral disclosure burden and succeeds. It reveals that the network is shared/public, that only failure metadata should be sent, that error messages are normalized server-side (with raw text discarded), that reporter_id is salted/hashed, that writes are rate limited, and the privacy redaction heuristics. All of this goes well beyond a bare name and would materially change how an agent uses the tool.

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 verbose but every block earns its place: primary action, when-to-call, privacy restrictions, normalization details, reporter_id guidance, and rate limiting. The most important call/decide information (purpose and when to use) is front-loaded, while deep privacy details appear later. Slightly longer than minimal, but justified by the sensitive nature of the tool.

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?

Complete for a 9-parameter tool with no annotations and a nontrivial privacy model. The description covers when to call, what data may/must not be sent, server-side normalization guarantees, reporter identity semantics, and rate limiting. With an output schema present, return-value documentation is not required. No critical gap remains.

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% and parameters already have clear descriptions, so the baseline is 3. The description adds value beyond the schema by explaining why reporter_id matters (counts as one independent reporter instead of anonymous noise) and how the error_message normalization process works (numbers, UUIDs, emails, URLs, IPs, tokens replaced; credential-shaped substrings redacted) — details absent from the property definitions.

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 ('anonymously contribute a tool/API/MCP failure to FailEcho') and states the purpose of helping other autonomous systems recognize failures. It clearly distinguishes itself from siblings like report_tool_success and report_recovery_outcome by focusing on failures.

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?

Explicitly says 'Call this whenever a tool call fails' and specifies the order relative to the sibling tool check_tool_failure ('after or alongside'). This leaves no ambiguity about when the tool should be invoked.

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