Skip to main content
Glama

Jean — Molecular Biology & Genomics

summarize_rows

Read-only

Reduce a whole TABLE column to one number — the largest band, the median guide score, the spread of a set of melting temperatures.

Input Schema

NameRequiredDescriptionDefault
trimNothe fraction to drop from EACH end before averaging, 0-0.5. datamash's own bound: 0.5 keeps only the middle value. Only applies when operation is trimmean.
fieldNowhich field of each row to reduce (e.g. `size`, `score`). Leave empty when the rows are plain numbers; a tuple row is indexed by number, so `0` is the first column.
itemsYesthe rows to summarize. Wire a json/list output (bands, guides, assays, amplicons).
labelNowhat this summary IS, in your words. It becomes the message the run reports.
_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.
_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.
operationNowhich summary to take. The vocabulary is GNU datamash's, so a number here is the number `datamash <op>` gives for the same column. The last four relate TWO columns and need a `second_field`. Values: sum (sum), min (minimum), max (maximum), absmin (smallest by magnitude), absmax (largest by magnitude), range (range (max − min)), count (count of values), first (first value), last (last value), mode (most common value), antimode (least common value), unique (the distinct values, sorted), collapse (every value, in order), countunique (count of distinct values), mean (mean), geomean (geometric mean), harmmean (harmonic mean), trimmean (trimmed mean), median (median), q1 (lower quartile), q3 (upper quartile), iqr (interquartile range), perc (percentile), pstdev (standard deviation (population)), sstdev (standard deviation (sample)), pvar (variance (population)), svar (variance (sample)), ms (mean square), rms (root mean square), mad (median absolute deviation, scaled), madraw (median absolute deviation, unscaled), sskew (skewness (sample)), pskew (skewness (population)), skurt (excess kurtosis (sample)), pkurt (excess kurtosis (population)), jarque (Jarque–Bera normality p-value), dpo (D'Agostino–Pearson normality p-value), scov (covariance (sample)), pcov (covariance (population)), spearson (Pearson correlation (sample)), ppearson (Pearson correlation (population)).max
percentileNowhich percentile to take, 0–100. In %. Only applies when operation is perc.
group_fieldNosplit the rows by this field first and summarize each group: `template` on a multiplex screen, `strand` on a guide table. Leave empty to summarize the whole table.
second_fieldNothe second column for the pairwise operations, the one this field is related TO (e.g. `gc` against `size`). Only applies when operation is scov or pcov or spearson or ppearson.

Output Schema

NameRequiredDescriptionDefault
usedYeshow many of those rows actually carried a number. Lower than `count` means the column has gaps, and the summary says so rather than implying it read them all
countYeshow many rows went into it: a summary of three bands and a summary of thirty are different claims
valueYesthe summary itself. Wire it into a gate's `value` or its `against`; with a `group_field` this is the first group's value, and `groups` is the table you want
groupsYesone row per group (`{ group, value, count, used }`) when a `group_field` is set. Wire it into `check_rows` to gate every group at once
numberYesthe same answer as a number, so it can drive a numeric port directly. Absent for the text summaries (`first`, `unique`, …)
messageYeswhat was summarized, in words
groupCountYeshow many distinct groups the split found. Absent when nothing was grouped — an ungrouped summary has no group count, and a 0 would read as one

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.4/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 openWorldHint=false, so the safety profile is covered. The description adds that the reduction collapses a column to a single number, but says nothing about grouping behavior, how the label surfaces in the reported message, or that operation vocabulary mirrors GNU datamash — details that would help an agent predict results.

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?

A single front-loaded sentence with three compact examples and zero filler. The em-dash examples are useful, though an agent still has to open the schema to learn which operation produces each named outcome.

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

Completeness3/5

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

For a 10-parameter tool with nested _subject/_files objects, the description is thin: it omits grouping, pairwise operations, and the label behavior, relying entirely on the schema and existing output schema. Adequate but not complete for the tool's complexity.

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 explains every parameter including the tag-along trim/percentile/second_field preconditions. The description adds no parameter meaning beyond that, which is the baseline case for a fully documented schema.

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 concrete verb and resource: 'Reduce a whole TABLE column to one number', plus three illustrative outcomes (largest band, median guide score, spread of melting temperatures). The scope (whole column → scalar) is unambiguous, though it never names a sibling it differs from among the many analysis tools.

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 examples imply when the tool is appropriate (summarizing bands, guide scores, melting temperatures), which implies usage rather than stating it. There is no explicit when-not guidance and no pointer to alternatives such as filter_items or check_rows for row-level work.

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