jev-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jev-mcpIs this support ticket urgent, and which team should handle it?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
jev-mcp
中文
MCP server + CLI,把 TypeSafe 的 Jev(System One
模型)开放给 AI agent 调用。Agent 调用 jev_ask,传入 state 和类型化问题,
拿回结构化判断——无文本生成、无需解析。
这是一个薄桥接:只做请求校验,转发到
POST https://api.typesafe.ai/v1/systemone,再把答案原样返回。
问题的设计由调用方负责(见 TypeSafe 文档)。
工具
jev_ask
针对一段 state 回答类型化问题。所有问题并行、基于同一 state 求值, 答案按你起的 question id 返回。
参数 | 类型 | 说明 |
| string | object | array | 必填。 待评估内容:文本或结构化数据(聊天记录、工单、应用状态)。上限约 12 万字符。 |
| object | 必填。 |
| string | 默认 |
问题类型:
noul—— 是否判断。返回noul(0–1,yes 的概率)。可用criteria: {true, false}定义两种结果的含义。choice—— 从 1–255 个命名选项中单选。返回choice、probabilities(和为 1)、confidence。score—— 在你定义的 2–10 级量表上打分。返回score(可落在两级 之间)、legend、probabilities、confidence。
示例:
{
"state": "Help! My payouts have been failing for 3 days.",
"questions": {
"is_urgent": { "type": "noul", "instructions": "Does this convey urgency?" },
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": { "billing": "Payments, invoicing, refunds", "technical": "Bugs, outages, integrations" }
}
}
}jev_models
列出当前 API key 可用的模型名/别名,供 jev_ask 的 model 参数使用。无参数。
安装
npm install -g @iixingchen/jev-mcp
# 或从源码运行:node src/server.js需要 Node.js 20+。
授权
环境变量 TYPESAFE_API_KEY(到 console.typesafe.ai
创建)。也接受 CHECK_AI_CLI_TYPESAFE_API_KEY 作为回退。无 key 时 server
拒绝启动,且 key 永不写入日志。
接入你的 agent
Claude Code(claude mcp add,或 .mcp.json):
claude mcp add jev-mcp --env TYPESAFE_API_KEY=$TYPESAFE_API_KEY -- node /path/to/jev-mcp/src/server.jsCodex(~/.codex/config.toml):
[mcp_servers.jev-mcp]
command = "node"
args = ["/path/to/jev-mcp/src/server.js"]
env = { "TYPESAFE_API_KEY" = "..." }Gemini CLI(~/.gemini/settings.json):
{
"mcpServers": {
"jev-mcp": {
"command": "node",
"args": ["/path/to/jev-mcp/src/server.js"],
"env": { "TYPESAFE_API_KEY": "..." }
}
}
}任何兼容 MCP 的客户端都一样:stdio 传输,node /path/to/jev-mcp/src/server.js,
key 放环境变量。
CLI
export TYPESAFE_API_KEY=...
jev-ask request.json
cat request.json | jev-ask
jev-ask --model jev-1.13.0 request.json请求格式:{"state": ..., "model": "jev-latest", "questions": {...}},
答案 JSON 输出到 stdout。
测试
export TYPESAFE_API_KEY=...
npm test # MCP stdio 冒烟测试,含真实 jev_ask + jev_models 调用说明
计费只按输入 token($0.042/Mtok),输出免费;客户端侧已做 state 上限以控制成本。
Jev 英文最强;其他语言请在自己的数据上验证,并用
confidence决定自动执行还是转人工。每个问题只问一个原子判断;宽泛的判断拆成多个原子问题,答案在代码里组合。
Related MCP server: askjev
English
MCP server + CLI exposing TypeSafe Jev (a System One
model) to AI agents. Agents call jev_ask with a state and typed questions;
they get back structured judgments — no text generation, no parsing.
This is a thin bridge: it validates the request shape, forwards it to
POST https://api.typesafe.ai/v1/systemone, and returns the answers.
Question design stays with the caller (see the
TypeSafe docs).
Tools
jev_ask
Answer typed questions about a state. All questions run in parallel against the same state; answers come back under your question ids.
Param | Type | Notes |
| string | object | array | required. The content to evaluate: text, or structured data (chat logs, records, app state). Capped at ~120k chars. |
| object | required. |
| string | default |
Question types:
noul— yes/no. Returnsnoul0–1 (probability of yes). Optionalcriteria: {true, false}to define the outcomes.choice— pick one of 1–255 named options. Returnschoice,probabilities(sums to 1),confidence.score— position on your 2–10 level rubric. Returnsscore(can land between levels),legend,probabilities,confidence.
Example:
{
"state": "Help! My payouts have been failing for 3 days.",
"questions": {
"is_urgent": { "type": "noul", "instructions": "Does this convey urgency?" },
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": { "billing": "Payments, invoicing, refunds", "technical": "Bugs, outages, integrations" }
}
}
}jev_models
Lists the model names/aliases this API key can use in jev_ask's model
field. No parameters.
Install
npm install -g @iixingchen/jev-mcp
# or run from source: node src/server.jsNode.js 20+ required.
Auth
Set TYPESAFE_API_KEY in the environment (create one at
console.typesafe.ai). CHECK_AI_CLI_TYPESAFE_API_KEY
is accepted as a fallback. The server refuses to start without a key and never
logs it.
Connect your agent
Claude Code (claude mcp add, or .mcp.json):
claude mcp add jev-mcp --env TYPESAFE_API_KEY=$TYPESAFE_API_KEY -- node /path/to/jev-mcp/src/server.jsCodex (~/.codex/config.toml):
[mcp_servers.jev-mcp]
command = "node"
args = ["/path/to/jev-mcp/src/server.js"]
env = { "TYPESAFE_API_KEY" = "..." }Gemini CLI (~/.gemini/settings.json):
{
"mcpServers": {
"jev-mcp": {
"command": "node",
"args": ["/path/to/jev-mcp/src/server.js"],
"env": { "TYPESAFE_API_KEY": "..." }
}
}
}Any MCP-compatible client works the same way: stdio transport, node /path/to/jev-mcp/src/server.js, key in the environment.
CLI
export TYPESAFE_API_KEY=...
jev-ask request.json
cat request.json | jev-ask
jev-ask --model jev-1.13.0 request.jsonRequest shape: {"state": ..., "model": "jev-latest", "questions": {...}}.
Response JSON goes to stdout.
Test
export TYPESAFE_API_KEY=...
npm test # MCP stdio smoke test incl. live jev_ask + jev_models callsNotes
Billing is per input token only ($0.042/Mtok); output tokens are free. State is capped client-side to bound cost.
Jev is strongest in English; validate on your own data for other languages, and use
confidenceto decide when to act vs. escalate.Ask one atomic judgment per question; decompose broad judgments and combine answers in code.
License
MIT — same as the official @typesafe-ai/sdk and @modelcontextprotocol/sdk. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Calibrated judgments for text: yes/no probabilities, picks from your options, or scores.
Deterministic contextual decision arbitration and action routing for autonomous software. Takes current state, context, or intent plus caller-supplied candidate actions, state transitions, routes, refusals, escalations, tools, or models and returns a deterministic ordered candidate field. Also provides persistent machine representations for memory, retrieval, indexing, and downstream coherence measurement.
Statistical adjudication for agents: backtest judges, fact-checks. Pay per call in USDC via x402.
Human judgment for AI agents: discover capabilities, get quotes, and track paid human tasks.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables agents to perform typed judgments—classify, score, check, match, and screen—over closed answer sets with confidence scores, without text generation.725MIT
- AlicenseAqualityAmaintenanceEnables agents to get fast, calibrated probabilistic answers from Jev (Typesafe AI) to yes/no, scale, or choice questions about provided material, without using a generative model.115 npm1MIT
- AlicenseAqualityCmaintenanceProvides agents with fast, typed, calibrated decision tools for classification, scoring, yes/no checks, and gating risky tool calls.5467 npm2MIT
- AlicenseNot gradedqualityAmaintenanceEnables coding agents to send natural language and JSON application state to a judge tool that returns typed judgments (yes/no probability, choice, or score) with model and usage metadata, and fails gracefully without blocking workflows.315 npm5Apache 2.0