openjev-router
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JEV_MODEL | No | Model id on the backend | google/gemma-4-26b-a4b-qat |
| JEV_METHOD | No | logprobs (single-token letter logits), scores (full JSON likelihood), or auto (logprobs with scores fallback) | auto |
| JEV_API_KEY | No | Sent as Authorization: Bearer only when set; falls back to LM_STUDIO_API_KEY | |
| JEV_BACKEND | No | chat (logprobs/scores over chat completions), ollama / legacy (stock OpenJev clients), or auto (ollama only for :11434) | auto |
| JEV_TIMEOUT | No | Backend request timeout (seconds) | 60 |
| JEV_BASE_URL | No | OpenAI-compatible base URL | http://localhost:1234/v1 |
| JEV_TEMPERATURE | No | Softmax temperature scaling | 1.3 |
| JEV_TOP_LOGPROBS | No | top_logprobs requested for scoring | 20 |
| JEV_ABSTAIN_THRESHOLD | No | Abstention threshold; or auto (1.25 / N) | 0.45 |
| JEV_DISABLE_REASONING | No | Inject reasoning_effort: none | 1 |
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 |
|---|---|
| decision_statusA | Report the configured backend, model, and endpoint reachability. |
| decide_choiceA | Select the single best candidate for the state, with calibrated probabilities. state: dict of context to evaluate. candidates: the allowed options (strings). criteria: how to judge them (plain string or mapping). allow_abstain: when the best confidence is too low, value becomes UNKNOWN and tentative_value keeps the raw argmax. Returns ChoiceDecision JSON. |
| decide_noulB | Judge whether a binary assertion is TRUE or FALSE for the given state. |
| decide_scoreC | Rate the state across ordered tiers (e.g. severity levels). tiers: ordered list of strings, or dicts with 'label'/'value' and an optional 'score' weight. Returns ScoreDecision JSON with expected_score and per-tier probability mass. |
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 4 tools
Each tool has a distinct purpose: decision_status reports system state, while the three decide_* tools handle different decision types (choice among options, binary assertion, and tiered scoring). No overlap or ambiguity between them.
Three tools follow the consistent 'decide_' prefix with action verbs, but decision_status deviates with a noun-based name. This is a minor inconsistency, but the pattern is still recognizable.
With 4 tools, the server is well-scoped for a decision-routing purpose. Each tool covers a necessary aspect without redundancy or bloat.
The surface covers status, choice selection, boolean judgment, and scoring, which aligns with the server's purpose. A possible gap is a tool for explaining or justifying decisions, but the provided functionality is solid.