jev-mcpSAFE
MCP server exposing TypeSafe Jev as typed, calibrated judgment tools: classify, score, check, batched ask. Ships as a Claude Code plugin.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://www.npmjs.com/package/jev-mcp) [](https://www.npmjs.com/package/jev-mcp)
An MCP server that exposes TypeSafe Jev as typed judgment tools.
Jev is a System One model. It returns a typed answer and a calibrated probability distribution, never prose. These tools surface that faithfully rather than hiding it behind a label.
Install
Requires Node 20.12+ and a TypeSafe API key from console.typesafe.ai.
Claude Code plugin
One marketplace add, one install. This registers the server and the agent skill together, so there is no separate skill step.
/plugin marketplace add rashedInt32/jev-mcp /plugin install jev@jev-mcp
The plugin runs the published package through npx -y jev-mcp@, so nothing needs building. The first launch downloads the package, so allow a few seconds before the server shows as connected in claude mcp list.
Any MCP client
claude mcp add --scope user jev -- npx -y jev-mcp
Or in a client's JSON config:
{
"mcpServers": {
"jev": { "command": "npx", "args": ["-y", "jev-mcp"] }
}
}Do not register the server directly and install the plugin. Two servers named jev will otherwise both register.
The key
The server reads the key from TYPESAFE_API_KEY in its environment, then from JEV_API_KEY, then from ~/.config/typesafe/key. It is never a tool argument, so it cannot land in a transcript or in a model's context.
The key file is the most reliable source, because some MCP clients strip the environment before spawning servers:
mkdir -p ~/.config/typesafe printf '%s' "ts_..." > ~/.config/typesafe/key chmod 600 ~/.config/typesafe/key
If you prefer the variable, put it in ~/.zshenv rather than in an
6ead2f5b4f47OBSERVED · 2026-10-10Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add jev-mcp --env JEV_API_KEY=${JEV_API_KEY} --env JEV_KEY_FILE=${JEV_KEY_FILE} --env TYPESAFE_API_KEY=${TYPESAFE_API_KEY} -- npx -y [email protected]{
"mcpServers": {
"jev-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"JEV_API_KEY": "${JEV_API_KEY}",
"JEV_KEY_FILE": "${JEV_KEY_FILE}",
"TYPESAFE_API_KEY": "${TYPESAFE_API_KEY}"
}
}
}
}Exposed tools (7)
7 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
jev-latest | read | Flagship |
jev_ask | read | |
jev_check | read | |
jev_classify | read | |
jev_models | read | |
jev_score | read | |
jev_triage | read |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (7)
"/home/u/.ssh/id_ed25519",
"/home/u/.ssh/config",
"/home/u/.aws/credentials",
"/p/id_rsa",
"/p/.git-credentials",
const url = `http://127.0.0.1:${server.address().port}`;@modelcontextprotocol/sdk, @typesafe-ai/sdk, zod, @types/node, typescript
Gates applied: no_behavioural_pass.
6ead2f5b4f47full audit observations/trust-audit/mcp-server/rashedint32__jev-mcp.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-10 | 6ead2f5b4f47 | SAFE | B | 89 | first audit |
Questions
What is the jev-mcp MCP server?
MCP server exposing TypeSafe Jev as typed, calibrated judgment tools: classify, score, check, batched ask. Ships as a Claude Code plugin.
What tools does jev-mcp expose?
7 in total: 7 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is jev-mcp safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does jev-mcp need?
It reads JEV_API_KEY, JEV_KEY_FILE and TYPESAFE_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does jev-mcp run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as jev-mcp at 0.5.1.
How current is this page?
The grade is for one exact copy of the source (6ead2f5b4f47), read on 2026-10-10. The repository is watched and re-audited when it changes.