关于 RECOVER — Decide Safely After a Failed Machine Action
RECOVER 是面向 Agent、MCP 客户端、自动化和后端系统的确定性决策 API,用于处理机器操作失败。它从六种后续行动中作出选择,包括重试、验证、升级处理或中止。
主要功能
- 01从六种失败处理行动中选择
- 02依据状态码、错误、尝试次数和副作用判断
- 03标记结果不明与重试风险
- 04提供 REST 和 MCP 接口
适用场景
- 01重试前评估超时的付款操作
- 02选择应对限流或请求格式错误的方式
- 03处理 API 和工作流操作中的不确定结果
MCP 相关
MCP 服务提供 `recover_decide`,根据失败上下文返回建议的后续行动。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
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"}}}在 Cursor 中打开{"servers":{"gsterlingpress-recover":{"type":"http","url":"https://recover-api-production-bbba.up.railway.app/mcp"}}}在 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"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
1| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| error | string | 否 | 简短的失败/错误消息。 |
| method | string | 否 | 已知时填写 HTTP/操作方法,例如 GET、POST、PATCH、DELETE。 |
| status | number | 否 | 可用时填写失败的 HTTP/状态代码。 |
| attempt | number | 否 | 当前尝试次数。 |
| headers | object | 否 | 相关响应标头,例如 Retry-After。 |
| sideEffect | boolean | 否 | 如果失败的操作可能创建、修改、发送、扣费、删除或以其他方式更改外部状态,则为 True。 |
| maxAttempts | number | 否 | 已知时填写允许的最大尝试次数。 |
| idempotencyKey | boolean | 否 | 如果有效的幂等键可保护重试,则为 True。 |
| providerRetryable | boolean | 否 | 仅当提供方明确将该失败标记为可重试时,才为 True。 |
| uncertainExecution | boolean | 否 | 当无法确定操作是否已在故障显现前完成时为 True。 |
详细介绍
RECOVER
机器操作失败了。接下来该怎么办?
RECOVER 是一个精简、确定性的决策 API,适用于 AI Agent、MCP 客户端、自动化流程和普通后端系统。它会将失败上下文转换为以下六种操作之一:
RETRY_NOW · WAIT · REPAIR_REQUEST · VERIFY_FIRST · ESCALATE · ABORT
在 API/工具/操作失败后、自动重试前立即调用,尤其适用于有副作用的操作、结果不明确的超时、速率限制、格式错误的请求、重试预算耗尽以及执行结果不确定的情况。
线上生产环境
基础 URL:https://recover-api-production-bbba.up.railway.app
MCP Streamable HTTP 端点:https://recover-api-production-bbba.up.railway.app/mcp
活动仪表板:https://recover-api-production-bbba.up.railway.app/activity
安全演示: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
}
响应示例:
{
"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
工具:recover_decide
将 MCP 客户端指向:
https://recover-api-production-bbba.up.railway.app/mcp
该服务专为机器发现而设计,并包含供官方 MCP Registry 使用的 server.json 元数据。
为什么要调用 RECOVER?
重试库回答的是 如何重试。RECOVER 会先回答更重要的问题:针对这次具体的失败,下一步采取什么操作最安全?
适用的调用场景包括 API 客户端、AI Agent、浏览器自动化、工作流引擎、MCP 宿主、作业运行器、支付/订单流程,以及任何盲目重试可能导致副作用重复或故障扩大的系统。
分析
GET /activity 会显示持久化且不涉及隐私的使用遥测数据,以及永久的 前 10 位真实用户转化排行榜。真实使用事件会单独存储,因此发现流量不会将里程碑记录挤出历史数据。不会存储原始 IP 或请求负载。
部署
该仓库已支持 Railway,可使用 Dockerfile 和 railway.toml。在 /data 挂载持久卷,以便永久的真实用户使用记录在重启后仍然保留。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。