Skip to main content
Glama

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

jev_classify

Pick one of labelled options (routing, categorization, intent)

jev_score

Rate the input on an ordered scale you define (risk, urgency, quality)

jev_check

Calibrated yes/no probability (gates, filters, guardrails)

jev_gate

Risk-screen an action before it runs → allow / confirm / block

jev_decide

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. No JEV_BASE_URL needed — the server detects a jv_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.ai by default.

⚠️ A hosted jv_live_… key is only valid at the jevtypesafeai.com gateway, not at api.typesafe.ai. Older versions of this server defaulted every key to the official endpoint, so a hosted key returned 401 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-mcp

Any 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-mcp to just jev-mcp.

Configuration

Env

Default

Notes

TYPESAFE_API_KEY

—

Your Jev key (aliases: JEV_API_KEY, JEV_KEY). Required.

JEV_BASE_URL

auto

Chosen from your key: a hosted jv_live_… key → https://jevtypesafeai.com/api/v1/decide; anything else → https://api.typesafe.ai/v1/systemone. Set it explicitly to route through your own gateway (Vercel AI Gateway, OpenRouter, Cloudflare).

JEV_MODEL

jev-latest

Pin a version (e.g. jev-1.13.0) in production.

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.

License

MIT. "Jev", "System One" and "TypeSafe AI" belong to their respective owners.

Available Tools

5 tools
jev_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

    A4.2/5.0

    Scored across 5 tools

    Disambiguation4/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness5/5

    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

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Enables typed, calibrated judgment calls through classify, score, check, and batched ask tools, each returning full probability distributions for programmatic decisions.
      5
      243 npm
      7
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables agents to call typed code-review and content-moderation decision tools, returning structured verdicts, probabilities, and confidence-gated actions.
      2
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Provides 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.
      8
      64 PyPI
      MIT