Panel Review

ai.truverifPublished by truverif.aiOfficial publisherv0.19.50Updated Nov 10, 2026

Guardian agent for AI coding: four frontier models review risky diffs and commits before they ship.

VerifiedStreamable HTTPWeb executableDeveloper ToolsAI & ML

Overview

AI-generated overview

Lets an AI coding assistant submit diffs and commits to a multi-model review panel and run local pre-commit review gates.

What you can do
Panel Review is a remote MCP server that gives coding agents multi-model review tools, such as audit_coding, which analyze the diff or context the agent explicitly submits. A companion installer adds local pre-commit and pre-write review gates that block risky commits and edits across Claude Code, Codex CLI, Cursor, VS Code/Copilot, Gemini CLI and Antigravity. The gates fail open: if the service is unreachable, the commit or write proceeds with a visible notice.
When to use it
Worth adding when you want an automated second opinion on risky code changes before they ship, and you use one of the supported agent hosts. It suits teams that want a review gate on commits and agent edits rather than relying only on manual review.
Requirements
A remote endpoint at over streamable HTTP, with an Authorization header carrying a Bearer API key obtained from the provider's settings page. The installer needs Node 18+ and Python 3 on the machine, and network access to the provider's API for login and gate checks.
Before you install
The Authorization header carries a Bearer API key; the installer stores a tvai_ key in a local config file and can write hooks and MCP entries into agent and repository configs. Gate checks send a hashed repo fingerprint, content hashes of changed hunks, and local classifier labels and scores to the provider, but not source code or file paths. Review tools send whatever diff or context the agent passes. Uninstall revokes the key server-side and exits nonzero if secret-bearing residue remains.

Installation

In SourceWeft

  1. Open Panel Review in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

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/ai.truverif%2Fpanel-review/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.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "panel-review": {
      "type": "http",
      "url": "https://mcp.truverif.ai/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

@truverifai/init

One command to connect your AI coding agents to TruVerifAI — multi-model review tools plus local pre-commit/pre-write review gates — on Claude Code, Codex CLI, Cursor (IDE + CLI), VS Code / GitHub Copilot, Gemini CLI, and Antigravity.

[The write gate blocking a risky auth change, live]

npx @truverifai/init          # plan -> one confirm -> browser login -> install gates + tools -> verifynpx @truverifai/init doctor   # re-verify anytime: gates armed, tools connected, key validnpx @truverifai/init logout   # remove the API key from every config this tool wrote

init shows a plan of everything it will write for your machine and asks once before touching anything. To scope or preview it:

npx @truverifai/init --dry-run              # print the plan, write nothingnpx @truverifai/init --only claude,codex    # install for these agents onlynpx @truverifai/init --skip gemini,hook,rules   # everything except thesenpx @truverifai/init --yes                  # non-interactive (CI): accept the plannpx @truverifai/init --version              # print the version, do nothing else

Agent names: claude, codex, copilot, vscode, cursor, gemini, antigravity; hook is the git pre-commit gate and rules the agent-rules blocks. Declining the prompt exits with nothing written. A flag init does not recognize also exits with nothing written (it never falls through to an install).

MIT-licensed. Zero runtime dependencies — this package is plain, unminified JavaScript and Python; npm pack @truverifai/init and read every line. There is no build step and no transitive supply chain.

See it in action

Requirements

  • Node 18+ — runs this installer, and every hook command it writes launches a gate via node <launcher> <host> <gate>.py. No node, no gates, on any host.
  • Python 3 (python3, or py on Windows) — the gate code itself.

npx @truverifai/init doctor checks both and names the missing one, rather than letting an absent runtime disable the gates silently.

Turning the gates off (and back on)

The review gates block risky commits and edits. One command controls all of them:

bash
npx @truverifai/init gates off       # stop every gate, everywherenpx @truverifai/init gates on        # turn them back onnpx @truverifai/init gates status    # what's on, and which setting decided it

(If you installed globally with npm i -g @truverifai/init, the same commands are available as the shorter tvai gates off. Plain npx does not leave a tvai binary on your PATH, so use the full form above unless you installed globally.)

This writes enable_gates to ~/.truverifai/config.json, which every delivery reads — the git pre-commit hook and the Codex, Cursor, Copilot, VS Code, Gemini and Antigravity hooks alike. The MCP review tools stay connected either way; only the automatic gating stops.

Two things worth knowing:

  • Claude Code no longer has its own toggle. enable_gates was removed from the plugin's settings panel (it could only ever reach Claude Code's own hooks — the X8 split), so this command is the single switch. One exception: a value stored in the panel before the removal may still be exported to Claude Code's hooks until you clear it; gates status calls that out and says how.
  • TVAI_ENABLE_GATES overrides everything. If you have it exported, gates on|off writes the file underneath it and has no effect until you unset it. gates status says so.

To remove the gates entirely rather than switch them off, see Removing it below.

What this installs, exactly

init runs as you, interactively: it prints the plan first, writes only after you confirm, and prints every file it touches. The complete list:

Its own home — ~/.truverifai/

  • config.json — your tvai_… API key (minted via browser device-flow login; this process never sees a password).
  • gates/current/ — the review-gate code (Python + a Node launcher), vendored from this package's vendor/ directory.
  • .nudge_state.json, gate_state/ — local rate-limit / state files.

Per detected agent (user-level; only for agents found on your machine)

  • Claude Code: the plugin's api_token option, and one permissions.allow entry (mcp__plugin_panel-review_truverifai) in ~/.claude/settings.json so Claude's auto-mode classifier permits the free gate-release calls. Additive merges only — the file is backed up first, never created, and never has anything removed.
  • Codex CLI: an MCP server block (between TRUVERIFAI markers) and [features] hooks = true in ~/.codex/config.toml; ~/.codex/hooks.json.
  • Cursor: ~/.cursor/hooks.json (gates) and ~/.cursor/mcp.json (tools).
  • Copilot CLI: ~/.copilot/mcp-config.json.
  • VS Code: your user mcp.json.
  • Gemini CLI: ~/.gemini/settings.json (tools entry).

Per repository (written in the repo you run init from, with a prompt)

  • .github/hooks/truverifai-gate.json + truverifai-vscode.json (Copilot CLI / VS Code gate hooks), .gemini/settings.json (Gemini hooks), .agents/hooks.json (Antigravity hooks).
  • Optional agent-rules blocks (marked TRUVERIFAI_RULES_START…END) in AGENTS.md / CLAUDE.md / GEMINI.md — you are asked first.
  • .git/hooks/pre-commit — the git gate, which catches commits made outside any agent (and is the one layer --no-verify makes an explicit, auditable act). Installed automatically when you run init inside a git repo. It is the only repo-scoped gate, so add it to other repos with cd <repo> && npx @truverifai/init hook. An existing pre-commit hook you wrote is never overwritten — init reports it and prints the line to add by hand.

logout strips the API key from every config listed above. Nothing is installed as a service, daemon, or startup item; the gates only run when your agent host invokes its hooks.

What leaves your machine

  • Login: a device-flow handshake with truverif.ai mints your API key in the browser.
  • Gate checks (on risky writes/commits): the gates POST to api.truverif.ai a hashed repo fingerprint (SHA-256 of your git remote URL or repo path — the raw path/URL never leaves the machine), content hashes of the changed hunks, and the local classifier's category labels and scores. Not your source code, and not your file paths (only coarse path-class tags like "test/docs").
  • Review tools (audit_coding etc.): send only what your agent explicitly passes when it invokes a review — that is the product: the diff/context you choose to submit is analyzed by multiple frontier models.
  • Update check: gate responses may include a "newer version available" note computed server-side against the public npm registry; the client sends only its own version string.
  • Diagnostics (TVAI_PAYLOAD_LOG) are local-only and opt-in — nothing is uploaded.

The gates fail open by design: if our server is unreachable or anything errors, your commit/write proceeds and a visible notice says the change was not gated. This tool never blocks your work on its own failure.

Verifying this package

The full source is public at github.com/TruVerifAI/init — every release is synced there. To verify a tarball by hand: npm pack @truverifai/init, extract, and diff against the repo — bin/tvai.js, lib/*.js, and vendor/gates/*.py are the entire runtime surface, dependency-free. The gate code (vendor/gates/) is also published at github.com/TruVerifAI/claude-plugins (plugins/panel-review/hooks/). Build provenance attestation (CI publish with cryptographic linkage to this repo) is the planned next step.

Removing it

bash
npx @truverifai/init uninstall

A complete removal, in one command:

  • Every hook config init wrote (Codex, Cursor, Copilot, VS Code, Gemini, Antigravity, and the git pre-commit hook), the vendored gate code under ~/.truverifai/, and the MCP server entries. Hook files you share with other tools are edited, not deleted — only our own entries are taken out, matched by marker.
  • Your API key, revoked server-side. Before deleting the local key file, uninstall calls the API to revoke the key itself, so any leaked or synced copy of it is dead. If the server is unreachable it says so and continues (the local removal never blocks on the network).
  • The plugin token in Claude's credential store — on a Mac this is the Keychain entry's panel-review value, edited in place (the Keychain item itself is Claude's and is left alone).
  • The .tvai-bak backups init made of shared config files — deleted only after the live file is verified clean; if a live file still contains our entries, its backup is kept and named as the restore source.

Uninstall is honest about failure: anything it could not remove is listed at the end under "needs your attention", and the command exits nonzero when secret-bearing residue remains (CI scripts that assumed exit 0 should check this). Silence means clean.

Uninstall also tries the host CLIs to remove the plugins init installed (claude plugin uninstall panel-review@truverifai, codex plugin remove panel-review@truverifai), best-effort: each attempt prints what happened, a failure never blocks the rest of the uninstall, and where no runnable CLI exists (the Claude desktop app) it prints the in-app step instead (+ button, then Plugins).

npx @truverifai/init logout is the lighter option: it clears the key (and our backups of files that held it) and the MCP entries but leaves the hooks installed. They then fail open for want of a key, and a later npx @truverifai/init login re-arms them.

Support

Source: README.md at commit 3192e15

Tools

0
This server asks for a credential such as an API key, so SourceWeft could not read its tools without one and has not indexed them.

Version history

6
  1. v0.19.50LatestOct 13, 2026
  2. v0.19.49Sep 23, 2026
  3. v0.19.48Sep 23, 2026
  4. v0.19.47Sep 18, 2026
  5. v0.19.46Sep 17, 2026
  6. v0.19.45Sep 16, 2026

Score

85% 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.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts