runvouch

MCP serverMonitoring & ops

runvouch watches AI agents that run unattended, so you know what they did without checking by hand. It sends alerts, checks the evidence behind each run, and produces a verifiable proof for every run. That makes it easier to let agents work on their own with a record you can verify.

Use runvouch in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add runvouch and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the runvouch status tool from runvouch

Details

Available today. Use it from your connected AI after setup.

After adding runvouch, follow the setup steps in its repository at github.com/runvouch/runvouch to start watching your agents.

runvouchStart free

What your AI can do with it

  • Send alerts about unattended agent runs
  • Check the evidence behind each agent run
  • Produce a verifiable proof for every run
  • Keep watch over agents that run on their own

Install runvouch

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user runvouch 'https://api.runvouch.com/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://api.runvouch.com/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=runvouch&config=eyJ1cmwiOiJodHRwczovL2FwaS5ydW52b3VjaC5jb20vbWNwIn0=

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://api.runvouch.com/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add runvouch --url 'https://api.runvouch.com/mcp'

    Run it once, then sign in with codex mcp login runvouch if the server asks for an account.

From the project's README

As published by runvouch/runvouch in README.md.

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.

pip install runvouch     # or: npm install -g runvouch  (zero-dependency client + rv CLI)
rv agent nightly-report --cadence 24h --cap-run-cost 2 --evidence
rv run nightly-report --evidence-file out/report.html -- claude -p "build tonight's report"

No client, no header: every agent also has a ping URL, so anything that can call a URL can report.

0 3 * * * /usr/local/bin/nightly.sh; curl -fsS -m 10 https://api.runvouch.com/ping/<token>/$?

Nothing for success, /start to open a run, /fail, or the exit code. rv agent NAME prints the URL.

Verifiable runs

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.

rv proof RUN_ID --verify     # recomputes leaf + Merkle path against the public day file, exit 0 or 1

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

Detectors

AlertMeaning
MISSEDexpected run never started (dead scheduler, expired auth, crash before first line)
FAILEDrun ended non-zero / status=fail
NO_EVIDENCErun said ok but required proof (file written, URL 200, assertion) is missing, green ≠ done
RETRY_STORMsame tool + identical input ≥ N times in one run (the invisible loop that costs $437)
BUDGET_RUN / BUDGET_DAYcost or tokens over the cap you set; the agent is paused and its next run is refused until rv agent NAME --resume
DRIFTduration / output size off its 7-run baseline (robust MAD), silently doing something else
STALLEDstarted, no end and no heartbeat past max runtime

Alerts go to e-mail, Telegram, Slack, any JSON webhook, PagerDuty (Team) and the dashboard.

Layout

runvouch/server.py            FastAPI + SQLite, all detectors, dashboard at /
runvouch/cli.py               `aw`, stdlib-only client: rv agent / rv run -- CMD / rv status / rv alerts
integrations/claude-code-plugin Claude Code plugin: SessionStart/PostToolUse/Stop hooks → RunVouch
integrations/mcp                MCP server (stdio): runvouch_status/alerts/ack/runs/run_start/run_end
site/index.html                 landing page
tests/                          7 detector tests (pytest)
docs/SELF_HOSTING.md            run it yourself: Docker or venv, what differs from hosted

Self-hosting

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).

cp .env.example .env && docker compose up -d          # or: pip install -r requirements.txt && ./run.sh
curl -X POST "localhost:8787/admin/accounts?name=me&plan=team" -H "X-Admin-Token: $RUNVOUCH_ADMIN_TOKEN"   # -> api_key

Use

export RUNVOUCH_KEY=rv_... RUNVOUCH_URL=http://localhost:8787
rv agent nightly-report --cadence 24h --cap-run-cost 2 --evidence
rv run nightly-report --evidence-file out/report.html -- claude -p "build tonight's report"
rv status ; rv alerts

Claude Code plugin: see integrations/claude-code-plugin/README.md. MCP: claude mcp add runvouch -e RUNVOUCH_KEY=... -- python3 integrations/mcp/runvouch_mcp.py

Test and contribute

.venv/bin/pip install -r requirements-dev.txt && .venv/bin/python -m pytest -q tests

See CONTRIBUTING.md.

Hosted vs self-host

Hosted at runvouch.com: free for 3 agents, $19 Solo, $99 Team, alerts, dashboard, backups, EU hosting. Self-host: this repo, MIT. Same code.

Compare

vs Healthchecks.io · vs Cronitor · vs Langfuse

License

MIT.

Tools it offers (7)

What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • runvouch_status
  • runvouch_alerts
  • runvouch_ack
  • runvouch_runs
  • runvouch_run_start
  • runvouch_run_end
  • runvouch_run_proof

Signals

Last commit
Oct 2026
Advanced
Delivery
runvouch MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
com-runvouch-runvouch
Source
github.com/runvouch/runvouch
Hosted endpoint
https://api.runvouch.com/mcp