RECOVER — Decide Safely After a Failed Machine Action について
RECOVERは、機械操作の失敗後に使う、エージェント、MCPクライアント、自動化、バックエンドシステム向けの決定論的なAPIです。再試行、確認、エスカレーション、中止など、6つの選択肢から次の行動を決めます。
主な機能
- 016種類の失敗対応から選択
- 02ステータス、エラー、試行回数、副作用を考慮
- 03不確かな結果と再試行リスクを判定
- 04RESTとMCPのインターフェースを提供
活用シーン
- 01タイムアウトした決済を再試行する前に評価
- 02レート制限や不正なリクエストへの対応を選択
- 03APIやワークフロー操作の不確かな結果に対処
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 は、AI エージェント、MCP クライアント、自動化システム、一般的なバックエンドシステム向けの、小規模で決定論的な意思決定 API です。失敗のコンテキストを、次の 6 つのアクションのいずれかに変換します。
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
次の URL を MCP クライアントに指定します。
https://recover-api-production-bbba.up.railway.app/mcp
このサーバーはマシンによる検出を想定して設計されており、公式 MCP Registry 向けの server.json メタデータを含みます。
RECOVER を呼び出す理由
リトライライブラリが答えるのは、どのようにリトライするかです。RECOVER がまず答えるのは、より重要な問い、つまりこの特定の失敗の後に取るべき、最も安全な次のアクションは何かです。
適切な呼び出し元には、API クライアント、AI エージェント、ブラウザー自動化、ワークフローエンジン、MCP ホスト、ジョブランナー、決済/注文フローのほか、無条件のリトライによって副作用が重複したり、障害が拡大したりする可能性のあるあらゆるシステムが含まれます。
分析
GET /activity では、永続的でプライバシーに配慮した利用状況テレメトリーと、恒久的な 実世界で初めて利用した外部ユーザー 10 人のスコアボードを確認できます。実利用イベントは別に保存されるため、検出目的のトラフィックによってマイルストーンが履歴から押し出されることはありません。生の IP アドレスやリクエストペイロードは保存されません。
デプロイ
このリポジトリは Dockerfile と railway.toml を備えており、Railway ですぐに利用できます。再起動後も実利用の永久台帳を保持できるよう、/data に永続ボリュームをマウントしてください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。