Skip to main content
Glama

jean — Molecular Biology & Genomics

pick_first

Read-only

Rejoin two branches: takes the outputs of several conditional steps and emits the first one that actually ran. This is how a two-way branch comes back together: wire both arms in, and whichever arm ran is what continues.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
_filesNoThe project: record references shaped like _subject. Their records become library documents a tool names in sequences/parts/document; a trace or alignment is found by file name.
valuesNothe branches to choose between, in preference order. Wire one output from each arm.
_subjectNoThe record to act on: exactly one of sequence, accession (+source), sample (an id from list_samples) or file ({name, text} or {name, base64}); record_index picks one record of several.
fallbackNowhat to emit when NO branch ran. Leave empty to make that an error instead, which is usually what you want, because silently continuing with nothing is how a pipeline reports a result it never computed.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
indexYeswhich branch it came from (0 = the first wired)
valueYesthe first branch that produced anything
recordYesthe same value when it is a record, so it can drive a downstream $subject
ranCountYeshow many branches produced anything. More than 1 means the conditions were not exclusive

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and a closed world, so safety is covered. The description adds the useful selection semantic ('first one that actually ran'), but says nothing about the error behavior when no branch ran or what happens with the fallback, which only surfaces in the schema.

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?

Two sentences, front-loaded with the core action, and nothing extraneous. The second sentence partially restates the first ('how a two-way branch comes back together'), a minor redundancy.

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?

With an output schema present and 100% schema coverage on all four parameters, the description need not explain return values or param formats. It gives the conceptual model an agent needs to place this node in a pipeline; only the no-branch/failure path relies on the schema.

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 the schema already documents all four parameters, including the fallback-vs-error choice. The description only loosely gestures at the values parameter via 'wire both arms in' and adds no syntax or ordering detail beyond the schema. Baseline 3 applies.

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?

States a specific verb+resource: it rejoins branches and emits the first branch that ran. The control-flow role is unambiguous. There is no competing sibling (no pick_last or merge alternative), so sibling differentiation is moot, keeping it just short of a 5.

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?

Gives clear wiring context: 'wire both arms in, and whichever arm ran is what continues,' which tells the agent exactly when to reach for it. It stops short of explicit when-not-to-use or alternatives guidance.

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