Check what other agents hit the same tool failure — and what recovery worked. Ask before retrying.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use FailEcho when another tool fails, before retrying blindly. Call this BEFORE retrying a failed tool, API or MCP call. Returns what other agents saw for this exact failure -- status (HEALTHY/DEGRADED/MAJOR/INSUFFICIENT_DATA), counts, the recovery actions that worked with success rates, and one `recommendation` (or `skip` when nothing tried recently has worked; null when evidence is thin -- a real answer). Works on your own history before anyone else joins. Free, anonymous, stores nothing, never rate limited.
The MCP server's own name (serverInfo.name) or the API host, e.g. 'api.github.com'. Not your client's local alias.
The tool or endpoint as the server names it, e.g. 'create_issue', not 'mcp__github__create_issue'.
Full record (timestamps, rates, effective counts, every action). Default: the compact answer.
Service/tool version, if known.
Code, e.g. '422', 'ECONNRESET'.
Failure class, e.g. 'validation_error', 'timeout', 'rate_limit', 'auth_error'.
Optional stable agent id; hashed, never stored raw. Lets from_other_agents be answered.
Short hash of the tool schema you used (separates 'API broke' from 'schema stale').
The error text only; normalized server-side, not stored by this call.
Use FailEcho when another tool fails, before retrying blindly. Call this BEFORE retrying a failed tool, API or MCP call. Returns what other agents saw for this exact failure -- status (HEALTHY/DEGRADED/MAJOR/INSUFFICIENT_DATA), counts, the recovery actions that worked with success rates, and one `recommendation` (or `skip` when nothing tried recently has worked; null when evidence is thin -- a real answer). Works on your own history before anyone else joins. Free, anonymous, stores nothing, never rate limited.
| Argument | Type | Description |
|---|---|---|
| service* | string | The MCP server's own name (serverInfo.name) or the API host, e.g. 'api.github.com'. Not your client's local alias. |
| verbose | boolean | Full record (timestamps, rates, effective counts, every action). Default: the compact answer. |
| version | string | Service/tool version, if known. |
| operation* | string | The tool or endpoint as the server names it, e.g. 'create_issue', not 'mcp__github__create_issue'. |
| error_code | string | Code, e.g. '422', 'ECONNRESET'. |
| error_type | string | Failure class, e.g. 'validation_error', 'timeout', 'rate_limit', 'auth_error'. |
| reporter_id | string | Optional stable agent id; hashed, never stored raw. Lets from_other_agents be answered. |
| schema_hash | string | Short hash of the tool schema you used (separates 'API broke' from 'schema stale'). |
| error_message | string | The error text only; normalized server-side, not stored by this call. |
{
"type": "object",
"required": [
"service",
"operation"
],
"properties": {
"service": {
"type": "string",
"maxLength": 128,
"description": "The MCP server's own name (serverInfo.name) or the API host, e.g. 'api.github.com'. Not your client's local alias."
},
"verbose": {
"type": "boolean",
"default": false,
"description": "Full record (timestamps, rates, effective counts, every action). Default: the compact answer."
},
"version": {
"type": "string",
"maxLength": 64,
"description": "Service/tool version, if known."
},
"operation": {
"type": "string",
"maxLength": 128,
"description": "The tool or endpoint as the server names it, e.g. 'create_issue', not 'mcp__github__create_issue'."
},
"error_code": {
"type": "string",
"maxLength": 32,
"description": "Code, e.g. '422', 'ECONNRESET'."
},
"error_type": {
"type": "string",
"maxLength": 64,
"description": "Failure class, e.g. 'validation_error', 'timeout', 'rate_limit', 'auth_error'."
},
"reporter_id": {
"type": "string",
"maxLength": 200,
"description": "Optional stable agent id; hashed, never stored raw. Lets from_other_agents be answered."
},
"schema_hash": {
"type": "string",
"maxLength": 64,
"description": "Short hash of the tool schema you used (separates 'API broke' from 'schema stale')."
},
"error_message": {
"type": "string",
"maxLength": 2000,
"description": "The error text only; normalized server-side, not stored by this call."
}
}
}After acting on a failure -- retry, wait, refresh_schema, reconnect, use_fallback, reauthenticate -- report whether it worked. Every recommendation others get is built from these. Pass the fingerprint from check_tool_failure or report_tool_failure; one outcome per attempt.
| Argument | Type | Description |
|---|---|---|
| action* | string | What you tried, e.g. 'refresh_schema' ([a-z0-9_.-]). |
| successful* | boolean | True when the action resolved the failure. |
| fingerprint* | string | From check_tool_failure or report_tool_failure (32 hex chars). |
| reporter_id | string | Optional stable agent id; hashed, never stored raw. |
{
"type": "object",
"required": [
"fingerprint",
"action",
"successful"
],
"properties": {
"action": {
"type": "string",
"maxLength": 64,
"description": "What you tried, e.g. 'refresh_schema' ([a-z0-9_.-])."
},
"successful": {
"type": "boolean",
"description": "True when the action resolved the failure."
},
"fingerprint": {
"type": "string",
"pattern": "^[0-9a-f]{32}$",
"description": "From check_tool_failure or report_tool_failure (32 hex chars)."
},
"reporter_id": {
"type": "string",
"maxLength": 200,
"description": "Optional stable agent id; hashed, never stored raw."
}
}
}Report a failed tool/API/MCP call so others can recognise it; call after a failure, alongside check_tool_failure. PRIVACY: this is a shared network. Send failure metadata only -- never prompts, tool arguments, tool results, request or response bodies, headers, cookies, API keys, tokens, emails or user content. Error text is normalized server-side and the raw string discarded. A stable reporter_id (hashed, never stored raw) makes you one reporter instead of anonymous noise. Writes are rate limited per client.
| Argument | Type | Description |
|---|---|---|
| service* | string | The MCP server's own name (serverInfo.name) or the API host, e.g. 'api.github.com'. Not your client's local alias. |
| version | string | Version of the service/tool. |
| operation* | string | The tool or endpoint as the server names it, e.g. 'create_issue', not 'mcp__github__create_issue'. |
| error_code | string | Protocol/vendor code, e.g. '422'. |
| error_type | string | Short failure class, e.g. 'validation_error'. |
| latency_ms | integer | Observed call latency in milliseconds. |
| reporter_id | string | Optional stable identifier for your agent. Salted and hashed on arrival; never stored raw. |
Report that a call SUCCEEDED. Failure rates are failures over all calls; a network that only hears failures cannot tell broken from busy. No error data -- service, operation, version, latency.
| Argument | Type | Description |
|---|---|---|
| service* | string | The MCP server's own name (serverInfo.name) or the API host, e.g. 'api.github.com'. Not your client's local alias. |
| version | string | Version of the service/tool. |
| operation* | string | The tool or endpoint as the server names it, e.g. 'create_issue', not 'mcp__github__create_issue'. |
| latency_ms | integer | Observed call latency in milliseconds. |
| reporter_id | string | Optional stable agent id; hashed, never stored raw. |
| schema_hash | string | Short hash of the tool schema used. |
{
"type": "object",
"required": [
"service",
"operation"
],
"properties": {
"service": {
"type": "string",
"maxLength": 128,
"description": "The MCP server's own name (serverInfo.name) or the API host, e.g. 'api.github.com'. Not your client's local alias."
},
"version": {
"type": "string",
"maxLength": 64,
"description": "Version of the service/tool."
},
"operation": {
"type": "string",
"maxLength": 128,
"description": "The tool or endpoint as the server names it, e.g. 'create_issue', not 'mcp__github__create_issue'."
},
"latency_ms": {
"type": "integer",
"minimum": 0,
"description": "Observed call latency in milliseconds."
},
"reporter_id": {
"type": "string",
"maxLength": 200,
"description": "Optional stable agent id; hashed, never stored raw."
},
"schema_hash": {
"type": "string",
"maxLength": 64,
"description": "Short hash of the tool schema used."
}
}
}| schema_hash | string | Short hash of the tool schema used. |
| error_message | string | Error text. Normalized before storage; no secrets please. |
{
"type": "object",
"required": [
"service",
"operation"
],
"properties": {
"service": {
"type": "string",
"maxLength": 128,
"description": "The MCP server's own name (serverInfo.name) or the API host, e.g. 'api.github.com'. Not your client's local alias."
},
"version": {
"type": "string",
"maxLength": 64,
"description": "Version of the service/tool."
},
"operation": {
"type": "string",
"maxLength": 128,
"description": "The tool or endpoint as the server names it, e.g. 'create_issue', not 'mcp__github__create_issue'."
},
"error_code": {
"type": "string",
"maxLength": 32,
"description": "Protocol/vendor code, e.g. '422'."
},
"error_type": {
"type": "string",
"maxLength": 64,
"description": "Short failure class, e.g. 'validation_error'."
},
"latency_ms": {
"type": "integer",
"minimum": 0,
"description": "Observed call latency in milliseconds."
},
"reporter_id": {
"type": "string",
"maxLength": 200,
"description": "Optional stable identifier for your agent. Salted and hashed on arrival; never stored raw."
},
"schema_hash": {
"type": "string",
"maxLength": 64,
"description": "Short hash of the tool schema used."
},
"error_message": {
"type": "string",
"maxLength": 2000,
"description": "Error text. Normalized before storage; no secrets please."
}
}
}