Jev in Claude Code
Give Claude Code a decision primitive. Instead of asking the model to "decide" in free text, the Jev skill lets it call a typed, calibrated choice / score / noul — for routing, risk gates, scoring and classification — in one fast call.
Every example needs a jv_live_ key. Grab one on the pricing page, export it as JEV_API_KEY, and you're ready. Get a key →
Claude Code is great at writing and reasoning, but agents still have to make hundreds of small, structured decisions along the way: which file to touch, whether an action is risky, how to categorize an input, when to stop. Left to free-text reasoning, those decisions are slow, inconsistent, and hard to branch on in code. Jev turns each one into a typed, calibrated call the agent can trust and act on — so Claude Code spends its tokens on the work, not on re-deriving a yes/no it already reasoned about a moment ago.
Install the skill
The Jev agent skill installs as a Claude Code plugin. It teaches the agent when and how to call the hosted Jev Decision API for typed decisions, and ships the endpoint and auth details so you don't wire anything by hand.
claude plugin marketplace add codaaiteam/jev-skill
claude plugin install jev@jev-skillThat's it — set JEV_API_KEY in your environment and the agent can start calling Jev inside any session.
Or add it as an MCP server
Prefer MCP tools over a skill? The open jev-mcp server exposes Jev's classify / score / check / gate / decide primitives as MCP tools any agent can call:
claude mcp add jev -- npx -y github:codaaiteam/jev-mcp
# set your key once: export JEV_API_KEY=jv_live_...
# jev-mcp auto-routes jv_live_ keys to the hosted gateway — no extra configThe difference is scope. The skill teaches Claude Code good judgement about when to reach for a decision and how to phrase it; the MCP server just exposes the raw primitives as callable tools. Most people start with the skill and add the MCP server if they want the agent to call Jev on its own initiative mid-task.
What the agent can now do
- Route: pick one of your labels for an incoming request (choice).
- Gate a tool call: allow / confirm / block before running something risky (choice or noul).
- Score: rate quality, risk or priority on an ordered scale (score).
- Check: a calibrated yes/no with a probability behind it (noul).
Each returns a typed value with per-option probabilities in ~70–500ms, so the agent acts on a number it can threshold rather than a sentence it has to re-parse. And because the answer is calibrated — trained with RLCD to return honest probabilities — a threshold like "only auto-run if risk < 0.2" means what it says instead of tracking a number that drifts between model versions.
A concrete example
Say Claude Code is about to run a shell command it generated. Before executing, it asks Jev to gate the action: a noul question "is this destructive or irreversible?" plus a choice of allow / confirm / block. If the probability of "destructive" is high, the agent pauses and asks you; if it's low, it proceeds. That single gate turns an agent that occasionally does something scary into one that escalates the scary 2% and flies through the safe 98% — without a slow LLM round-trip for every command.
FAQ
Do I need a paid key to use Jev in Claude Code?
Yes — the model runs on TypeSafe's hosted infrastructure, so you need a jv_live_ key. You can try the same decisions for free in the browser playground first, then grab a key on the pricing page and set it as JEV_API_KEY.
Skill or MCP server — which should I use?
Start with the skill: it teaches Claude Code when to make a typed decision and how to phrase it. Add the jev-mcp server if you also want the raw classify/score/check/gate primitives exposed as callable MCP tools the agent can invoke on its own.
Does the Jev skill work in Cursor, Codex or OpenCode too?
Yes. The same jev-mcp server is a standard MCP server, so it works in any MCP client. See the agent-skill page for a universal install string, or the OpenCode guide for that specific setup.
Why not just let Claude decide in plain text?
You can, but it's slower, uninspectable, and hard to branch on reliably. Jev returns a typed value with a calibrated probability, so your code (or the agent) can threshold it directly and stay consistent across runs and model versions.
See also: Agent skill (all clients) · OpenCode integration · Is Jev open source?
Try Jev before you wire it in
Run a real, typed decision in the browser — free, no signup — then drop your key into the example above.