Skip to main content
Glama

Jean — Molecular Biology & Genomics

draw_alignment

Read-only

Draw a block of an alignment as an SVG figure: the rows named, the residues shaded by how much of their column agrees with them, the column numbers over the block and Easel's Clustal conservation line under it.

Input Schema

NameRequiredDescriptionDefault
fromNofirst column drawn, 1-based and inclusive. Clamped into the alignment.
rowsYesthe ALIGNED rows, each {name, aligned}; every row must already be the same length. Wire `alignedSequences` from align_sequences.
rulerNoprint the column numbers over the block. 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.
schemeNoidentity shades a residue by how much of its column agrees with it, which works for any alphabet; nucleotide paints QUEEN's own base colours and is IGNORED over protein rows, which the answer's `scheme` then says. Values: identity (Column identity), nucleotide (Base colours).identity
columnsNohow many columns to draw. Past about 200 the letters are narrower than the strokes that make them.
_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.
cell_widthNowidth of one column's cell. In px. Advanced.
name_charsNohow many characters of a row's name to print; a longer one is elided in the middle, keeping the tail where two rows of a family differ. Advanced.
row_heightNoheight of one row. In px. Advanced.
conservationNoprint the conservation line under the block.

Output Schema

NameRequiredDescriptionDefault
svgYesthe alignment block as an SVG figure
rowsYesrows drawn
widthYesfigure width in px
heightYesfigure height in px
schemeYesthe scheme ACTUALLY used, which is `identity` whenever `nucleotide` was asked for over protein rows
columnsYescolumns in the WHOLE alignment, so the window can be read against it
alphabetYesthe alphabet the conservation line was computed for — Easel marks the strong and weak groups for protein only
lastColumnYeslast column drawn, 1-based inclusive
firstColumnYesfirst column drawn, 1-based inclusive, AFTER clamping
meanIdentityYesmean per-column identity over the window drawn, 0-1 — the window's, not the alignment's
conservedColumnsYescolumns in the window every row agrees on and none gaps — the `*` marks

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / height / x-unit
      Added value: +"px"
    • addedOutput schema / properties / width / x-unit
      Added value: +"px"
  2. 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 useful behavior about what the rendered artifact contains (shading by column agreement, Easel Clustal conservation line, ruler), but says nothing about size limits, failure modes, or how the SVG is returned. That is modest added value on top of the annotations, not rich behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the verb and output medium, then a compact enumeration of the visual layers in the order they appear on the figure. No filler, no restatement of the title, nothing that could be cut without losing information.

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 11 parameters, a nested _subject/_files model, full schema coverage, an output schema, and rich annotations, the description's burden is limited to explaining what the drawing contains — which it does. The one gap is that it never says how rows are obtained or what the returned structure is, though the schema and output schema cover both.

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 every parameter is already documented, and the prose does not name or explain any parameter directly. It gestures at the semantics behind ruler and conservation and the identity shading scheme, which partially overlaps what the schema already states. Baseline 3 is the right level here.

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?

"Draw a block of an alignment as an SVG figure" gives a concrete verb, resource and output medium, and the following clause enumerates the visual layers produced (row names, shading, ruler, conservation line). This clearly separates it from analytical siblings like alignment_agreement or alignment_pca. It stops short of naming any sibling explicitly, which keeps it out of 5 territory.

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?

The description never states when to reach for this renderer instead of the many other alignment tools (alignment_agreement, alignment_window, add_notebook_figure) and gives no prerequisites or exclusions. The desired input shape and the align_sequences wiring live only in the schema, so an agent gets no routing help from the prose.

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