Snapback
Diagnose why an AI agent failed and get the verified fix instantly. Free, no token.
Que pouvez-vous faire avec Snapback ?
- Calls
diagnose_infra_error(free, no token, no LLM, <150ms). - Applies the three-factor gate — auto-apply a fix only when all are true:
- If the gate passes → applies the fix and retries once. If it fails → escalates to a human (logs the
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
claude mcp add --transport http snapback 'https://api.snapback.sh/mcp'
{
"mcpServers": {
"snapback": {
"type": "http",
"url": "https://api.snapback.sh/mcp"
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
Snapback self-heal interceptor for OpenClaw
mcp-name: io.github.ra1labsworkx-wq/snapback
Make Snapback automatic. Instead of remembering to call the diagnosis tool, wrap your agent's tool calls once — and every error is auto-diagnosed, and gated-safe fixes are applied and retried without a human.
"Power tools are optional. Infrastructure is not." This turns Snapback from a tool you reach for into infrastructure that runs on every failure.
Connect the MCP server
Snapback is a hosted remote MCP server — nothing to run locally. Add it to any MCP client (Claude Code, Cursor, Cline, VS Code, Windsurf). Most tools are free and need no token.
{
"mcpServers": {
"snapback": {
"url": "https://api.snapback.sh/mcp"
}
}
}
Endpoint: https://api.snapback.sh/mcp (Streamable HTTP, JSON-RPC 2.0). Then call tools/list (23 tools) and try
diagnose_infra_error with {"error": "dns nxdomain servfail"} → family: dns-tls + a verified fix.
Tools
Free (no token): 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.
Metered (free starter token or x402): diagnose_trace, diagnose_batch, get_verdict, submit_feedback,
report_outcome, request_pattern, my_usage, my_impact, agent_memory.
- diagnose_infra_error — a cryptic infra error → its family + the verified fix (library-first, ~150ms, no LLM on a hit). 46 families.
- detect_loop — catch a repeating tool-call loop mid-run before the step limit.
- budget_guard — catch token / step / context / cost overruns mid-run.
- what_others_did — anonymized cross-agent outcomes for a failure class.
- diagnose_trace — full multi-step trace diagnosis (metered).
What it does
On any tool-call error, the interceptor:
- Calls
diagnose_infra_error(free, no token, no LLM, <150ms). - Applies the three-factor gate — auto-apply a fix only when all are true:
confidence >= 0.85source == "library"(a curated verified fix, not an LLM guess)auto_safe == true(the fix isretry/refetch/config— reversible, side-effect-free)
- If the gate passes → applies the fix and retries once. If it fails → escalates to a human (logs the
verdict). It never auto-applies a
mutateordestructivefix (create/change state, money, auth grants).
It fails closed: when unsure, it escalates rather than acting.
Install
# 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
Use
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...
The gate contract (returned by Snapback)
diagnose_infra_error returns {matched, family, fix, confidence, source, action_class, auto_safe, gate}.
action_class is one of:
| class | meaning | auto-safe? |
|---|---|---|
retry | re-run with backoff (idempotent) | ✅ |
refetch | re-fetch/re-price/re-sync then re-apply | ✅ |
config | client-side param change (raise max_tokens, serve intermediate cert) | ✅ (to suggest) |
mutate | creates/changes external state, money, auth | ❌ escalate |
destructive | deletes/reverts/irreversible | ❌ never |
Defense in depth (1.8.3): even a reversible-class fix is down-graded to escalate if its text contains a
destructive command (delete a pod, flush keys, drop a table). The gate returns gate.contains_destructive_step,
so a fix can never auto-run a state-destroying step regardless of its action_class.
gate.auto_apply_ok is the ready-made verdict; the interceptor also re-derives it locally so a stale client
can't over-trust.
Privacy & safety
- 100% client-side. Talks only to the free public
diagnose_infra_errorendpoint. - Never sends your Snapback token for the diagnosis (diagnosis is free).
- Snapback scrubs trace content server-side; this sends only the error string you pass.
- Composes with
bridge.py(post-mortem forwarding) — this is the live auto-heal layer.
Roadmap
submit_feedbackon the retry outcome (did the fix work?) → feeds the shared library (the network effect).- Hermes + LangChain adapters (same gate, different framework hook).
Questions fréquentes
Qu'est-ce que Snapback ?
Diagnose why an AI agent failed and get the verified fix instantly. Free, no token.
Comment installer Snapback ?
Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http snapback 'https://api.snapback.sh/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Snapback ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
Snapback est-il open source ?
Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.
Qui maintient Snapback ?
Il est publié par ra1labsworkx-wq. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.