Skip to main content
Glama

jev_items

Ask Jev the SAME questions about many states in one call — nothing is written.

The shape for "decide, then act": you have just read a page of rows or a list of profiles to triage with the same rubric, and you want a verdict per item before writing them, enriching them, or spending anything on them. Each item is judged on its own — one item's answer never depends on another's.

⚠️ Each state is sent to a third party (OpenRouter, which passes it to TypeSafe): put in it only the fields the judgement needs.

Returns — {model, answers, usage, failed, retry}: answers — one entry per item, in the ORDER SENT, each {index, answers: {…}} exactly as jev_ask returns them, or {index, error} for an item without an answer (a state the upstream refused, a transient failure, or not sent in time). A failed item never becomes a false verdict. usage — {decided, failed, input_tokens, cost} for the whole call. failed — the number of items without an answer. retry — the indexes that were NOT SENT because the call ran out of time (about 40 s): send exactly those again. [] when everything was sent.

A key problem (invalid key, no credits left) aborts the whole call rather than turning into N identical item errors; the answers already given are still billed, and the error says how many.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "items": "<items>",
      "questions": "<questions>"
    },
    "name": "jev_items"
  }
}

Input Schema

NameRequiredDescriptionDefault
_orgNoOrg (id) de CET APPEL. `oto_list_orgs()`.
itemsYesthe states to judge, at most 200 per call and 16 KB of JSON each. Either the raw states, or `{"key": <your id>, "state": {…}}` to get your own id back beside each answer (`key` is echoed, never sent).
modelNoanother model id (default: the pinned dated snapshot).
_groupNoÉquipe (id) de CET APPEL, sous son org parente.
_run_idNoOBLIGATOIRE à chaque appel dès `run_start` ou `data_claim_next` : sans lui, l'écriture sur une ligne réservée est refusée. Hérité seulement si le serveur tient un run actif — n'y compte pas.
_projectNoProjet (id) de CET APPEL — jeton PRIMAIRE. `oto_project(op='list')`.
parallelNohow many items in flight (default 10, max 50). Raise it for a big batch that must finish inside one call.
_instanceNoInstance de connecteur PRÉCISE (un credential exact). `oto_instance(op='list')`.
questionsYesthe rubric, same shape and same rules as `jev_ask`.

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations supplied, the description carries the full behavioral load and does so: it warns that each state goes to a third party (OpenRouter, then TypeSafe) and to send only needed fields, discloses a roughly 40 s time cap, describes per-item failure handling ('a failed item never becomes a false verdict'), partial billing on abort, and the key-problem abort path. That is the safety, privacy, cost, and failure surface an agent needs before calling.

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 claim, then a use-case paragraph, a privacy warning, and a structured Returns block — each section earns its place given there is no output schema. A few lines lean rhetorical ('The shape for "decide, then act"') and could be tightened, but nothing important is buried.

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?

No output schema exists, and the description fully specifies the return shape — `answers` in order sent with per-item errors, `usage`, `failed`, and `retry` indexes to resend — plus the timeout that generates `retry`. For a nine-parameter batch tool with cost and third-party exposure, nothing an agent needs to call 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, but the description adds real meaning: `items` supports either raw states or a `{key, state}` wrapper where `key` is echoed and never sent, `parallel` should be raised for a big batch that must finish in one call, and `model` defaults to a pinned dated snapshot. The org/group/project/run/instance context params are left entirely to the schema, which is acceptable given their coverage.

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 specific verb and resource: 'Ask Jev the SAME questions about many states in one call — nothing is written.' The word 'many' and the explicit no-write scope distinguish it from the sibling jev_ask, which the description later references for single-item shapes.

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?

Names the exact scenario it is for — a page of rows or profiles to triage with the same rubric before writing, enriching, or spending — and implicitly routes single-question usage to jev_ask by saying the rubric has 'same shape and same rules as `jev_ask`.' It also notes each item is judged independently, defining the boundary of when batching is valid.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources