RECOVER — Decide Safely After a Failed Machine Action
RemoteAbout 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
- 01Chooses among six failure-response actions
- 02Considers status, error, attempt, and side effects
- 03Flags ambiguous outcomes and retry risks
- 04Offers REST and MCP interfaces
Use cases
- 01Assess a timed-out payment before retrying
- 02Choose a response to rate limits or malformed requests
- 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.
https://recover-api-production-bbba.up.railway.app/mcpclaude mcp add --transport http gsterlingpress-recover https://recover-api-production-bbba.up.railway.app/mcp{"mcpServers":{"gsterlingpress-recover":{"type":"http","url":"https://recover-api-production-bbba.up.railway.app/mcp"}}}Open in Cursor{"servers":{"gsterlingpress-recover":{"type":"http","url":"https://recover-api-production-bbba.up.railway.app/mcp"}}}Open in VS Code{"mcpServers":{"gsterlingpress-recover":{"type":"http","url":"https://recover-api-production-bbba.up.railway.app/mcp"}}}{"mcpServers":{"gsterlingpress-recover":{"serverUrl":"https://recover-api-production-bbba.up.railway.app/mcp"}}}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| Parameter | Type | Required | Description |
|---|---|---|---|
| error | string | No | Short failure/error message. |
| method | string | No | HTTP/action method when known, e.g. GET, POST, PATCH, DELETE. |
| status | number | No | Failure HTTP/status code when available. |
| attempt | number | No | Current attempt number. |
| headers | object | No | Relevant response headers such as Retry-After. |
| sideEffect | boolean | No | True if the failed action could create, modify, send, charge, delete, or otherwise change external state. |
| maxAttempts | number | No | Maximum allowed attempts if known. |
| idempotencyKey | boolean | No | True if a valid idempotency key protects a retry. |
| providerRetryable | boolean | No | True only when the provider explicitly marks the failure retryable. |
| uncertainExecution | boolean | No | True when it is unknown whether the action completed before the failure became visible. |
Details
From the project READMERECOVER
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
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.