Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JEVMCP_CACHENoSet to '1' or 'true' to enable the response cache.off
JEVMCP_MODELNoModel name sent to the API.jev-latest
JEVMCP_BASE_URLNoBase URL for the TypeSafe System One API. Point at a compatible gateway (experimental).https://api.typesafe.ai/v1/systemone
JEVMCP_CACHE_DIRNoDirectory for cache files when JEVMCP_CACHE is enabled.~/.cache/jev-mcp
TYPESAFE_API_KEYNoYour TypeSafe API key. If not set, the server will rely on the key stored by the `setup` tool (at JEVMCP_CONFIG_DIR/key). Env var wins over the stored file.
JEVMCP_CONFIG_DIRNoDirectory where the `setup` tool stores the API key.~/.config/jev-mcp

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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
choiceA

Ask Jev (TypeSafe System One) to pick ONE of 2-100 mutually exclusive options, with calibrated probabilities.

The official choice question type — for fast, cheap structured decisions: triage, routing, classification, prioritization, tie-breaking among enumerated candidates. Returns probabilities over ALL options (not just the winner), so near-ties are visible. NOT for open-ended generation or multi-step reasoning — use an LLM for those.

Args: question: The decision, e.g. "Which error class is most likely the root cause?" options: Mapping of short unique id -> one-line description. 2-100 options. context: Optional background facts that inform the decision. Keep it short.

Returns: JSON string: {choice, confidence, probabilities (sorted desc), runner_up, model, latency_ms, usage}

scoreA

Ask Jev (TypeSafe System One) to grade something on an ORDERED scale of 2-8 levels.

The official score question type — risk/severity/quality rubrics, e.g. levels ["minor", "moderate", "severe", "critical"]. Returns a fractional 0-based index into levels (1.88 = between levels[1] and levels[2], leaning to levels[2]), plus confidence and per-level probabilities.

Args: question: What to grade, e.g. "Regression risk of renaming public config key X". levels: 2-8 unique ordered scale points, low to high. context: Optional background facts. Keep it short.

Returns: JSON string: {score, nearest_level, confidence, probabilities (sorted desc), model, latency_ms, usage}

noulA

Ask Jev (TypeSafe System One) a yes/no question; returns a 0-1 degree (>= 0.5 leans yes).

The official noul question type — fast, cheap binary checks: "is this change breaking?", "does this log line match the reported symptom?". No probability list, just the degree. NOT for questions that need multi-step reasoning — use an LLM for those.

Args: question: A yes/no question, e.g. "Is renaming a public config key a breaking change?" context: Optional background facts. Keep it short.

Returns: JSON string: {noul, verdict, model, latency_ms, usage}

classifyA

Batch-classify up to 100 items against ONE shared set of categories using Jev.

Runs the official choice question type once per item and aggregates the results — routing support tickets, labeling log lines, triaging inbox items against your own label set. Much cheaper and faster than an LLM for mechanical labeling.

Args: items: 1-100 non-empty strings to classify. options: Mapping of short unique id -> one-line category description. 2-100 options. question: Per-item question; the item itself is appended automatically. context: Optional background facts shared by all items.

Returns: JSON string: {results: [{item, choice, confidence, probabilities}], summary (counts per choice, sorted desc), model, total_latency_ms, usage: {input_tokens, output_tokens, calls, cached_calls}}

setupA

One-time onboarding: verify a TypeSafe API key with a live call, then store it locally.

Use when TYPESAFE_API_KEY is not set in the server environment: pass your key once (get one at https://console.typesafe.ai/settings/keys). It is verified against the live API, then saved to ~/.config/jev-mcp/key (permissions 0600) and never echoed back. An existing TYPESAFE_API_KEY env var always takes precedence over the stored file.

Args: api_key: Your TypeSafe API key (from console.typesafe.ai/settings/keys).

Returns: JSON string: {ok, stored_path, verified}

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.6/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: setup handles key onboarding, while noul, choice, score, and classify map to different question types (binary, single-choice, ordered-scale, batch). The descriptions explicitly call out boundaries, such as noul being for yes/no only and classify being a batched version of choice.

Naming Consistency4/5

Tool names are all single lowercase words with no mixed conventions, which keeps them readable and predictable. The slight deviation is that setup describes an action while noul, choice, score, and classify follow the official TypeSafe question-type naming, but this is minor and does not cause confusion.

Tool Count5/5

Five tools is well-scoped for a focused Jev/TypeSafe MCP server: one setup tool plus four distinct query/question types. Each tool maps to a clear capability and none feel redundant or missing.

Completeness5/5

The tool surface covers the full apparent lifecycle of using Jev: setup for authentication and noul/choice/score/classify for the available question types. There are no obvious dead ends—setup returns verification, every query tool returns structured results, and classify aggregates batch outputs.