Skip to main content
Glama

jean — Molecular Biology & Genomics

variant_call_summary

Read-only

Summarize a variant call set the way bcftools stats does: records by class, transitions and transversions with their ratio, the twelve directed substitutions, indel lengths, per-contig counts, the FILTER tally, the QUAL range, and per-sample genotype counts. Reports what could NOT be counted rather than leaving a zero standing in for it, meaning a file whose genotypes were not parsed, and any genotype naming an allele its record never declares.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fileNowhich call set in this project, by name. Unset, it is the project's only one, and it refuses rather than guessing when there is more than one.
_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.
contigNosummarize ONE contig instead of the whole file, named as the file names it. The per-contig table is always over everything read; this narrows what everything else counts.
_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.
pass_onlyNocount only records whose FILTER is PASS or unset. A Ts/Tv computed over unfiltered calls and one computed over passing calls are different measurements, and this is which one you asked for.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
qualYesmin, max, median and the number of records stating no QUAL. Null when nothing stated one, which is not the same as a range of zero
tstvYests, tv and ratio over every ALT, and tsFirstAlt/tvFirstAlt/ratioFirstAlt over each site’s first ALT only. Both, because bcftools reports both and a multiallelic call set makes them differ
countsYesrecords, samples, and the class tallies: snps, mnps, indels, others, noAlts, multiallelicSites and multiallelicSnpSites. A site counts in every class its alleles carry, which is how bcftools counts them
filtersYesevery FILTER value seen with its count, including PASS and the unfiltered (`.`) tally: the two are different states and are counted apart
summaryYesthe call set in one sentence, generated from this run
per_contigYesrecords, snps and indels per contig, over everything read
per_sampleYesbcftools' PSC section per sample: refHom, nonRefHom, hets, transitions, transversions, indels, averageDepth, singletons, hapRef, hapAlt and missing
not_countedYeswhat this run could NOT count and why: `genotypesUnavailable` when the file's genotypes were not parsed (so per_sample is empty for a reason), and `badAlleleCalls` listing genotypes naming an allele their record never declares. Real bcftools stats exits on such a file rather than reporting per-sample numbers, so a non-empty list means per_sample has no bcftools counterpart to be compared against
indel_lengthsYesindel length (ALT minus REF) to the number of sites, sorted by length: bcftools' IDD section. Negative is a deletion
substitutionsYesthe twelve directed substitution types with their counts

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description goes beyond that by disclosing an unusual behavioral trait: uncountable things (unparsed genotypes, genotypes naming an undeclared allele) are reported rather than silently zeroed. That is a real semantic disclosure an agent would otherwise get wrong.

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, no filler, and the identifying purpose is front-loaded before the edge-case behavior. The long enumeration of output fields is dense but each item is information-bearing; the only quibble is that the field list partly duplicates the output schema.

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?

For a read-only summary tool with an output schema and fully documented parameters, the description covers purpose, scope, output shape, and the non-obvious reporting behavior for uncountable data. An agent has everything needed to call it correctly.

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% and the parameter descriptions are already rich (e.g. pass_only explains the Ts/Tv measurement distinction, file explains the refuse-rather-than-guess behavior). The description adds no syntax, format, or default information beyond what the schema already provides, so the baseline 3 applies.

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?

A specific verb (summarize) applied to a specific resource (a variant call set), anchored to a well-known reference implementation (bcftools stats) and followed by an explicit enumeration of the statistics produced. This clearly separates it from read_variant_calls, population_site_stats, and score_variant_effect without the agent having to open a schema.

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?

Usage is implied by the enumerated output: an agent can infer this is the tool for aggregate QC-style statistics over a call set. However, no alternative is named and there is no when-not guidance or precondition statement, so the agent must infer the routing itself.

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