runvouch_status
Health of all watched agents: state (ok/alert/failed/unproven/running/waiting), last run, 24h cost, open alerts.
Takes no parameters.

com.runvouchPublished by runvouch.comOfficial publisherv0.3.4Updated Nov 2, 2026
Watchdog for unattended AI agents: alerts, evidence checks and a verifiable proof per run.
RunVouch is a watchdog for unattended AI agents: an assistant can check agent health, read and acknowledge alerts, and report or verify runs.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/com.runvouch%2Frunvouch/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"runvouch": {
"type": "http",
"url": "https://api.runvouch.com/mcp",
"headers": {
"X-API-Key": "<YOUR_API_KEY>"
}
}
}
}The watchdog for unattended AI agents: proof they did the job, and an alert the moment they don't (or start spending), with a tamper-evident proof per run.
Claude Code Routines · headless claude -p · OpenClaw · n8n · cron
Website · Docs · Verify a run · Field notes · MCP Registry · Product Hunt
[PyPI] [npm] [GitHub Action] [MCP Registry] [Smithery] [License: MIT]
A green run means the scheduler worked, not that the task got done. RunVouch alerts within minutes when a scheduled agent is missing, failed, looping, over budget, drifting, or reported success without evidence.
No client, no header: every agent also has a ping URL, so anything that can call a URL can report.
Nothing for success, /start to open a run, /fail, or the exit code. rv agent NAME prints the URL.
Every finished run gets a sha256 record, every UTC day a Merkle root chained to the previous day and stamped in Bitcoin with OpenTimestamps. The day files are public at https://api.runvouch.com/proof/ and templates/verify_proof.py (stdlib only) checks a proof without our code. On every plan, Free included.
Check it yourself, no account: https://runvouch.com/verify hands you one real sealed run from our own fleet, recomputes every hash in your browser, and has a button that edits a field so you can watch it break.
Mechanism and limits: https://runvouch.com/docs/proof · who needs it: https://runvouch.com/verifiable-agent-runs
Alerts go to e-mail, Telegram, Slack, any JSON webhook, PagerDuty (Team) and the dashboard.
One process, one SQLite file, Docker or a venv. Full guide in docs/SELF_HOSTING.md (ten minutes, what differs from the hosted service, how to move later).
Claude Code plugin: see integrations/claude-code-plugin/README.md.
MCP: claude mcp add runvouch -e RUNVOUCH_KEY=... -- python3 integrations/mcp/runvouch_mcp.py
See CONTRIBUTING.md.
Hosted at runvouch.com: free for 3 agents, $19 Solo, $99 Team, alerts, dashboard, a nightly database backup on the server, EU hosting. Self-host: this repo, MIT. Same code.
vs Healthchecks.io · vs Cronitor · vs Langfuse
MIT.
Source: README.md at commit b1d9dbc
Health of all watched agents: state (ok/alert/failed/unproven/running/waiting), last run, 24h cost, open alerts.
Takes no parameters.
Open (un-acknowledged) alerts: MISSED, FAILED, NO_EVIDENCE, BUDGET_RUN, BUDGET_DAY, RETRY_STORM, DRIFT, STALLED.
Takes no parameters.
Acknowledge an alert by id.
alert_idrequiredRecent runs of one agent.
agentrequiredlimitReport that a run of `agent` started. Returns run_id.
agentrequiredsourceReport that a run ended, with status and evidence dict (name -> bool or {type:'url',url}). Green run without evidence alerts.
costrun_idrequiredstatustokensevidenceTamper-evident proof of a finished run: hashed record, Merkle path, day root, chain hash and OpenTimestamps status. Verify offline with templates/verify_proof.py.
run_idrequired100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
pip install runvouch # or: npm install -g runvouch (zero-dependency client + rv CLI)rv agent nightly-report --cadence 24h --cap-run-cost 2 --evidencerv run nightly-report --evidence-file out/report.html -- claude -p "build tonight's report"0 3 * * * /usr/local/bin/nightly.sh; curl -fsS -m 10 https://api.runvouch.com/ping/<token>/$?rv proof RUN_ID --verify # recomputes leaf + Merkle path against the public day file, exit 0 or 1runvouch/server.py FastAPI + SQLite, all detectors, dashboard at /runvouch/cli.py `rv`, stdlib-only client: rv agent / rv run -- CMD / rv status / rv alerts / rv proofintegrations/claude-code-plugin Claude Code plugin: SessionStart/PostToolUse/Stop hooks → RunVouchintegrations/mcp MCP server (stdio): runvouch_status/alerts/ack/runs/run_start/run_endsite/build.py generates the site into site/public/ (served by the same server)tests/ 123 tests (pytest, no network)docs/SELF_HOSTING.md run it yourself: Docker or venv, what differs from hostedcp .env.example .env && docker compose up -d # or: pip install -r requirements.txt && ./run.shcurl -X POST "localhost:8787/admin/accounts?name=me&plan=team" -H "X-Admin-Token: $RUNVOUCH_ADMIN_TOKEN" # -> api_keyexport RUNVOUCH_KEY=rv_... RUNVOUCH_URL=http://localhost:8787rv agent nightly-report --cadence 24h --cap-run-cost 2 --evidencerv run nightly-report --evidence-file out/report.html -- claude -p "build tonight's report"rv status ; rv alerts.venv/bin/pip install -r requirements-dev.txt && .venv/bin/python -m pytest -q tests