Skip to main content
Glama

Jev: choice question

jev_choice

Ask the decision model to choose exactly one option from a labelled set and return the selected answer, confidence, and calibrated probabilities for every option.

Instructions

Ask Jev a single Choice question: pick exactly one option from a labelled set. Returns the chosen option, a confidence value, and calibrated probabilities for every option. The answer is returned under the question name "answer".

Input Schema

NameRequiredDescriptionDefault
modelNoOptional Jev model id override (default: jev-latest).
stateYesThe situation to decide about: text, a JSON object, or a JSON array.
assetsNoImages keyed by reference string. Write each reference in the state, instructions, or criteria where the image belongs. PNG or JPEG only, base64-encoded with no data: prefix. API limits: 16 MiB per image, 280-1568 px per side.
optionsYesObject mapping each option label to a description (string, structured object/array, or null; 2-255 options). An option can be defined by example pictures: put image references in its description.
instructionsYesWhat Jev should decide: plain-language text, or structured JSON.
long_contextNoOpt into Jev's 262k long-context limits (an experimental danger-zone feature: slower and less accurate).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv0.2.3
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / assets / additionalProperties / additionalProperties
      Removed value: -false
    • addedInput schema / properties / assets / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • changedInput schema / properties / instructions / anyOf
      Previous value: -[
      -  {
      -    "minLength": 1,
      -    "type": "string"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "type": "object"
      -  },
      -  {
      -    "items": {},
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "propertyNames": {
      +      "type": "string"
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "items": {},
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / options / additionalProperties / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "type": "object"
      -  },
      -  {
      -    "items": {},
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "propertyNames": {
      +      "type": "string"
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "items": {},
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / options / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • changedInput schema / properties / state / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "type": "object"
      -  },
      -  {
      -    "items": {},
      -    "type": "array"
      -  }
      -]New value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "propertyNames": {
      +      "type": "string"
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "items": {},
      +    "type": "array"
      +  }
      +]
  2. First observedv0.2.2

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral-disclosure burden. It usefully states the return shape (chosen option, confidence, calibrated probabilities, and answer under the key "answer"), but does not discuss side effects, permissions, latency, cost, or failure behavior.

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

Conciseness5/5

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

The description is three tight sentences with no wasted language. Purpose is front-loaded, followed by return behavior and a key output detail.

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

Completeness4/5

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

The description covers the core purpose and return shape, and the schema fully documents all six parameters. Given the absence of annotations and output schema, it is substantially complete, though it could say more about operational constraints or alternatives.

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

Parameters3/5

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

Schema description coverage is 100%, so parameter meaning is already well documented in the schema. The description reinforces that options come from a labelled set and that the answer is keyed as "answer", but adds little else beyond the structured parameter descriptions.

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

Purpose4/5

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

The description states a specific operation: asking Jev a single-choice question and picking exactly one option from a labelled set. It clearly defines the resource and constraint, but does not explicitly contrast this with sibling tools such as jev_decide or jev_score.

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

Usage Guidelines3/5

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

The description implies the tool is for single-choice selection from labelled options, which gives some usage context. However, it does not say when to use this instead of jev_decide or jev_score, nor does it state exclusions or alternatives.

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