Skip to content

jev-mcp

Rust MCP server for Codex that hands classification, relevance, candidate selection and evaluation to Jev with accept/verify policies.

MCP serverbetaMIT

Overview

This jev-mcp is a lightweight MCP server written in Rust that lets Codex use TypeSafe's Jev over stdio. The README (Japanese, with an English version) frames Codex as System 2 that investigates, plans, edits and tests, and Jev as a lightweight System 1 for closed-choice judgments along the way.

It offers four tools: jev.noul for whether a condition holds, jev.choice to pick one named option, jev.score for ordered rubrics, and jev.batch for several questions against the same input. Example uses include whether a file relates to the current bug, whether a test failure came from the last change, which subsystem to inspect first, and whether work is progressing or looping. The server never reads files or runs tools itself. A policy layer maps results to accept, verify or reevaluate using configurable thresholds (defaults 0.90 and 0.60) and treats choices like unknown or other as reevaluate. An eval CLI and optional input-free telemetry are included.

What the decision model decides

TypeQuestionAnswers
Yes / noIs this test failure caused by the previous change?yes · no
ChoiceWhich subsystem should be investigated first?—
Yes / noDoes this change need extra review or testing?yes · no
Yes / noIs the work progressing, or repeating the same attempt?yes · no

How it works

  1. Codex gathers evidence and a finite set of candidates
  2. It calls jev.noul, jev.choice, jev.score or jev.batch
  3. Jev returns typed answers and distributions
  4. The policy layer marks the result accept, verify or reevaluate
  5. Codex edits, tests or takes the next action

Strengths

  • Deterministic handling guidance on top of probabilities
  • Configurable thresholds and open-choice handling
  • Built-in eval CLI and opt-in telemetry without inputs
  • Small native binary

Caveats

  • Documented mainly for Codex
  • Requires building with Rust 1.88+ and a TypeSafe key
  • No automatic .env loading

Getting started

cargo build --release --locked, then add [mcp_servers.jev] with the binary path and TYPESAFE_API_KEY to ~/.codex/config.toml.

At a glance

Type
MCP server
Status
beta
Language
Rust
Runtime
MCP server (stdio)
Has code
yes
Has tests
yes
License
MIT

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does the policy layer do?

It turns probabilities into accept, verify or reevaluate using thresholds that default to 0.90 and 0.60.

Does the server read my repository?

No. The caller supplies the evidence and the finite candidates.

Which client is it built for?

Codex, though any stdio MCP client can use it.

Related projects

  • Portable decision layer for agent harnesses: Jev picks from host-supplied capabilities while the host keeps permissions and execution.

    ProjectbetaTypeScript
  • Jev decision layer for agents: seven MCP tools, an embeddable library and escalate-only Claude Code hooks at harness boundaries.

    MCP serverbetaTypeScript
  • MCP server and agent skill for designing Jev judgments: question linting, batch evaluation, threshold calibration and reranking.

    MCP serverbetaTypeScript
  • Agent skill and CLI that chains Jev question design: find decision calls, check fit, draft, lint, calibrate thresholds and plan a cascade.

    Agent skillprototypePython
  • Native Bend executable that owns agent-launched processes and logs, and asks Jev a typed question only when told to.

    ServicebetaBend
  • Local MCP server putting Jev in the coding loop: route next steps, pick prepared tool calls, review patches and verify claims.

    MCP serverbetaTypeScript