Jev MCP
Twelve quick scoring tools backed by TypeSafe's Jev model, each returning typed probabilities
Typed, probability-scored judgments from TypeSafe's Jev and other System One models
By Mostafa (individual) Go Local · stdio AI and ML
31 popularity score ★ 360
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.
go install github.com/itsmostafa/system-one-connector/cmd/evaluate@latestclaude mcp add system-one-connector -e TYPESAFE_API_KEY=<TYPESAFE_API_KEY> -- '<ABSOLUTE_PATH_TO_EVALUATE>' mcp{
"mcpServers": {
"system-one-connector": {
"command": "<ABSOLUTE_PATH_TO_EVALUATE>",
"args": [
"mcp"
],
"env": {
"TYPESAFE_API_KEY": "<TYPESAFE_API_KEY>"
}
}
}
}{
"mcpServers": {
"system-one-connector": {
"command": "<ABSOLUTE_PATH_TO_EVALUATE>",
"args": [
"mcp"
],
"env": {
"TYPESAFE_API_KEY": "<TYPESAFE_API_KEY>"
}
}
}
}{
"servers": {
"system-one-connector": {
"type": "stdio",
"command": "<ABSOLUTE_PATH_TO_EVALUATE>",
"args": [
"mcp"
],
"env": {
"TYPESAFE_API_KEY": "<TYPESAFE_API_KEY>"
}
}
}
}[mcp_servers.system-one-connector]
command = "<ABSOLUTE_PATH_TO_EVALUATE>"
args = ["mcp"]
[mcp_servers.system-one-connector.env]
TYPESAFE_API_KEY = "<TYPESAFE_API_KEY>"gemini mcp add --scope user -e TYPESAFE_API_KEY=<TYPESAFE_API_KEY> system-one-connector '<ABSOLUTE_PATH_TO_EVALUATE>' -- mcpTYPESAFE_API_KEY |
Required: Key for the TypeSafe route (or a Liquid AI key, or any value for a local host); OPENROUTER_API_KEY or an active profile can be used instead. |
|---|---|
OPENROUTER_API_KEY |
Optional: Uses OpenRouter's Decisions endpoint instead; ignored if TYPESAFE_API_KEY is set. |
TYPESAFE_BASE_URL |
Optional: Host serving POST /v1/systemone; default https://api.typesafe.ai. |
TYPESAFE_MODEL |
Optional: Model on the TypeSafe route; default jev-latest. |
TYPESAFE_PROFILE |
Optional: Pins this client to a named profile. |
TYPESAFE_MAX_ITEMS |
Optional: Caps items per call, 1 to 500; default 500. |
TYPESAFE_HEADERS |
Optional: JSON object of extra HTTP headers sent to the model endpoint. |
System One Connector ships as a single Go binary named `evaluate`. Run as `evaluate mcp`, it is a stdio MCP server with one tool, also called `evaluate`, that passes a piece of state and a set of typed questions to a System One model and hands back structured answers instead of prose. There are three question types: `noul` (the probability that a yes/no condition holds), `choice` (one option from a set, with a probability per option) and `score` (a position on ordered levels). An agent can therefore branch on a number, for example routing a support ticket to a team or deciding whether something is urgent, and pass unsure answers back to a person.
By default it calls TypeSafe's Jev model (`jev-latest`) at api.typesafe.ai. With `OPENROUTER_API_KEY` it uses OpenRouter's Decisions endpoint instead, and with `TYPESAFE_BASE_URL` it can point at any host that serves `POST /v1/systemone`: Liquid AI's hosted d1, or a self-run CLM or Laya server. Named profiles (`evaluate profile add|use`) store a model, host and key so the model can be switched without editing client configs.
One call can also judge a batch: `items` takes up to 500 records and asks the same questions of each, eight requests at a time, reporting failed records separately. A per-question `min_confidence` lets an answer abstain, marking it `uncertain`. Its tool reference (docs/tool-reference.md) adds details the README leaves out: each request times out after 60 seconds, 429 and 529 responses are retried up to three times, and a batch whose responses exceed 16 MiB has its remaining results dropped into `errors`.
An `evaluate setup mcp` command registers the server with Claude Code, Claude Desktop, Codex and Hermes, copying `TYPESAFE_*` variables and `OPENROUTER_API_KEY` into each client's config; `evaluate setup pi` installs a pi extension instead.
| Runtime | Go |
|---|
macOS or Linux on amd64 or arm64 for the install script's prebuilt binary, or Go to build it with `go install`. A model endpoint and its key: a TypeSafe API key (console.typesafe.ai), an OpenRouter key, a Liquid AI key for d1, or a self-hosted System One server such as CLM (which needs a GPU). Hosted model calls are paid per request on the provider's account.
Only one tool; it judges, it does not generate text. `items` accepts at most 500 records per call (lower with `TYPESAFE_MAX_ITEMS`), and every record is a separately billed request; the cap is per call, not a spending limit. `choice` allows at most 255 options and `score` at most 10 levels. On OpenRouter the model is always `~typesafe/jev-latest` unless a profile is used, and OpenRouter's Decisions endpoint is still on an `/api/alpha/` path that its docs say may move. Span-01 accepts only `noul` questions and text or conversation state. A profile change takes effect only after the client restarts the server.
Developers whose agents need quick, numeric judgment calls (classification, triage, yes/no checks over many records) that code can compare to a threshold, and who are willing to use TypeSafe, OpenRouter or Liquid AI accounts or host a System One model themselves. It is a poor fit for open-ended generation or for anyone who wants no outbound API calls and has no GPU for a local model. It is a third-party project, not published by TypeSafe; because its one tool is marked read-only, some clients run it without asking, so set `TYPESAFE_MAX_ITEMS` if batch costs matter.
evaluate