Skip to content

Toolgate — RiskAverseTech

A calibrated tool-call firewall for coding agents: seven typed risk questions plus one question about whether the task authorized the call decide whether a Bash, Write or MCP action runs, asks, or is denied.

Stars
22
Language
TypeScript
License
MIT
Published by
Community
Author
RiskAverseTech
Last verified
Oct 2026

RiskAverseTech/toolgate

Organization repository on GitHub

View on GitHub

Open auto mode for AI agents — a calibrated tool-call firewall powered by TypeSafe Jev. Ships as a Claude Code hook

Forks
1
Last pushed
Updated Oct 2026

Repo stats from the GitHub API, cached Oct 2026.

About this project

Open auto mode for AI agents. A calibrated tool-call firewall that runs as a Claude Code mod (or PreToolUse hook) or as an MCP proxy in front of any MCP server (Cursor, Claude Desktop, custom agents): before the agent runs a risky action, toolgate asks a decision model — TypeSafe's Jev, through its API directly, via OpenRouter's Decisions API, or via Vercel AI Gateway — seven questions and acts on the probabilities. It is the "permissions / approval" pattern TypeSafe's CEO describes in his public memo on a…

Quoted from the project's README. Read the full README.

Highlights

  • Runs three ways — a Claude Code mod, a PreToolUse hook, or an MCP proxy in front of any MCP client; run the mod or the hook, not both.
  • Linear-time static patterns run first with zero model calls, and ungated or read-only tools never load the AI SDK.
  • Task context comes from the latest prompt and the two before it, so a bare 'go ahead' does not authorize destruction.
  • fail_mode picks ask, deny or passthrough when the model is unreachable, and an internal error always answers ask.

Watch out

This is defense in depth, not a sandbox: the README says it shrinks the blast radius of mistakes and prompt injection but does not replace containers, least-privilege credentials or your own review, and that a sufficiently adversarial input can fool any classifier. An allow is advisory, since Claude Code's own deny rules and always-confirm list still apply on top. Defaults are deny at 0.85, ask at 0.55 and authorization at 0.8, and the soften logic has a subtlety worth reading: secret exposure, explicit prohibitions and reserved choices can never be softened by a task, yet an unsoftenable axis keeps its scored verdict, so a prohibition the model rates at ask level yields ask rather than deny. passthrough is offered as a fail mode and not recommended. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

Other listings of this project

Forks and copies of this project in the directory. This entry is the canonical one.

2GitHub stars
An agent tool and MCP call gate: paste a planned call plus its context and it returns allow, ask_human or deny with risk scores derived from a TypeSafe Jev decision call.
Jev Demos & Experiments#community#jevbest#catalog-import

More Jev resources like this

Starter kit putting Kinde identity plus Jev judgment in front of every agent tool call, with allow, hold-for-approval, or deny decided in code and written to a ledger first.
Jev Practices & Patterns#community#awesomejev#catalog-import
5GitHub stars
CLI and agent commands that audit a git diff hunk-by-hunk against editable YAML standards packs, with Jev answering typed questions and the agent fixing flagged lines.
Jev Practices & Patterns#community#awesomejev#catalog-import
Desktop paper-trading app for stocks and crypto where Jev answers narrow market questions each second and code turns the answers into orders under your stops and targets.
Jev Practices & Patterns#community#awesomejev#catalog-import
4GitHub stars
Design-time toolkit for using Jev from a coding agent, combining docs, a stdio MCP server, and an agent skill for decomposing judgments into Choice, Score, and Noul.
Jev Practices & Patterns#community#awesomejev#catalog-import
4GitHub stars
Hook-level gate for coding agents that watches tool use for grader tampering, hidden-test edits, and eval-process interference, steering toward checks that cannot be gamed.
Jev Practices & Patterns#community#awesomejev#catalog-import
3GitHub stars
Grades the coding agent sessions already sitting on your disk. Jevalyzer reads Claude Code, Codex CLI, opencode, Gemini CLI and Antigravity transcripts, scores each exchange, and renders an interactive HTML report or terminal dashboard.
Jev Practices & Patterns#community#awesomejev#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

Most Jev accuracy problems are state problems. What belongs in a state, what is a pre-made judgment to leave out, and why naming the slice you ask about matters more than the wording.
Jev Practices & Patterns#state#design#primitives
Read article
A Noul returns one number and no separate confidence. How to read the value, pin its boundary with criteria, split compound questions, and set a per-action threshold that matches the cost of being wrong.
Jev Practices & Patterns#noul#primitives#confidence
Read article
A Score is a weighted position, not a ruler. Why the number can land between levels, why levels are judged separately, and how to combine several atomic scores in code instead of one crowded rubric.
Jev Practices & Patterns#score#primitives#scoring
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai