{"name":"com.failecho/failecho","slug":"failecho","title":null,"description":"Check what other agents hit the same tool failure — and what recovery worked. Ask before retrying.","url":"https://mcp.market/server/failecho","rating":null,"grade":"A","score":94,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":41,"stars":2,"forks":0,"downloads_week":595,"last_push_at":"2026-09-19T19:44:43.000Z","license":"MIT"},"uptime":{"percent":100,"checks":2,"ok":2,"last_checked_at":"2026-09-19T21:20:59.713Z","last_ok_at":"2026-09-19T21:20:59.713Z","latency_ms":124},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/FailEcho/failecho","website":"https://failecho.com","version":"0.2.0","remotes":[{"type":"streamable-http","url":"https://failecho.com/mcp"}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"failecho-mcp","version":"0.1.1","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Network to relay to. Defaults to https://failecho.com/mcp; point it at your own server if you self-host.","name":"FAILECHO_URL"},{"description":"Optional stable id for your agent. Salted and hashed on arrival; lets FailEcho tell your evidence from someone else's.","name":"FAILECHO_REPORTER_ID"}]},{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"failecho-mcp","version":"0.1.1","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Network to relay to. Defaults to https://failecho.com/mcp; point it at your own server if you self-host.","name":"FAILECHO_URL"},{"description":"Optional stable id for your agent. Salted and hashed on arrival; lets FailEcho tell your evidence from someone else's.","name":"FAILECHO_REPORTER_ID"}]}],"tools":[{"name":"check_tool_failure","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"service":{"description":"The MCP server's own name (serverInfo.name) or the API host, e.g. 'api.github.com'. Not your client's local alias.","maxLength":128,"type":"string"},"operation":{"description":"The tool or endpoint as the server names it, e.g. 'create_issue', not 'mcp__github__create_issue'.","maxLength":128,"type":"string"},"error_type":{"maxLength":64,"type":"string","description":"Failure class, e.g. 'validation_error', 'timeout', 'rate_limit', 'auth_error'."},"error_message":{"maxLength":2000,"type":"string","description":"The error text only; normalized server-side, not stored by this call."},"error_code":{"maxLength":32,"type":"string","description":"Code, e.g. '422', 'ECONNRESET'."},"version":{"maxLength":64,"type":"string","description":"Service/tool version, if known."},"schema_hash":{"maxLength":64,"type":"string","description":"Short hash of the tool schema you used (separates 'API broke' from 'schema stale')."},"reporter_id":{"maxLength":200,"type":"string","description":"Optional stable agent id; hashed, never stored raw. Lets from_other_agents be answered."},"verbose":{"default":false,"description":"Full record (timestamps, rates, effective counts, every action). Default: the compact answer.","type":"boolean"}},"required":["service","operation"]}},{"name":"report_recovery_outcome","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"fingerprint":{"description":"From check_tool_failure or report_tool_failure (32 hex chars).","pattern":"^[0-9a-f]{32}$","type":"string"},"action":{"description":"What you tried, e.g. 'refresh_schema' ([a-z0-9_.-]).","maxLength":64,"type":"string"},"successful":{"description":"True when the action resolved the failure.","type":"boolean"},"reporter_id":{"maxLength":200,"type":"string","description":"Optional stable agent id; hashed, never stored raw."}},"required":["fingerprint","action","successful"]}},{"name":"report_tool_failure","description":"Report a failed tool/API/MCP call so others can recognise it; call after a failure, alongside check_tool_failure.\n\nPRIVACY: 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"service":{"description":"The MCP server's own name (serverInfo.name) or the API host, e.g. 'api.github.com'. Not your client's local alias.","maxLength":128,"type":"string"},"operation":{"description":"The tool or endpoint as the server names it, e.g. 'create_issue', not 'mcp__github__create_issue'.","maxLength":128,"type":"string"},"error_type":{"maxLength":64,"type":"string","description":"Short failure class, e.g. 'validation_error'."},"error_message":{"maxLength":2000,"type":"string","description":"Error text. Normalized before storage; no secrets please."},"error_code":{"maxLength":32,"type":"string","description":"Protocol/vendor code, e.g. '422'."},"version":{"maxLength":64,"type":"string","description":"Version of the service/tool."},"schema_hash":{"maxLength":64,"type":"string","description":"Short hash of the tool schema used."},"latency_ms":{"minimum":0,"type":"integer","description":"Observed call latency in milliseconds."},"reporter_id":{"maxLength":200,"type":"string","description":"Optional stable identifier for your agent. Salted and hashed on arrival; never stored raw."}},"required":["service","operation"]}},{"name":"report_tool_success","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"service":{"description":"The MCP server's own name (serverInfo.name) or the API host, e.g. 'api.github.com'. Not your client's local alias.","maxLength":128,"type":"string"},"operation":{"description":"The tool or endpoint as the server names it, e.g. 'create_issue', not 'mcp__github__create_issue'.","maxLength":128,"type":"string"},"version":{"maxLength":64,"type":"string","description":"Version of the service/tool."},"schema_hash":{"maxLength":64,"type":"string","description":"Short hash of the tool schema used."},"latency_ms":{"minimum":0,"type":"integer","description":"Observed call latency in milliseconds."},"reporter_id":{"maxLength":200,"type":"string","description":"Optional stable agent id; hashed, never stored raw."}},"required":["service","operation"]}}],"scan":{"score":94,"grade":"A","scanned_at":"2026-09-19T20:05:32.578Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T20:05:32.592Z","components":{"code":{"score":25,"max":25,"notes":["2 source files scanned","3 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 536ms"]},"poisoning":{"score":15,"max":15,"notes":["4 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://failecho.com/mcp","reachable":true,"authRequired":false,"latencyMs":536,"serverInfo":{"name":"failecho","version":"0.1.0"}}],"packages":[{"registryType":"npm","identifier":"failecho-mcp","version":"0.1.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":0,"publishedAt":"2026-09-13T10:45:09.399Z","repositoryUrl":"git+https://github.com/FailEcho/failecho.git","weeklyDownloads":363},{"registryType":"pypi","identifier":"failecho-mcp","version":"0.1.1","found":true,"weeklyDownloads":232,"license":"MIT","dependencyCount":2,"publishedAt":"2026-09-13T10:44:24.667402Z","repositoryUrl":"https://github.com/FailEcho/failecho"}],"repo":{"found":true,"owner":"FailEcho","repo":"failecho","archived":false,"pushedAt":"2026-09-19T19:44:43Z","stars":2,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/327599299?v=4","ownerCreatedAt":"2026-09-10T16:41:40Z","license":"MIT"},"icon":{"url":"https://failecho.com/static/apple-touch-icon.png?v=72996cc2","source":"registry","width":192,"height":192},"presence":{"stars":2,"forks":0,"downloadsWeek":595,"license":"MIT","lastPushAt":"2026-09-19T19:44:43.000Z","score":41}}}},"grade_history":[],"reviews":[]}