Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JEV_IMAGESNoSet to '1' to enable images and Box questions. Disabled unless set.
JEV_BACKENDNoSet to 'mock' to use offline placeholders for tests and CI.
JEV_CACHE_DIRNoDirectory for the disk cache. Refused inside a git repository.
JEV_LOG_LEVELNoLog level. Logs are written to stderr only.
JEV_COMPRESSIONNoCompression mode for requests. Accepted values: auto, zstd, off, gzip.
JEV_SECRET_MODENoSecret-guard mode. Default is 'redact'; set to 'refuse' to refuse on any secret detection.
MCP_TOOL_TIMEOUTNoTool timeout in milliseconds; the server fits its own call timeout inside this value when set.
TYPESAFE_API_KEYYesYour TypeSafe API key. Required to authenticate; alternatively, the key may be placed in ~/.typesafe/api-key.txt (Windows: %USERPROFILE%\.typesafe\api-key.txt), and this environment variable wins when non-empty.
TYPESAFE_BASE_URLNoBase URL for the TypeSafe API. Only official TypeSafe hosts are allowed.
JEV_CONFIRM_EGRESSNoSet to '1' to add anthropic/requiresUserInteraction, prompting on every call.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
jev_askA

ONE state, N questions: ask every typed question (noul yes/no p, choice label, score level) about one state in one call; answers come back with verdict, p and decision (auto | confirm | review). Use for: judging one failure log, one diff, one file, one command. For many items use jev_batch. Or run a recipe: {recipe:"classify"|"decide"|"verify_claim"|"rerank"|"self_consistency"|"find_lines"|"locate", args}. Not for: counting, dates, arithmetic, test pass/fail (exit code), summaries, judging whether a bug report is real or a patch fixes it. Refs instead of pasting: "$file:a.ts#L1-80", "$diff", "$log:x.log". If it returns unavailable / rate_limited / budget_exceeded, judge inline; do not retry in a loop. Example: {state:{diff:"$diff:staged"}, questions:{leak:{type:"noul",instructions:"Does diff add a hardcoded credential?"}}}

jev_batchA

N items x ONE question set: one request per item (failing tests, diff hunks, files), concurrent with a shared rate gate. Returns rows {item, verdict, p, decision} sorted by p as top-k or only the flagged ones, plus a summary and every failure. items_from builds items on the server: "$diff:staged" (one per hunk) or ["$file:a.ts", ...]. Diff review: preset review_filter with narrow Nouls where true = bad. Not for several questions about one state (jev_ask). If it returns unavailable / rate_limited / budget_exceeded, judge inline; do not retry in a loop. Example: {items_from:"$diff:staged", preset:"review_filter", questions:{no_err:{type:"noul",instructions:"Does diff remove error handling?"}}}

jev_statusA

Jev health and housekeeping, no judgments: health (is Jev reachable, which models are pinned), usage (tokens, cost estimate, caps, estimate/actual ratio), models (aliases and versions), validate (offline dry run of a jev_ask input), presets (decision thresholds), feedback (label a past decision), calibrate (fit thresholds from labels). Free except health/models refresh (one GET).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
guideRecipes, coding shapes, hooks and limits

TDQS

A4.1/5.0

Scored across 3 tools

Disambiguation5/5

The three tools split cleanly along orthogonal axes: jev_ask (one state, many questions), jev_batch (many items, one question set), and jev_status (health/housekeeping, no judgments). Descriptions explicitly include 'Not for' clauses that steer agents away from the wrong tool (e.g., 'For many items use jev_batch', 'Not for several questions about one state').

Naming Consistency5/5

All names follow a single predictable pattern: the shared `jev_` prefix plus a short snake_case noun (ask, batch, status). No mixed conventions or verb-style drift.

Tool Count4/5

Three tools is on the lean side, but each occupies a distinct role (single judgment, batched judgment, meta/ops) and nothing feels redundant. A slightly larger surface (e.g., a recipe-listing tool) might round it out, but the current set is well-scoped.

Completeness4/5

The surface covers the full judgment lifecycle: single calls, concurrent batch calls, offline validation, threshold presets, feedback labeling, and calibration. Minor gaps exist — no dedicated tool to list or inspect past decisions/history, and recipe discovery is only implied through the `recipe` arg rather than being a first-class operation.

Maintenance

ActivityMaintained
ResponsivenessNo issues