mcpField
S
Snapback

Snapback

リモート
github.com/ra1labsworkx-wqAI・エージェント04 週間前に更新
リポジトリ

Snapback について

Snapback は OpenClaw エージェント向けのホスト型 MCP サーバー兼セルフヒールインターセプターです。インフラエラーを診断し、安全ゲートを通過した修正だけを再試行し、それ以外は人に引き継ぎます。

主な機能

  1. 01インフラエラーの診断
  2. 02ツール呼び出しの反復ループ検出
  3. 03トークン、ステップ、コンテキスト、コストの予算管理
  4. 04ゲートを通過した修正を適用して一度再試行
  5. 05安全でないケースや不確かなケースのエスカレーション
  6. 06トークン不要の無料ツール

活用シーン

  1. 01エージェントのインフラエラーを分類
  2. 02可逆的な修正を自動で再試行
  3. 03ステップ上限に達する前にループを検出
  4. 04破壊的な修正を人の確認に回す

MCP 対応

Snapback は Streamable HTTP 経由で MCP クライアントにツールを提供するリモートサーバーです。診断、ループ検出、予算管理などのツールを公開し、インターセプターはツールエラー後に診断ツールを呼び出せます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://api.snapback.sh/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

23
パラメーター型必須説明
traceobjectはいOTel形式のエージェントトレース

詳細

OpenClaw 用 Snapback 自動修復インターセプター

mcp-name: io.github.ra1labsworkx-wq/snapback

Snapback を自動化しましょう。 診断ツールを呼び出すことを覚えておく代わりに、エージェントのツール呼び出しを一度ラップするだけで、すべてのエラーが自動で診断され、安全性が確認された修正が適用され、人手を介さずに再試行されます。

「強力なツールは任意ですが、インフラは不可欠です。」これにより、Snapback は必要なときに使うツールから、あらゆる障害で動作するインフラへと変わります。

MCP サーバーに接続する

Snapback はホスト型のリモート MCP サーバーです。ローカルで実行するものはありません。任意の MCP クライアント(Claude Code、 Cursor、Cline、VS Code、Windsurf)に追加できます。ほとんどのツールは無料で、トークンも不要です。

{
  "mcpServers": {
    "snapback": {
      "url": "https://api.snapback.sh/mcp"
    }
  }
}

エンドポイント:https://api.snapback.sh/mcp(Streamable HTTP、JSON-RPC 2.0)。次に tools/list(23 個のツール)を呼び出し、 diagnose_infra_error に {"error": "dns nxdomain servfail"} を渡して試してください。→ family: dns-tls と検証済みの修正が返されます。

ツール

無料(トークン不要):diagnose_infra_error、detect_loop、budget_guard、search_docs、what_others_did、 recommend_failover、cascade_root、suggest_budget_recovery、convert_trace、preflight、session_start、 session_step、session_end、discovery。

従量課金(無料のスタータートークンまたは x402):diagnose_trace、diagnose_batch、get_verdict、submit_feedback、 report_outcome、request_pattern、my_usage、my_impact、agent_memory。

  • diagnose_infra_error — 不明瞭なインフラエラーから、その種類と検証済みの修正を特定します(ライブラリーを優先し、約 150ms、該当時は LLM を使用しません)。46 種類に対応。
  • detect_loop — ステップ上限に達する前に、実行中のツール呼び出しの繰り返しループを検出します。
  • budget_guard — 実行中のトークン数、ステップ数、コンテキスト、コストの超過を検出します。
  • what_others_did — 障害の種類ごとに、複数のエージェント間で匿名化された対応結果を提示します。
  • diagnose_trace — 複数ステップにわたるトレース全体を診断します(従量課金)。

機能

すべてのツール呼び出しエラーに対して、インターセプターは次の処理を行います。

  1. diagnose_infra_error を呼び出します(無料、トークン不要、LLM 不使用、150ms 未満)。
  2. 3 要素ゲートを適用します。次のすべてを満たす場合に限り、修正を自動適用します。
    • confidence >= 0.85
    • source == "library"(LLM の推測ではなく、厳選された検証済みの修正)
    • auto_safe == true(修正が retry/refetch/config のいずれかで、元に戻せ、副作用がない)
  3. ゲートを通過した場合は、修正を適用して1 回だけ再試行します。通過しない場合は、判定結果をログに記録して人にエスカレーションします。mutate や destructive の修正(状態、金銭、認可権限の作成や変更)が自動適用されることはありません。

安全性を確信できない場合は動作せず、エスカレーションするフェイルクローズ方式です。

インストール

# no install needed beyond the stdlib; drop the file in, or:
cp snapback_interceptor.py your_agent/
export SNAPBACK_MCP=https://api.snapback.sh/mcp   # default; the free tools need no token

使用方法

from snapback_interceptor import SnapbackInterceptor

heal = SnapbackInterceptor(
    auto_apply=True,
    on_escalate=lambda v: my_ops_inbox.log(v),   # human sees non-auto-safe verdicts
    on_heal=lambda v: metrics.count("snapback.autoheal", family=v["family"]),
)

# wrap any call that might raise:
result = heal.run(call_solana_rpc, wallet, amount)

# or as a decorator:
@heal.guard
def call_solana_rpc(wallet, amount): ...

# or manually on a caught error:
verdict = heal.diagnose("BlockhashNotFound")
if verdict["gate"]["auto_apply_ok"]:
    ...apply verdict["fix"] and retry...

ゲートの契約(Snapback が返す内容)

diagnose_infra_error は {matched, family, fix, confidence, source, action_class, auto_safe, gate} を返します。 action_class は次のいずれかです。

class意味自動適用しても安全か
retryバックオフして再実行する(冪等)✅
refetch再取得/再価格設定/再同期してから再適用する✅
configクライアント側のパラメーターを変更する(max_tokens を増やす、中間証明書を提供する)✅(提案する場合)
mutate外部の状態、金銭、認可を作成または変更する❌ エスカレーション
destructive削除/元に戻す/取り消し不能な操作❌ 決して適用しない

多層防御(1.8.3): 元に戻せる分類の修正であっても、その説明に破壊的なコマンド(Pod の削除、キーのフラッシュ、テーブルの削除)が含まれている場合は、エスカレーションに格下げされます。ゲートは gate.contains_destructive_step を返すため、action_class にかかわらず、状態を破壊する手順が自動実行されることはありません。

gate.auto_apply_ok はそのまま使える判定結果です。古いクライアントが過信しないよう、インターセプターもローカルで判定し直します。

プライバシーと安全性

  • すべてクライアント側で処理します。無料の公開 diagnose_infra_error エンドポイントとのみ通信します。
  • 診断のために Snapback トークンを送信することはありません(診断は無料です)。
  • Snapback はサーバー側でトレースの内容をスクラブします。この処理で送信されるのは、渡したエラー文字列だけです。
  • bridge.py(事後分析の転送)と組み合わせて使えます。これはリアルタイムの自動修復レイヤーです。

ロードマップ

  • リトライ結果に対する submit_feedback(修正は機能しましたか?)→ 共有ライブラリに反映されます(ネットワーク効果)。
  • Hermes と LangChain のアダプター(同じゲートで、フレームワークのフックが異なります)。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。