Skip to main content
Glama

Classify into one of your options

jev_classify
Read-onlyIdempotent

Pick one option from a set you define, returning probability scores, confidence, and a recommended action gated on confidence.

Instructions

Pick exactly one option from a set you define. Returns the chosen option, the probability of every option, a confidence value, and a recommended action gated on confidence. Use when the answer is one of a fixed set. The options must be supplied by you: Jev selects among them and cannot invent a new one. Up to 255 options.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stateYesThe content to evaluate. A plain string for text, or an object/array for structured data such as a record, a diff, or a chat log.
optionsYesMap of option name to a description that separates it from the others. Both the name and the description are sent to the model, so keep names short and distinct. A description may be an object or array when structure clarifies it, or null to leave it undescribed.
add_noneNoAdd a no-match option meaning none of yours fits. Defaults to true. Turn off only when one option must always apply. If you already use the name 'none', the added option takes a different key and it is reported back as none_option.
questionYesThe judgment to make. A string, or an object/array when the question has several labelled parts. This is the only instruction Jev sees, so state it in full.
act_aboveNoConfidence at or above which the answer is marked 'act'. Default 0.8. Calibrate on your own data and the cost of being wrong.
review_aboveNoConfidence at or above which the answer is marked 'review' rather than 'abstain'. Default 0.5.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelYes
usageYes
actionYes
choiceYes
confidenceYes
latency_msYesWall-clock milliseconds for the API round trip, for your own calibration logs.
thresholdsYes
none_optionYesThe key carrying the no-match meaning, or null when none was added.
probabilitiesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.14.0

TDQS

A4.4/5.0
Behavior5/5

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

The description adds meaningful behavioral context beyond the annotations: it returns per-option probabilities, a confidence value, and a recommended action gated on confidence. It also states the constraint that Jev cannot invent a new option and the limit of 255 options. These details complement the readOnly/idempotent hints without contradicting them.

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 sentences, front-loaded with the core purpose, then the return value, then usage guidance and constraint. Every sentence adds information; there is no fluff or repetition.

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?

For a tool with 6 parameters and nested objects, the description covers purpose, usage, key constraints, and output. It relies on the schema for parameter details and thresholds, which is appropriate. It does not mention the add_none behavior or the exact return structure, but those are covered in the schema and output schema, so the description is sufficiently complete.

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 coverage is 100% and every parameter is well-described. The description adds only marginal information about parameters: it reinforces the options constraint and mentions the 255 limit (which is not in the schema). It does not detail each parameter, but the schema already does, so the description meets the baseline without adding significant value.

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?

The description states a specific action: picking exactly one option from a user-defined set, and clarifies it cannot invent new options. It distinguishes from open-ended tools by specifying 'Use when the answer is one of a fixed set.' This clearly differentiates it from siblings like jev_ask 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 Guidelines4/5

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

It gives a clear condition for use: 'Use when the answer is one of a fixed set.' This implies when not to use (open-ended questions) and notes the requirement that options must be supplied. However, it does not explicitly name alternative tools or provide a when-not list, so it stops short of a full 5.

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