Skip to content

jev (shaharia-lab)

Rust CLI for Jev: ask yes/no, choice and rubric questions about text and branch on exit codes, JSON or MCP tools.

MCP serverbeta

Overview

jev-cli by shaharia-lab is a community-built command-line tool for TypeSafe's Jev model, described as a semantic if statement for the terminal. You send some content and a question you define, get calibrated probabilities back, and branch on them in a shell script, a CI job or an AI agent. Answers come out as exit codes for shells and CI, JSON for scripts, and MCP tools for agents.

A distinctive feature is the exit code design: it separates a false answer from an answer that falls inside your abstain band, so a script can take a third branch and ask a person. It also lints the request before spending anything. The README's examples include triaging support tickets, routing incoming messages and moderating user content with borderline cases sent to people. It is published on crates.io with GitHub releases, and the README states clearly that it is unofficial and not affiliated with TypeSafe. A TypeSafe API key is required, and the README's cost figures are per-request estimates.

What the decision model decides

TypeQuestionAnswers
Yes / noUser-defined yes/no question about the input textyes · no
ChoiceUser-defined multiple-choice question—
ScoreUser-defined rubric question—

How it works

  1. Define a question and its answers
  2. Pass text with --state or from stdin
  3. Jev returns calibrated probabilities
  4. Branch on exit code, JSON or MCP tool output
  5. Route abstain-band answers to a person

Strengths

  • Exit codes distinguish no from unsure
  • Request linting before spending
  • Works in shells, CI and agents via MCP

Caveats

  • Unofficial community project
  • Requires a TypeSafe API key
  • Thresholds and abstain bands are yours to tune

Getting started

Install the jev-cli crate or a release binary, set your TypeSafe key, and run jev noul "Is this customer angry?" --state "..."

At a glance

Type
MCP server
Status
beta
Language
Rust
Runtime
CLI and MCP server
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

  • Command-line tool for TypeSafe AI's Jev model. Ask yes/no, multiple-choice and rubric questions about any text and get calibrated probabilities back. Answers become exit codes for shells and CI, JSON for scripts, and MCP tools for AI agents.

    hellogumbo/awesome-jev
  • Rust CLI whose exit codes separate a false gate from an answer inside your abstain band, so a script can take a third branch and ask a person. Lints the request before it spends anything.

    MrJev/awesome-jev

Frequently asked questions

What does Jev decide?

Whatever typed question you define: yes/no, multiple choice or a rubric score over your text.

How does a script handle uncertain answers?

A distinct exit code marks answers inside your abstain band, so the script can ask a person.

Is it official?

No. The README says it is community-built and not affiliated with TypeSafe.

Related projects

  • Composable Python toolkit for Jev: question builders, confidence gates, batch evaluator, calibration, CLI, MCP server and agent skill.

    MCP serverbetaPython
  • Go MCP server giving any client typed Jev decisions via OpenRouter or TypeSafe, with validated answers and no paid retries.

    MCP serverproductionGo
  • Unofficial hosted or local Jev MCP server giving agents a quick second opinion: it picks yes/no, scale or choice and returns probabilities.

    MCP serverbetaTypeScript
  • Rust CLI and library that asks Jev typed questions via OpenRouter and combines the probabilities with fuzzy-logic rules into decisions.

    CLIbetaRust
  • Unofficial standard-library Go client for Jev with generic typed Choice values and local confidence thresholds.

    ProjectbetaGo
  • pip-installable Jev kit: a CLI for verify, screen, classify, extract, route and rerank, plus an MCP server for the primitives.

    MCP serverbetaPython