Skip to main content
Glama

Jean — Molecular Biology & Genomics

variant_consequences

Read-only

Annotate every call in a VCF or BCF in this project against the transcripts of a GenBank reference: the Sequence Ontology term per transcript, Ensembl's IMPACT, HGVS c. and p., the CDS and protein positions, and the distance for an upstream, downstream or intronic call.

Input 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.
limitNohow many calls to return in `calls`; the counts are always of all of them. Advanced.
_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.
offsetNothe coordinate the reference's FIRST base has in the call set's contig. Default 1, the reference is the whole contig; a region cut out of a genome sets where it was cut from.
_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.
referenceNothe GenBank file the calls were made against, by name. Unset, every GenBank file in the project is a candidate: one is used for every call, several are matched to each call by its CHROM (accession or LOCUS).
min_impactNokeep only calls whose most severe consequence is rated at least this. Unset keeps every call.
up_down_stream_bpNohow far from a transcript a call still counts as upstream or downstream of it. SnpEff’s own default is 5,000; the window decides how many annotations each call gets. In bp.

Output Schema

NameRequiredDescriptionDefault
callsYesone row per ALT allele: chrom, pos, ref, alt, the most severe term, its IMPACT, gene, transcript, HGVS c. and p., and why it was not annotated when it was not
by_termYeshow many calls have each most-severe term, over all of them
summaryYeswhat the set holds, generated from the annotation
annotatedYesalleles annotated
annotationsYesevery consequence of every returned call, one per transcript it reaches
not_annotatedYesalleles skipped, each with its reason in `calls`

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.2/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 and the description does not contradict it. The description adds behavioral value by spelling out which annotation classes appear per transcript, which tells the agent what the output means biologically. It does not address runtime, per-call cost on large VCFs, or whether any state is persisted, which for a bulk annotation operation would be useful.

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 densely packed sentence that is front-loaded with the verb and the input resources, followed by the output inventory. Nothing is wasted, though the long comma-separated list of annotation types is heavier to parse than a two-sentence split would be.

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 an 8-parameter, nested-schema tool with full schema descriptions, full annotation coverage, and an output schema, the description covers purpose and output content adequately; return-value explanation is not needed. The remaining gap is operational context (behaviour with multiple GenBank files, scale limits), which the schema handles for the reference parameter but not at the workflow level.

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 the parameters are richly documented in-schema (file, reference, limit, offset, min_impact, up_down_stream_bp), so the baseline is 3. The description only incidentally illuminates one parameter, explaining that upstream/downstream/intronic distances are reported, which ties to up_down_stream_bp, but it adds nothing on reference selection, offset, or limit.

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?

The description opens with a specific verb and resource ('Annotate every call in a VCF or BCF... against the transcripts of a GenBank reference') and enumerates the exact annotations returned (SO term, IMPACT, HGVS c./p., CDS/protein positions, distances). It is clearly an annotation tool rather than a caller, summarizer, or scorer, though it never names a near-sibling such as score_variant_effect, auto_annotate, or variant_call_summary to sharpen the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no mention of alternatives, prerequisites, or what to do if a project has no GenBank reference. The 'in this project' framing implies the context, but an agent deciding between this and variant_call_summary or score_variant_effect gets no explicit routing rule.

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