mcpField
R
RECOVER — Decide Safely After a Failed Machine Action

RECOVER — Decide Safely After a Failed Machine Action

Remote
github.comAI & Agents0Updated 6w ago

About RECOVER — Decide Safely After a Failed Machine Action

RECOVER is a deterministic decision API for agents, MCP clients, automations, and backend systems after a machine action fails. It selects a next step from six options, including retrying, verifying, escalating, or aborting.

Key features

  1. 01Chooses among six failure-response actions
  2. 02Considers status, error, attempt, and side effects
  3. 03Flags ambiguous outcomes and retry risks
  4. 04Offers REST and MCP interfaces

Use cases

  1. 01Assess a timed-out payment before retrying
  2. 02Choose a response to rate limits or malformed requests
  3. 03Handle uncertain outcomes in API and workflow actions

MCP support

The MCP server exposes `recover_decide`, which returns a recommended next action based on failure context.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://recover-api-production-bbba.up.railway.app/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

1
ParameterTypeRequiredDescription
errorstringNoShort failure/error message.
methodstringNoHTTP/action method when known, e.g. GET, POST, PATCH, DELETE.
statusnumberNoFailure HTTP/status code when available.
attemptnumberNoCurrent attempt number.
headersobjectNoRelevant response headers such as Retry-After.
sideEffectbooleanNoTrue if the failed action could create, modify, send, charge, delete, or otherwise change external state.
maxAttemptsnumberNoMaximum allowed attempts if known.
idempotencyKeybooleanNoTrue if a valid idempotency key protects a retry.
providerRetryablebooleanNoTrue only when the provider explicitly marks the failure retryable.
uncertainExecutionbooleanNoTrue when it is unknown whether the action completed before the failure became visible.

Details

From the project README

RECOVER

A failed machine action happened. What should happen next?

RECOVER is a tiny deterministic decision API for AI agents, MCP clients, automations, and ordinary backend systems. It converts failure context into one of six actions:

RETRY_NOW · WAIT · REPAIR_REQUEST · VERIFY_FIRST · ESCALATE · ABORT

Use it immediately after a failed API/tool/action and before an automatic retry—especially for side-effecting operations, ambiguous timeouts, rate limits, malformed requests, exhausted retry budgets, and uncertain execution outcomes.

Live production

Base URL: https://recover-api-production-bbba.up.railway.app

MCP Streamable HTTP endpoint: https://recover-api-production-bbba.up.railway.app/mcp

Activity dashboard: https://recover-api-production-bbba.up.railway.app/activity

Safe demo: https://recover-api-production-bbba.up.railway.app/demo

REST

POST https://recover-api-production-bbba.up.railway.app/v1/recover

{
  "method":"POST",
  "status":503,
  "error":"upstream timeout",
  "attempt":1,
  "sideEffect":true,
  "idempotencyKey":false
}

Example response:

{
  "decision":"VERIFY_FIRST",
  "retry":false,
  "risk":"high",
  "reason":"A side-effecting non-idempotent action may have completed before the failure became visible.",
  "next":"Verify external state or obtain an idempotency key before retrying."
}

MCP

Tool: recover_decide

Point an MCP client at:

https://recover-api-production-bbba.up.railway.app/mcp

The server is designed for machine discovery and includes server.json metadata for the official MCP Registry.

Why call RECOVER?

Retry libraries answer how to retry. RECOVER answers the more important question first: what is the safest next action after this specific failure?

Good call sites include API clients, AI agents, browser automations, workflow engines, MCP hosts, job runners, payment/order flows, and any system where blindly retrying can duplicate a side effect or amplify a failure.

Analytics

GET /activity displays durable, privacy-safe usage telemetry and a permanent FIRST 10 REAL-WORLD STRANGER CONVERSIONS scoreboard. Real-use events are stored separately so discovery traffic cannot push milestones out of history. Raw IPs and request payloads are not stored.

Deploy

The repo is Railway-ready with Dockerfile and railway.toml. Mount a persistent volume at /data so the permanent real-use ledger survives restarts.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.