jevguard-mcp
Zero-dependency Python MCP server where Jev gates shell commands, audits patches and resolves decisions, with SQLite caching.
Overview
JevGuard MCP is the MCP server for JevGuard, a zero-dependency deterministic guardrail and execution gate for AI coding agents built on TypeSafe's System One models. It exposes tools over JSON-RPC on stdio following the MCP 2024-11-05 specification, with a local SQLite cache in WAL mode. jevguard_evaluate_command_safety gates shell commands by asking Jev about boundary-destruction probability (Noul), blast radius (Score) and a policy recommendation (Choice), returning allow autonomous, require human approval or deny destructive. jevguard_verify_code_patch audits diffs for regressions, broken syntax or critical impact, returning approve, request changes or reject. jevguard_evaluate_decision resolves a choice among options with an automatically injected neutral escape, returning confident or ambiguous state.
The tools accept simple primitive arguments so calling LLMs do not have to construct nested question schemas, and legacy unprefixed names are aliased. Setup examples cover Claude Desktop, Cursor and LibreChat. It is published on PyPI and can be run without installation.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Should this shell command run autonomously, require human approval, or be denied? | ALLOW_AUTONOMOUS · REQUIRE_HUMAN_APPROVAL · DENY_DESTRUCTIVE |
| Yes / no | Could this command destroy data beyond its intended boundary? | — |
| Score | What is the blast radius of this command? | — |
| Choice | Should this patch be approved, have changes requested, or be rejected? | APPROVE · REQUEST_CHANGES · REJECT |
How it works
- Agent calls a jevguard tool with primitive arguments
- Server builds typed Jev questions (with escape option where needed)
- Cache results in local SQLite
- Return a verdict for the agent to follow
Strengths
- Simple tool arguments reduce schema errors
- Local caching
- Works with Claude Desktop, Cursor and LibreChat
Caveats
- Model-based patch audit is not a full security review
- Requires a TypeSafe key
Getting started
pip install jevguard-mcp, then configure `python -m jevguard_mcp.server` as an MCP server with TYPESAFE_API_KEY.At a glance
- Type
- MCP server
- Status
- beta
- Language
- Python
- Runtime
- MCP server
- Has code
- yes
Use cases and integrations
How curated lists describe it
Zero-dependency MCP server and Python runtime where Jev evaluates shell command safety, code patch regression risk, and discrete decision certainty, with local SQLite WAL caching and automatic closed-world escape injection.
cobanov/awesome-jev
Frequently asked questions
What does the command safety tool return?
ALLOW_AUTONOMOUS, REQUIRE_HUMAN_APPROVAL or DENY_DESTRUCTIVE.
Why simple arguments?
To keep calling LLMs from hallucinating complex nested question schemas.
Which clients are documented?
Claude Desktop, Cursor and LibreChat.
Related projects
Starter kit that gates every MCP tool call with Kinde identity checks plus Jev risk signals, then allows, holds for approval or stops it.
MCP serverbetaTypeScriptCLI and agent commands auditing a git diff against YAML standards packs, scoring each hunk with Jev so agents fix only flags.
Agent skillbetaTypeScriptCompiler that turns agent rules in CLAUDE.md and similar files into testable Jev programs: typed questions plus a coded verdict.
ProjectbetaTypeScriptBun-based MCP server wrapping Jev with compact answers and a code-computed act, review or abstain verdict.
MCP serverbetaTypeScriptGateway that checks agent tool calls with policy plus Jev evidence, then binds approval to a single-use permit for that exact action.
MCP serverbetaTypeScriptOpenJev for Claude Code: plugin and MCP server giving Claude jev_choice, jev_noul, jev_score and jev_ask tools on the live API.
MCP serverbetaTypeScript