Skip to main content
Glama

Jev choice

jev_choice
Read-onlyIdempotent

Ask one question whose answer is exactly one option from a closed list you define; returns the choice, probability distribution, and confidence.

Instructions

Ask one question whose answer is exactly one of a set of options you define.

Use for a category, a route, or a selection from a closed list — not for a degree and not for a yes/no. Write the judgment in instructions, and put the boundaries in the option descriptions: what each option covers and excludes. Include an option named "other" or "none" when the list may not cover every input. A choice returns exactly one option, so ask separate noul questions (together in jev_ask) when several labels can apply at once.

Returns the selected option, the full probability distribution, and confidence. Confidence summarises how concentrated the distribution is — it is not the probability that the selection is correct. Compare it against a threshold you calibrated on your own examples, and send anything below it to a person instead of acting on it.

Input Schema

NameRequiredDescriptionDefault
modelNoModel alias. Omit to use the server default (`openjev`).
stateYesThe content the questions are judged against: text, an object of named fields, or an array of records. The state is judged as one whole, so an array of tickets gets one blended answer rather than one per ticket; to judge records one by one, use `jev_batch`. Reference a nested field from `instructions` with a dotted path in backticks, e.g. `account.plan`. Fetch external records first — a URL here is not a request to browse — and note that this API accepts no image, audio, or file uploads.
criteriaYesThe options. An object maps each option name to a description of what it covers and excludes; an array of names is shorthand for options that need no description. Include an option named "other" or "none" when the list may not cover every input.
question_idNoLabel for this question in the response. Defaults to the primitive name.
instructionsYesThe judgment to make, written out in full. A clear specific string is usually enough; use an object or array when the judgment, its scope, and its constraints belong together. The question id is not sent to the model, so never rely on it to carry meaning.

Output Schema

NameRequiredDescriptionDefault
hintsNoNon-blocking advice about this request, when there is any.
modelNo
usageNo
answerYes
question_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.2.0
    • changedInput schema / properties / state / description
      Previous value: -"The content the questions are judged against: text, an object of named fields, or an array of records. Reference a nested field from `instructions` with a dotted path in backticks, e.g. `account.plan`. Fetch external records first — a URL here is not a request to browse — and note that this API accepts no image, audio, or file uploads."New value: +"The content the questions are judged against: text, an object of named fields, or an array of records. The state is judged as one whole, so an array of tickets gets one blended answer rather than one per ticket; to judge records one by one, use `jev_batch`. Reference a nested field from `instructions` with a dotted path in backticks, e.g. `account.plan`. Fetch external records first — a URL here is not a request to browse — and note that this API accepts no image, audio, or file uploads."
  2. First observedv0.1.1

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safe, idempotent, read-only profile, so the bar is lower, yet the description still adds real behavioral context: a choice returns exactly one option, and `confidence` reflects distribution concentration rather than correctness probability. It does not discuss latency, cost, or failure modes, but the semantic caveat about confidence is the high-value disclosure here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then usage rules, then return semantics; no filler sentences. It is slightly dense and runs long, but every clause carries actionable instruction rather than restating the name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-param boolean-choice primitive with full schema coverage and an output schema, this covers purpose, alternatives, option-authoring, and the confidence-handling workflow end to end. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, and the description goes beyond the schema by explaining how to author `instructions` (write the judgment in full, id not sent to model) and how to phrase option descriptions with boundaries. This is genuine guidance layered on top of already-complete field docs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource — 'Ask one question whose answer is exactly one of a set of options you define' — and immediately bounds it against the two nearest siblings by excluding degrees (jev_score) and yes/no (jev_noul). An agent can tell this apart from jev_ask/jev_batch without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit positive cases ('a category, a route, or a selection from a closed list'), explicit exclusions ('not for a degree and not for a yes/no'), and routes the multi-label case to separate noul questions via `jev_ask`. It also prescribes when to add an 'other'/'none' option and what to do with low confidence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools