failecho-mcp
mcp-name: com.failecho/failecho
Stdio MCP server that relays to FailEcho: before your agent retries a failed tool, check what other agents already tried and whether it worked.
For hosts that can only start a local process. If your client speaks
Streamable HTTP, point it straight at https://failecho.com/mcp instead --
this package exists for the ones that cannot.
uvx failecho-mcp
{
"mcpServers": {
"failecho": { "command": "uvx", "args": ["failecho-mcp"] }
}
}
Four tools: check_tool_failure before a retry, and report_tool_failure,
report_tool_success, report_recovery_outcome to contribute. No account, no
API key. Set FAILECHO_URL to relay to your own server instead.
The relay stores nothing itself.
Proxy: FailEcho in front of your other MCP servers
A model given FailEcho's tools has to think of asking, and while it is handling a failure it mostly does not. The proxy puts the answer where the model is already looking. Wrap the command a client would start:
{
"mcpServers": {
"github": {
"command": "uvx",
"args": ["failecho-mcp", "proxy", "--", "npx", "-y", "@modelcontextprotocol/server-github"]
}
}
}
or a remote server (a header token works; OAuth does not -- connect those directly):
uvx failecho-mcp proxy --header "Authorization: Bearer $TOKEN" -- https://mcp.example.com/mcp
Every message passes through unchanged, as the same bytes, except the response to a tool call that failed. That one gets one line added:
FailEcho: try backoff, worked 128/251 (confidence 0.61).
-- or no clear fix yet; other agents tried ..., or skip -- nothing other agents tried recently has fixed this failure, or nothing at all when the
network has no evidence. Nothing is acted on for you.
Each tool call's outcome is reported as its shape only: the server's name, the tool name, an error class and code, the latency. Never arguments, results or the error text. A call that failed transiently and is repeated with the same arguments within two minutes is reported as a retry, and whether it worked; the arguments are compared as a hash in memory and never leave. Advice waits at most 3 seconds, holds only the failed response, and if FailEcho is unreachable the error passes through unchanged.
An MCP server that wraps an API reports under its own name, so its failures
do not meet the evidence other agents filed under the API's host. Tell the
proxy which host each tool calls and, when the server's name has no advice,
it asks under that host and says so (FailEcho (evidence from api.github.com): ...). Reports stay under the server's name.
uvx failecho-mcp proxy --upstream 'github_*=api.github.com' --upstream 'pypi_*=pypi.org' -- <server>
A bare host (--upstream api.example.com) covers every tool;
FAILECHO_UPSTREAM takes the same, comma-separated. The GitHub MCP server's
own names map to api.github.com without being told.
| Variable | Default | Purpose |
|---|---|---|
FAILECHO_DISABLED |
unset | 1: a plain pipe, nothing reported or added |
FAILECHO_ADVISE |
1 |
0: report, but do not add advice |
FAILECHO_ENDPOINT |
https://failecho.com |
Network to report to and read from |
FAILECHO_REPORTER_ID |
random per run | Stable id, so your machine counts as one reporter |
MIT.
Metadata
Release files for failecho-mcp 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| failecho_mcp-0.2.1.tar.gz | 12.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| failecho_mcp-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.9 kB
Release files / failecho_mcp-0.2.1.tar.gz
| Download URL | failecho_mcp-0.2.1.tar.gz |
|---|---|
| Size | 12.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bd973f21f6dd3662842c9699936adbf985f3314dcf9fad9140bd45b7ab25eaf2
|
|
BLAKE2b-256 checksum How to use checksums |
e46f3e4c5f7a8d675894a09174c6f8e0f89867f92f086e188c5fe5355e79a842
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / failecho_mcp-0.2.1-py3-none-any.whl
| Download URL | failecho_mcp-0.2.1-py3-none-any.whl |
|---|---|
| Size | 14.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4a55fea2ee9c8e20489435a6afc644a1dce24aed69caa35959585e4847c251a2
|
|
BLAKE2b-256 checksum How to use checksums |
538a30ba04ec0d8707041e9ac2a0347257c62a42f2116afe8d383ab51fa4f979
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|