mcpField
R
RECOVER — Decide Safely After a Failed Machine Action

RECOVER — Decide Safely After a Failed Machine Action

远程服务
github.comAI 与智能体06 周前更新

关于 RECOVER — Decide Safely After a Failed Machine Action

RECOVER 是面向 Agent、MCP 客户端、自动化和后端系统的确定性决策 API,用于处理机器操作失败。它从六种后续行动中作出选择,包括重试、验证、升级处理或中止。

主要功能

  1. 01从六种失败处理行动中选择
  2. 02依据状态码、错误、尝试次数和副作用判断
  3. 03标记结果不明与重试风险
  4. 04提供 REST 和 MCP 接口

适用场景

  1. 01重试前评估超时的付款操作
  2. 02选择应对限流或请求格式错误的方式
  3. 03处理 API 和工作流操作中的不确定结果

MCP 相关

MCP 服务提供 `recover_decide`,根据失败上下文返回建议的后续行动。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://recover-api-production-bbba.up.railway.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

1
参数类型必填说明
errorstring否简短的失败/错误消息。
methodstring否已知时填写 HTTP/操作方法,例如 GET、POST、PATCH、DELETE。
statusnumber否可用时填写失败的 HTTP/状态代码。
attemptnumber否当前尝试次数。
headersobject否相关响应标头,例如 Retry-After。
sideEffectboolean否如果失败的操作可能创建、修改、发送、扣费、删除或以其他方式更改外部状态,则为 True。
maxAttemptsnumber否已知时填写允许的最大尝试次数。
idempotencyKeyboolean否如果有效的幂等键可保护重试,则为 True。
providerRetryableboolean否仅当提供方明确将该失败标记为可重试时,才为 True。
uncertainExecutionboolean否当无法确定操作是否已在故障显现前完成时为 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 挂载持久卷,以便永久的真实用户使用记录在重启后仍然保留。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。