Failshare

io.github.CloudCorpRecords由 GitHub 帳號 CloudCorpRecords 發布v0.1.0更新於 Nov 7, 2026

Shared failure knowledge for agents: check known tool failures, report failures and outcomes.

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

連接 FailEcho 共享故障知識庫的在地橋接服務,讓助理查詢已知的工具故障,並回報失敗、成功與復原結果。

可以做什麼
  • 查詢其他代理對某個工具、API 或 MCP 呼叫故障的已知情況:狀態、計數、各復原動作的成功率及一項建議
  • 回報失敗的呼叫,包含服務、操作及選用的錯誤中繼資料,方便他人辨識
  • 回報成功的呼叫,為失敗率提供分母
  • 依指紋回報復原動作(重試、等待、重新整理 schema、重新連線、改用備援、重新驗證)是否奏效
  • 每個工具也可作為命令列子命令,接收一個 JSON 參數字串
適用情境
適合助理使用容易間歇性失敗的第三方工具或 API 時,在盲目重試前參考共享經驗,並把自身結果回饋給該網路。
執行需求
透過 npx 或 Docker 映像以 stdio 在本機執行,不需帳號或金鑰。需要能連線上游端點(預設 FAILECHO_MCP_URL 覆寫)。選用的 FAILECHO_REPORTER_ID 會以 X-Reporter-Id 標頭送往上游。
安裝前請注意
回報內容會進入第三方共享網路,只應傳送故障中繼資料,切勿包含提示詞、工具參數、結果、標頭、Cookie、API 金鑰、權杖或電子郵件。設定 FAILECHO_REPORTER_ID 會讓每個上游請求都帶有固定識別碼。此橋接本身不保存資料,呼叫會原樣轉送上游。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Failshare,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

failshare

failshare is a small local bridge to FailEcho's hosted MCP server, a shared failure-knowledge base for agents. When a tool, API or MCP call fails, agents check what the network already knows about that exact failure before retrying blindly, and they report their own failures, successes and recovery outcomes so the next agent gets a better answer.

The bridge keeps no failure data and computes nothing of its own. It serves the upstream server's tool list locally, exactly as captured from the live endpoint, and forwards each tool call upstream, returning the result untouched.

Tools

  • check_tool_failure - ask what the network knows about a failure before retrying. Returns a status (HEALTHY / DEGRADED / MAJOR / INSUFFICIENT_DATA), counts, the recovery actions that worked with their success rates, and one recommendation. Required: service (the server's own name or API host) and operation (the tool or endpoint as the server names it). Optional context: error_type, error_message, error_code, version, schema_hash, reporter_id, and verbose for the full record instead of the compact answer.
  • report_tool_failure - report a failed call so others can recognise it. Required: service, operation. Optional: error_type, error_message, error_code, version, schema_hash, latency_ms and reporter_id. Send failure metadata only - never prompts, arguments, results, headers or keys; error text is normalised server-side.
  • report_tool_success - report that a call succeeded. Failure rates need the denominator: a network that only hears failures cannot tell broken from busy. Required: service, operation. Optional: version, schema_hash, latency_ms, reporter_id.
  • report_recovery_outcome - after acting on a failure (retry, wait, refresh_schema, reconnect, use_fallback, reauthenticate), report whether it worked; every recommendation is built from these. Required: fingerprint (from check_tool_failure or report_tool_failure), action, and successful. Optional: reporter_id.

Configuration

  • FAILECHO_MCP_URL (optional) - override the upstream endpoint. Defaults to https://failecho.com/mcp. (The override hook is this rebuild's own labelled reconstruction.)
  • FAILECHO_REPORTER_ID (optional) - when set, every upstream request carries an X-Reporter-Id: <value> header carrying the value. When it is not set, no such header is sent. (This forwarding is also a labelled reconstruction; the original surface was captured keyless.)

Forwarding mechanics

On the first tool call the client opens a streamable HTTP session with the upstream: a JSON-RPC initialize request (protocolVersion 2025-03-26, clientInfo name failshare), then a notifications/initialized notification, then the tools/call request carrying the caller's arguments unchanged. When the upstream answers initialize with an Mcp-Session-Id header, that value rides on every later request of the session, which is reused for the life of the process. Replies may arrive as plain JSON or as server-sent events; both are read.

Successful upstream results pass through verbatim, including any isError flag the upstream sets. Failures - a JSON-RPC error, a non-2xx status, an unreadable response, or a request that cannot be completed - come back as an isError result whose text starts with failshare error: (this rendering is this rebuild's own labelled reconstruction).

CLI

Each tool is also a subcommand taking one JSON argument string:

bash
npx @reneturcios/failshare check_tool_failure '{"service":"api.github.com","operation":"create_issue","error_type":"timeout"}'npx @reneturcios/failshare report_tool_failure '{"service":"api.github.com","operation":"create_issue","error_type":"validation_error"}'npx @reneturcios/failshare report_tool_success '{"service":"api.github.com","operation":"create_issue","latency_ms":42}'npx @reneturcios/failshare report_recovery_outcome '{"fingerprint":"0123456789abcdef0123456789abcdef","action":"refresh_schema","successful":true}'npx @reneturcios/failshare --version

Exit codes: 0 on success, 1 on an isError result, 2 on a usage error.

MCP server

bash
npx -y @reneturcios/failshare mcp

MCP client config:

json
{  "mcpServers": {    "failshare": {      "command": "npx",      "args": ["-y", "@reneturcios/failshare", "mcp"]    }  }}

Docker

bash
docker run -i ghcr.io/cloudcorprecords/failsharedocker run --rm ghcr.io/cloudcorprecords/failshare --version

The container's default command is mcp, so the first form is a stdio MCP server; any other arguments reach the CLI normally.

Development

bash
npm installnpm run buildnpm testnpm run dev

The test suite runs entirely against a stubbed JSON-RPC upstream - no live network calls.

License

MIT - see LICENSE.

來源:README.md,提交 dcbfa3a

工具

4

check_tool_failure

Check what the network knows about a tool failure

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.

輸入參數service必填verboseversionoperation必填error_codeerror_typereporter_idschema_hasherror_message

report_tool_failure

Report a failed tool call to the network

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.

輸入參數service必填versionoperation必填error_codeerror_typelatency_msreporter_idschema_hasherror_message

report_tool_success

Report a successful tool call to the network

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.

輸入參數service必填versionoperation必填latency_msreporter_idschema_hash

report_recovery_outcome

Report whether a recovery action worked

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.

輸入參數action必填successful必填fingerprint必填reporter_id

版本歷史

1
  1. v0.1.0最新Nov 4, 2026

評分

已滿足適用檢查項的 80%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。