Jev Use

io.github.shitianfangPublished by GitHub account shitianfangv0.8.0Updated Oct 24, 2026

Typed yes/no, pick-one and score judgments from Jev in one batched call; typed escalation back.

VerifiedSTDIODesktop onlyDeveloper ToolsAI & ML

Overview

AI-generated overview

Local MCP server that sends batched yes/no, pick-one and score judgments to the Jev service, returning typed answers with confidence and escalation.

What you can do
  • Ask batched typed questions (check, pick, rate) and get answers with confidence and escalation flags
  • Route decisions away from the LLM so fast steps are judged by Jev instead of generated as text
  • Receive typed escalation reasons for anything Jev cannot or should not decide
  • Gate shell commands through a PreToolUse hook, denying dangerous ones with a reason
  • Strip credentials from a gated action before it is sent
  • Install, serve and diagnose the wiring through a CLI
When to use it
Useful when an agent runs many small decisions that need no written output — routing, pass/fail checks, risk ratings, command gating — and you want faster, cheaper steps than asking the LLM each time. Also usable as a library in your own scripts.
Requirements
Runs locally via npx from the npm package jev-use (Node.js). Needs one provider key in the agent's environment: TYPESAFE_API_KEY, OPENROUTER_API_KEY or AI_GATEWAY_API_KEY; JEV_BACKEND=mock gives a keyless local dry run. An install command wires Claude Code, Codex and pi.
Before you install
Judged state is sent to the configured third-party provider unless the mock backend is used. The command gate inspects shell commands, and credentials are stripped before sending, but review what state you pass in. The install command modifies agent configuration files.

Installation

In SourceWeft

  1. Open Jev Use in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

jev-use

English | 简体中文

The best way for Claude Code, Codex, and pi to work with Jev: hand the tasks that need no text output to Jev — faster steps, fewer tokens, tasks done sooner and better.

It makes the LLM and Jev true collaborators: when content needs to be written, the LLM takes over; when a step just needs a fast decision, Jev executes it.

Demos — real runs, 1× speed

Directions task: Jev clicks, the LLM types — 10 decisions (p50 274 ms) · 4 writes; Jev rejects a wrong route, the LLM rewrites
[OpenStreetMap directions: Jev picks controls in green, the LLM types the locations in blue; a wrong 1809km geocode is rejected by Jev and repaired by the LLM, ending on the real 3.7km walking route]
Context compaction — 200 messages judged in 7 calls, one LLM paragraph replaces the dropped pile; recall 3/3
[A real transcript fills the context window to 94%; Jev tints each message keep or drop, the LLM's summary paragraph replaces the dropped block, the window falls to 44% and three recall checks pass]
Pong: ball speed = decision latency — 86 Jev decisions in 20 s vs 6 (haiku) and 3 (gemini) called the usual way; enum-constrain both and the gap is 3×
[Three Pong lanes replaying a live run at 1x: the Jev ball sweeps the field at ~224ms per decision while the LLM balls crawl]
Gate every shell command — dangerous ones denied in ~230 ms with a reason, zero LLM tokens
[A 24-command dev session gated at 1x: dangerous commands denied at confidence 1.00, benign ones allowed]

Every demo is a rerunnable script in bench/examples/; all numbers, methodology, variance and caveats: bench/RESULTS.md · third-party measurements: docs/evidence.md.

Install

bash
npx -y jev-use install    # wires Claude Code, Codex, and pi — whichever it finds

Set one key in the environment your agent runs in (JEV_BACKEND=mock for a keyless dry run):

ProviderEnv var
TypeSafe directTYPESAFE_API_KEY
OpenRouterOPENROUTER_API_KEY
Vercel AI GatewayAI_GATEWAY_API_KEY

npx -y jev-use doctor checks the wiring. Judged state goes to the provider you configure; JEV_BACKEND=mock stays local. Plugin form with the routing skill and the PreToolUse gate: harness/claude-code · harness/codex.

Use as a library

npm i jev-use — zero runtime dependencies on the judgment path:

js
import { Jev, check, pick, rate } from "jev-use";
const jev = new Jev();
const { answers } = await jev.judge(state, {  next: pick("Next action?", { merge: "all green", rerun: "looks flaky", hold: "needs attention" }),  risk: rate("How risky?", ["routine", "worth a look", "incident"]),  passed: check("Did the run fully succeed?"),});// answers.next → { answer: "merge", confidence: 0.93, confidenceFrom: "reported", escalate: false }

Anything Jev can't or shouldn't decide comes back with escalate: true and a typed reason. Tools, verdict shape, escalation contract, CLI: docs/reference.md.

Small enough to read

FileJob
src/protocol.tsQuestions (check/pick/rate), verdicts, escalation reasons
src/dispatch.tsPre-call routing: what never reaches Jev
src/judge.tsscreen → backend → hand back what is unsure; gate
src/jev.tsThe Jev client over that engine
src/redact.tsCredentials stripped from a gated action before it is sent
src/backends/TypeSafe, OpenRouter, Vercel, mock adapters
src/server.tsThe two MCP tools
src/cli.tsinstall, serve, hook gate, doctor
skills/jev-use/SKILL.mdThe routing rules the agent follows

Development

console
$ npm run typecheck && npm test    # unit tests incl. per-provider wire fixtures$ npm run smoke                    # real MCP client ↔ built CLI over stdio$ node bench/run.mjs               # micro-benchmarks, your key and region

Substantially written with Claude Code (AI-assisted).

MIT © shitianfang

Source: README.md at commit 541c86c

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v0.8.0LatestSep 22, 2026
  2. v0.7.1Sep 20, 2026

Score

50% 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 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • 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