MCP server wrapping TypeSafe's Jev System One models. Instead of prompt-and-parse, agents get typed judgments they can use directly in code: yes/no probabilities, multiple-choice selections with distributions, and rubric-based scores.
| Tool | What it does | Returns |
|---|---|---|
jev_evaluate |
Evaluate state against a map of typed questions in one call (they run in parallel) |
{model, answers, usage} |
jev_noul |
Yes/no judgment | {type, noul} — 0 = no … 1 = yes, near 0.5 = uncertain |
jev_choice |
Pick one option from criteria: {"option": "rubric…"} |
{choice, probabilities, confidence} |
jev_score |
Rate along 2–10 ordered level descriptions | {score, legend, probabilities, confidence} |
jev_models |
List models your key can use | {models: [{name, …}]} |
Every tool takes state (string, object, or array — the content to judge),
an optional model (default "jev-latest"), and an optional endpoint
("direct" or "zen", default "direct").
- Python 3.10+ and
uv(or plainpip) - A TypeSafe API key →
TYPESAFE_API_KEY- Optional: an OpenCode Zen key →
OPENCODE_API_KEY, only if you wantendpoint="zen"(modelsjev-1.13/jev-1.13-free)
- Optional: an OpenCode Zen key →
git clone https://github.com/rajasekharponakala/jev-mcp.git
cd jev-mcp
cp .env.example .env # then put your key in .env (never commit it)
uv run --with fastmcp --with httpx server.pyOr with an installed environment:
pip install -e .
export TYPESAFE_API_KEY=...
jev-mcpclaude mcp add jev -e TYPESAFE_API_KEY=... -- uv run --with fastmcp --with httpx /path/to/jev-mcp/server.pycodex mcp add jev --env TYPESAFE_API_KEY=... -- uv run --with fastmcp --with httpx /path/to/jev-mcp/server.pyor manually:
[mcp_servers.jev]
command = "uv"
args = ["run", "--with", "fastmcp", "--with", "httpx", "/path/to/jev-mcp/server.py"]
env = { TYPESAFE_API_KEY = "..." }{
"mcpServers": {
"jev": {
"command": "uv",
"args": ["run", "--with", "fastmcp", "--with", "httpx", "/path/to/jev-mcp/server.py"],
"env": { "TYPESAFE_API_KEY": "..." }
}
}
}{
"mcpServers": {
"jev": {
"command": "uv",
"args": ["run", "--with", "fastmcp", "--with", "httpx", "/path/to/jev-mcp/server.py"],
"env": { "TYPESAFE_API_KEY": "..." }
}
}
}{
"mcpServers": {
"jev": {
"command": "uv",
"args": ["run", "--with", "fastmcp", "--with", "httpx", "/path/to/jev-mcp/server.py"],
"env": { "TYPESAFE_API_KEY": "..." }
}
}
}{
"mcpServers": {
"jev": {
"command": "uv",
"args": ["run", "--with", "fastmcp", "--with", "httpx", "/path/to/jev-mcp/server.py"],
"env": { "TYPESAFE_API_KEY": "..." },
"disabled": false
}
}
}goose session --with-extension "jev:TYPESAFE_API_KEY=... uv run --with fastmcp --with httpx /path/to/jev-mcp/server.py"or persist in config:
extensions:
jev:
name: Jev
cmd: uv
args: ["run", "--with", "fastmcp", "--with", "httpx", "/path/to/jev-mcp/server.py"]
enabled: true
envs: { "TYPESAFE_API_KEY": "..." }
type: stdio
timeout: 300{
"mcpServers": {
"jev": {
"command": "uv",
"args": ["run", "--with", "fastmcp", "--with", "httpx", "/path/to/jev-mcp/server.py"],
"env": { "TYPESAFE_API_KEY": "..." }
}
}
}(VS Code: same shape in ~/.vscode/mcp.json.)
The server object is named mcp, so FastMCP can install it directly:
fastmcp install claude-code /path/to/jev-mcp/server.pythen add TYPESAFE_API_KEY via that client's config.
// tool call: jev_choice
{
"state": "Help! My payouts have been failing for 3 days.",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "Payments, invoicing, refunds",
"technical": "Bugs, outages, integrations",
"sales": "Pricing, upgrades, new accounts"
}
}
// → {"choice": "billing", "probabilities": {"billing": 0.88, ...}, "confidence": 0.81}See the TypeSafe docs (source of truth) and the API reference for question design: one narrow judgment per question, batch independent questions, keep policy and thresholds in your code.
uv run --with fastmcp --with httpx python -c "
import asyncio, server
print(sorted(t.name for t in asyncio.run(server.mcp.list_tools())))
"AGPL-3.0-only. Copyright (c) 2026 rajasekharponakala.
{ "mcp": { "servers": { "jev": { "type": "local", "command": ["uv", "run", "--with", "fastmcp", "--with", "httpx", "server.py"], "cwd": "/path/to/jev-mcp", "environment": { "TYPESAFE_API_KEY": "{env:TYPESAFE_API_KEY}" } } } } }