MCP server for Jev (TypeSafe System One): the three official question types — choice, score, noul — plus batch classify. Calibrated probabilities, ~0.5s, <$0.001/call.
jev-mcp-server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
简体中文
MCP server for Jev, TypeSafe's System One model. It exposes the three official question types (choice, score, noul) plus compare, verify, batch classify, and a one-command installer that writes your client config for you.
What is Jev
Jev is a hosted decision model from TypeSafe. You send a structured question with enumerated options; it returns a typed answer with calibrated probabilities and a confidence value. It does not write prose and it does not explain itself. A single call costs roughly $0.00002 to $0.0001 and returns in about half a second, which is what makes it practical for the small, repeated judgments (triage, routing, grading, gating) that a frontier model is too slow and too expensive to run on every item.
You need a TypeSafe API key. There is no local model, no second LLM, and nothing else to install.
Quickstart
No uv yet? curl -LsSf https://astral.sh/uv/install.sh | sh, or brew install uv, or pip install uv. A plain pip install jev-mcp-server works too; the installer subcommand is the same either way.
Manual config (clients without an installer entry)
Most stdio MCP clients take this shape:
Codex (~/.codex/config.toml):
OpenCode (opencode.json, "mcp" section): {"jev": {"type": "local", "command": ["uvx", "jev-mcp-server"], "env": {"TYPESAFE_API_KEY": "apikey_xxx"}}}
Prefer not to put the key in config at all? Skip the env block and call the setup tool once from your agent. It verifies the key live and stores it with 0600 permissions.
Tools
| Tool | Official type | What it does | Typical use |
|---|---|---|---|
| choice | choice | Pick 1 of 2-100 options; probabilities over **all** options, so near-ties are visible | Triage, routing, tie-breaking |
| score | score | Grade on an ordered 2-8 level rubric; fractional index (1.88 = between levels 1 and 2, leaning to 2) | Risk / severity / quality grading |
| noul | noul | Yes/no question with a 0-1 degree | "Is this change breaking?" |
| compare | choice (A/B) | Which of two candidates wins, with the visible probability split | Titles, plans, messages |
| verify | noul (claim/evidence) | Support degree of ONE claim against evidence you supply | Fact-check lines, log-vs-symptom |
| classify | choice (batch) | Up to 100 items against one shared category set, aggregated | Labeling queues, sorting inboxes |
| setup | (none) | Verify a key once, store it locally (0600) | Onboarding without env config |
Examples
Real calls; responses quoted as returned (only usage and model trimmed).
**choice**: which change is most likely a breaking change for API consumers? Options: rename an existing config key, add an optional response field, change the log format.
**score**: regression risk of rewriting an auth middleware in place, no tests written yet, on a minor/moderate/severe rubric:
**verify**: claim "all tests in the latest CI run passed", evidence "the CI log shows 3 failed tests out of 250":
When to use it
Good fit:
- Enumerated options: triage, routing, tie-breaks, A/B calls
- Rubric grading: risk, severity, review triage
- Binary checks at volume: breaking-change gates, claim-vs-evidence checks