Typed yes/no, pick-one and score judgments from Jev in one batched call; typed escalation back.
MCP Server: io.github.shitianfang/jev-use
This MCP server exposes functionality for “Jev” judgments, including typed yes/no and pick-one/score selections, executed in one batched call. It also supports typed escalation back, as described by the server’s name and description.
🛠️ Key Features
Typed yes/no judgments from Jev
Typed pick-one judgments with score-based handling
Batched call for submitting judgments
Typed escalation back
🚀 Use Cases
Collecting multiple Jev judgments efficiently in a single request
Handling selection flows that require typed yes/no and pick-one+score results
Returning escalation information in a typed form
⚡ Developer Benefits
One batched call for multiple Jev judgment inputs
Typed outputs for yes/no, pick-one, and escalation handling
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
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
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:
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.
$ 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).