jev-mcp
This server provides fast, typed decision tools (classify, score, check, gate, decide) for AI agents, acting as a 'fuzzy if' for routing, guardrails, and scoring.
jev_classify – pick one of up to 255 labeled options (routing, categorization, intent detection) with probabilities and confidence.
jev_score – rate input on an ordered 2–10 level scale (risk, urgency, quality) with full distribution.
jev_check – calibrated yes/no probability for gates, filters, guardrails (e.g., 'safe to auto-publish?').
jev_gate – risk-screen an action (shell command, edit) before running; returns risk score, production/data touch, and recommendation (allow/confirm/block).
jev_decide – combine multiple typed questions (choice/score/yes-no) in a single round trip for complex decisions.
Easy setup via npx with a Jev API key (hosted or official); works with any MCP client (Claude Code, Cursor, etc.).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jev-mcp Before running any destructive shell command, use jev_gate to check if it should be allowed."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
jev-mcp
An MCP server that gives any agent (Claude Code, Codex, Cursor, Pi, …) fast, typed, calibrated decisions from Jev, TypeSafe AI's System One model — classify, score, check yes/no, and gate risky tool calls, all as one API call under the hood.
🧪 Try Jev free in your browser (no waitlist): jevtypesafeai.com Independent playground & guide. Not affiliated with TypeSafe AI.
Jev doesn't write text — it reads your state and returns a choice, a score, or a
probability in 70–500 ms, for ~$0.0004 a decision. That makes it a great "fuzzy if"
inside the agent loop: routing, guardrails, scoring, filtering. jev-mcp exposes that as
plain MCP tools your agent can call.
Tools
Tool | What it does |
| Pick one of labelled options (routing, categorization, intent) |
| Rate the input on an ordered scale you define (risk, urgency, quality) |
| Calibrated yes/no probability (gates, filters, guardrails) |
| Risk-screen an action before it runs → |
| Full power: many typed questions in one round trip |
Related MCP server: jev-code
Install
You need a Jev API key. Two ways to get one:
Hosted (instant, no waitlist): buy prepaid credit at jevtypesafeai.com/pricing and you get a
jv_live_…key. NoJEV_BASE_URLneeded — the server detects ajv_live_key and routes it to the hosted gateway automatically.Official TypeSafe: get a key at console.typesafe.ai. It's used against
api.typesafe.aiby default.
⚠️ A hosted
jv_live_…key is only valid at the jevtypesafeai.com gateway, not atapi.typesafe.ai. Older versions of this server defaulted every key to the official endpoint, so a hosted key returned401 authentication_error. That's now automatic — just set your key.
Runs straight from GitHub with npx — no clone, no build.
Claude Code
claude mcp add jev -e TYPESAFE_API_KEY=your_key -- npx -y github:codaaiteam/jev-mcpAny MCP client (.mcp.json / config)
{
"mcpServers": {
"jev": {
"command": "npx",
"args": ["-y", "github:codaaiteam/jev-mcp"],
"env": { "TYPESAFE_API_KEY": "your_key" }
}
}
}That's it — your agent now has jev_classify, jev_score, jev_check, jev_gate, jev_decide. Works with a hosted jv_live_… key or an official TypeSafe key; the endpoint is chosen for you.
Once this is on npm you can shorten
github:codaaiteam/jev-mcpto justjev-mcp.
Configuration
Env | Default | Notes |
| — | Your Jev key (aliases: |
| auto | Chosen from your key: a hosted |
|
| Pin a version (e.g. |
Examples
Guardrail a shell command before running it:
jev_gate({
action: "rm -rf ./dist && aws s3 sync ./build s3://prod-assets --delete",
context: "agent is deploying a frontend build"
})
→ { "recommendation": "confirm", "risk_score": 2.8, "touches_prod": true, ... }Route a request to the right model:
jev_classify({
state: "Refactor auth to multi-tenant SSO with SAML + SCIM, keep back-compat.",
instructions: "Which model tier should handle this?",
options: { fast: "trivial edits", balanced: "normal work", strong: "hard architecture" }
})
→ { "choice": "strong", "confidence": 0.99, "probabilities": { ... } }Check before auto-approving user content:
jev_check({ state: "<user comment>", instructions: "Is this safe to auto-publish?" })
→ { "probability": 0.12, "likely": false }How it works
Every tool is a thin wrapper over one Jev call — state + typed questions → typed answers.
The value is in where you call it (the agent-loop hook) and what you ask. Because the
answer type is fixed by the request, Jev can't hallucinate a format or emit an invalid type.
Links
▶️ Free playground & guide: https://jevtypesafeai.com
📖 What is Jev: https://jevtypesafeai.com/what-is-jev
🔌 API guide: https://jevtypesafeai.com/how-to-use
🌐 Ecosystem & gateways: https://jevtypesafeai.com/ecosystem
🏢 Official: https://typesafe.ai · Docs: https://docs.typesafe.ai
📚 More projects: awesome-jev
License
MIT. "Jev", "System One" and "TypeSafe AI" belong to their respective owners.
Available Tools
5 toolsjev_checkCheck (yes/no probability)A
Answer a yes/no question about the state as a calibrated probability from 0 to 1. Use for gates, filters, and guardrails (e.g. 'Is this safe to auto-approve?').
Inputs: state (required), instructions (required).
jev_classifyClassify (choice)A
Pick exactly one of up to 255 labelled options for the given state. Returns the winning option, per-option probabilities, and a confidence. Use for routing, categorization, intent detection.
Inputs: state (required), options (required), instructions (required).
jev_decideDecide (multiple typed questions)A
The full Jev call: send a state and a map of typed questions, get all answers in one round trip. Each question is { type: 'choice'|'score'|'noul', instructions, criteria }. choice.criteria is a {key:desc} map; score.criteria is an ordered string array; noul has no criteria.
Inputs: state (required), questions (required).
jev_gateGate a risky actionA
Screen an action (e.g. a shell command or file edit) before an agent runs it. Returns a risk score, whether it touches production/data, and a recommendation: allow / confirm / block.
Inputs: action (required), context.
jev_scoreScore (ordered scale)A
Place the state on an ordered 2–10 level scale you define. Returns a (possibly fractional) score and the full distribution. Use for risk, urgency, quality, severity, fit.
Inputs: state (required), levels (required), instructions (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool targets a distinct decision primitive: categorical selection, ordinal scoring, binary yes/no, action screening, and a combined multi-question call. The only mild ambiguity is that jev_decidee is a superset of the individual question types, and jev_checck and jev_gate both deal with safety-related decisions, but their outputs are clearly different.
All tools follow the same jev_<verb> convention with lowercase snake_case names and no mixed styles. The verb choice is consistent with each tool's single responsibility, making the set predictable.
Five tools is a well-scoped size for this server: four primitives plus one combined/everytive endpoint. Each tool earns its place and there is no padding or bloat.
The suite covers the visible decision types (choice, score, yes/no, gate) and the decide tool adds a batched path that also supports the noul type. There are no obvious dead ends or missing operations for the stated purpose.
Maintenance
Related MCP Connectors
Calibrated judgments for text: yes/no probabilities, picks from your options, or scores.
Typed AI decisions for agents: classify, route, screen evidence, score and batch-label text.
Typed-question decisions from Jev: classify, moderate, route models and guard tool calls.
Pre-execution governance for AI agents. Deterministic PASS/FAIL/REVIEW verdicts, replayable proof.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables typed, calibrated judgment calls through classify, score, check, and batched ask tools, each returning full probability distributions for programmatic decisions.5243 npm7MIT
- AlicenseNot gradedqualityBmaintenanceProvides coding agents with typed classification, yes/no checks, scoring, ranking, and question-answering tools that return calibrated probabilities for fast, reliable decisions.686 npm58MIT
- AlicenseAqualityCmaintenanceEnables agents to call typed code-review and content-moderation decision tools, returning structured verdicts, probabilities, and confidence-gated actions.2MIT
- AlicenseAqualityBmaintenanceProvides fast, offline typed decision tools (classify, score, check, triage) to agents via the Model Context Protocol, enabling safe local inference across 100+ languages with calibrated confidence and no text generation.864 PyPIMIT