Skip to content

com.runvouch/runvouch

by runvouch.com · remote · no sign-in to list tools · v0.3.4 · published by com.runvouch

Watchdog for unattended AI agents: alerts, evidence checks and a verifiable proof per run.

Changes · 6

7 tools: 6 change things and 1 only read.

Scanned Oct 21, 2026

3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http runvouch https://api.runvouch.com/mcp --header 'X-API-Key: <your-x-api-key>'

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • The server marks "runvouch_alerts" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true}; The description's first verb is "open": a word for a change.

    What this check looks for
  • The server marks "runvouch_runs" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true}; The name "runvouch_runs" says "run": a word for a change.

    What this check looks for
  • The server marks "runvouch_run_proof" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true}; The name "runvouch_run_proof" says "run": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

7 tools

Changes things 6Claude Code: ask
  • runvouch_ackAcknowledge an alert by id.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Acknowledge an alert by id.
  • runvouch_alertsOpen (un-acknowledged) alerts: MISSED, FAILED, NO_EVIDENCE, BUDGET_RUN, BUDGET_DAY, RETRY_STORM, DRIFT, STALLED.1 finding

    Why it is in this group

    • The description's first verb is "open": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "runvouch_alerts" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true}; The description's first verb is "open": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Open (un-acknowledged) alerts: MISSED, FAILED, NO_EVIDENCE, BUDGET_RUN, BUDGET_DAY, RETRY_STORM, DRIFT, STALLED.

    Annotations the server declares

    • readOnlyHint: true
  • runvouch_run_endReport that a run ended, with status and evidence dict (name -> bool or {type:'url',url}).No findings

    Why it is in this group

    • The name "runvouch_run_end" says "run": a word for a change.
    Description, as the server wrote it
    Report that a run ended, with status and evidence dict (name -> bool or {type:'url',url}). Green run without evidence alerts.
  • runvouch_run_proofTamper-evident proof of a finished run: hashed record, Merkle path, day root, chain hash and OpenTimestamps status.1 finding

    Why it is in this group

    • The name "runvouch_run_proof" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "runvouch_run_proof" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true}; The name "runvouch_run_proof" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Tamper-evident proof of a finished run: hashed record, Merkle path, day root, chain hash and OpenTimestamps status. Verify offline with templates/verify_proof.py.

    Annotations the server declares

    • readOnlyHint: true
  • runvouch_run_startReport that a run of `agent` started.No findings

    Why it is in this group

    • The name "runvouch_run_start" says "run": a word for a change.
    Description, as the server wrote it
    Report that a run of `agent` started. Returns run_id.
  • runvouch_runsRecent runs of one agent.1 finding

    Why it is in this group

    • The name "runvouch_runs" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "runvouch_runs" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true}; The name "runvouch_runs" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Recent runs of one agent.

    Annotations the server declares

    • readOnlyHint: true
Only reads 1Claude Code: allow
  • runvouch_statusHealth of all watched agents: state (ok/alert/failed/unproven/running/waiting), last run, 24h cost, open alerts.No findings

    Why it is in this group

    • The name "runvouch_status" says "status": a word for reading.
    Description, as the server wrote it
    Health of all watched agents: state (ok/alert/failed/unproven/running/waiting), last run, 24h cost, open alerts.

    Annotations the server declares

    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.3.4. Values in angle brackets are yours to fill in.

claude mcp add --transport http runvouch https://api.runvouch.com/mcp --header 'X-API-Key: <your-x-api-key>'

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__runvouch__runvouch_status"
    ],
    "ask": [
      "mcp__runvouch__runvouch_alerts",
      "mcp__runvouch__runvouch_ack",
      "mcp__runvouch__runvouch_runs",
      "mcp__runvouch__runvouch_run_start",
      "mcp__runvouch__runvouch_run_end",
      "mcp__runvouch__runvouch_run_proof"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as runvouch. Review it before you use it.