jev-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JEVMCP_CACHE | No | Set to '1' or 'true' to enable the response cache. | off |
| JEVMCP_MODEL | No | Model name sent to the API. | jev-latest |
| JEVMCP_BASE_URL | No | Base URL for the TypeSafe System One API. Point at a compatible gateway (experimental). | https://api.typesafe.ai/v1/systemone |
| JEVMCP_CACHE_DIR | No | Directory for cache files when JEVMCP_CACHE is enabled. | ~/.cache/jev-mcp |
| TYPESAFE_API_KEY | No | Your 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_DIR | No | Directory 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| choiceA | Ask Jev (TypeSafe System One) to pick ONE of 2-100 mutually exclusive options, with calibrated probabilities. The official 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 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 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 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
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.
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.
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.
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.