Jev MCP
Twelve quick scoring tools backed by TypeSafe's Jev model, each returning typed probabilities
Typed classification, yes/no checks, scoring and ranking for coding agents via TypeSafe's Jev model
By French Castle (individual) TypeScript Local · stdio AI and MLDeveloper tools
44 popularity score ★ 58 ↓ 702/wk
Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.
It needs TYPESAFE_API_KEY. Replace each <NAME> with your value.
claude mcp add jev-code -e TYPESAFE_API_KEY=<TYPESAFE_API_KEY> -- npx -y @french-castle/jev-code@0.5.0 mcp{
"mcpServers": {
"jev-code": {
"command": "npx",
"args": [
"-y",
"@french-castle/jev-code@0.5.0",
"mcp"
],
"env": {
"TYPESAFE_API_KEY": "<TYPESAFE_API_KEY>"
}
}
}
}{
"mcpServers": {
"jev-code": {
"command": "npx",
"args": [
"-y",
"@french-castle/jev-code@0.5.0",
"mcp"
],
"env": {
"TYPESAFE_API_KEY": "<TYPESAFE_API_KEY>"
}
}
}
}{
"servers": {
"jev-code": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@french-castle/jev-code@0.5.0",
"mcp"
],
"env": {
"TYPESAFE_API_KEY": "<TYPESAFE_API_KEY>"
}
}
}
}[mcp_servers.jev-code]
command = "npx"
args = ["-y", "@french-castle/jev-code@0.5.0", "mcp"]
[mcp_servers.jev-code.env]
TYPESAFE_API_KEY = "<TYPESAFE_API_KEY>"gemini mcp add --scope user -e TYPESAFE_API_KEY=<TYPESAFE_API_KEY> jev-code npx -- -y @french-castle/jev-code@0.5.0 mcpTYPESAFE_API_KEY |
Required: Key for TypeSafe or a System One gateway. Alternatives: OPENROUTER_API_KEY, AI_GATEWAY_API_KEY, or OPENAI_API_KEY with JEV_CODE_PROVIDER=openai. Ollama needs no key. |
|---|---|
OPENROUTER_API_KEY |
Optional: OpenRouter key; used instead of a TypeSafe key. |
AI_GATEWAY_API_KEY |
Optional: Vercel AI Gateway key; used instead of a TypeSafe key. |
JEV_CODE_PROVIDER |
Optional: Forces a host: typesafe, openrouter, vercel, openai or ollama (needed for the last two). |
OPENAI_API_KEY |
Optional: OpenAI Decisions API key; used only when JEV_CODE_PROVIDER=openai. |
OLLAMA_HOST |
Optional: Ollama server address; localhost:11434 by default. |
TYPESAFE_BASE_URL |
Optional: A proxy or your own System One gateway; the client appends /v1/systemone. |
TYPESAFE_DEFAULT_MODEL |
Optional: Pins a model, for example jev-1.13; the default depends on the host. |
JEV_CODE_TIMEOUT_MS |
Optional: Timeout per attempt in ms; 30000 by default. |
JEV_CODE_MAX_RETRIES |
Optional: Retries on 429, 5xx, timeouts and connection errors; 2 by default. |
jev-code is a stdio MCP server, plus a CLI and a Pi extension, that gives a coding agent five tools backed by Jev, TypeSafe's decision model. The agent sends the evidence (test failures, files, findings, a PR description) along with its own labels, questions or scale. What comes back is structured JSON: a label or verdict per item, the probability distribution, and an `auto` or `review` decision worked out from thresholds the caller can change on each call. Jev returns no free text.
It suits the small sorting jobs an agent does during coding work, such as splitting CI failures into flaky and real or ranking which files answer a question. Each call puts all its items into one request. Input is checked locally first (shapes, duplicate ids, request size), so a malformed payload is rejected before it costs a request. The package also includes an Agent Skill that tells the agent when to use a classifier, and a `setup` command that registers the skill and the server in Claude Code, Codex, Pi and OpenCode.
The model runs on a remote host, not on your machine. Supported hosts are TypeSafe, OpenRouter, Vercel AI Gateway, OpenAI's Decisions API (opt-in, public beta) and a self-run System One gateway. With Ollama 0.35 or later it can use local decision models and needs no key. Its SECURITY.md documents `OLLAMA_API_KEY`, which the README leaves out: it is sent only to an Ollama server that requires one. The same file says that only the latest published minor version gets security fixes.
| Runtime | Node.js 20+ |
|---|
Node.js 20 or later, run through npx. You need one model host: a TypeSafe, OpenRouter or Vercel AI Gateway API key; an OpenAI key plus JEV_CODE_PROVIDER=openai; or a local Ollama 0.35+ server with a decision model pulled (for example `nimble`) plus JEV_CODE_PROVIDER=ollama. Every remote host bills calls to your own account.
The tools are text-only on every host, even where the model accepts images. Cloudflare Workers AI serves Jev but is not supported. On OpenAI's Decisions API (public beta) the model can refuse a single item, which then comes back as `review` or `uncertain`, and retrying the same input does not change that. OpenAI is never used just because OPENAI_API_KEY is set; you have to choose it. Requests time out after 30 s per attempt by default and are retried twice; JEV_CODE_TIMEOUT_MS and JEV_CODE_MAX_RETRIES change this. The project is not affiliated with TypeSafe. Installs made with 0.2.1 or earlier run an unpinned command and do not pick up updates until setup is run again.
Developers using Claude Code, Codex, OpenCode or Pi who want calibrated labels and probabilities for many items at once, rather than spending a general-model call on each item. It does not read your files or repo by itself: it only classifies what the agent passes in. Your evidence goes to the remote host you pick, so for code that must stay on your machine, use the Ollama mode. Its README names jkudish/jev-mcp (held here as jev-mcp-2) and itsmostafa/typesafe-mcp as other Jev MCP servers with different tool sets. Choose jev-code if you also want the bundled skill, the one-command setup and the choice of hosts.
jev_classifyjev_checkjev_scorejev_rankjev_ask