Skip to main content
Glama

Server Details

Hosted DNA/RNA/protein tools: primers, oligos, PCR, cloning, CRISPR, alignment, batch & pipelines.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

106 tools
alphafold_lookupLook up an AlphaFold structure predictionA
Read-onlyIdempotent
Inspect

Look up a UniProt accession in the AlphaFold Protein Structure Database (CC-BY 4.0). Returns confidence, model version and structure file URLs, or {found:false} when no prediction exists for that accession.

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession, e.g. "P04637".

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint. The description adds details about return values (confidence, model version, file URLs) and the failure case ({found:false}), plus the license. No contradictions.

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?

Two sentences, front-loaded with the core action, no redundancy.

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?

Given the simple one-parameter input and no output schema, the description fully explains the return format including success and failure cases.

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% with a clear description and example. The tool description does not add further parameter guidance beyond the schema.

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?

The description specifies the action ('look up'), the resource ('UniProt accession in the AlphaFold Protein Structure Database'), and the database license. It clearly distinguishes itself from sibling tools like 'protein_annotate' or 'sequence_fetch' by focusing solely on AlphaFold predictions.

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?

The description implies use when needing AlphaFold predictions for a given UniProt accession. It does not explicitly state when not to use, but the narrow scope makes misapplication unlikely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aso_designASO Gapmer DesignerA
Read-onlyIdempotent
Inspect

Design antisense-oligonucleotide (ASO) gapmers against an mRNA target: scans candidate sites, builds the antisense oligo in the standard 5-10-5 architecture (chemically-modified wings, central DNA gap for RNase H1, phosphorothioate backbone), and screens each for known liabilities (G-quadruplex motifs, CpG immunostimulation, self-complementarity, GC extremes). No transcriptome-wide off-target search.

ParametersJSON Schema
NameRequiredDescriptionDefault
wingNoModified-wing length on each side (nt); the central gap = length − 2×wing.
lengthNoTotal gapmer length (nt).
targetYesNucleotide sequence (raw or FASTA; IUPAC accepted).

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, idempotentHint), the description adds rich behavioral context: it scans candidate sites, builds the antisense oligo with specific chemistry, screens for liabilities, and explicitly states what it does not do. This fully informs the agent of the tool's behavior.

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?

The description is two sentences long, front-loads the core purpose, and includes all essential details without unnecessary words. Every sentence adds value.

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?

While the purpose and behavior are well described, the output format is not mentioned. With no output schema to rely on, the agent is left uncertain about what the tool returns (e.g., list of designs, scores). This gap reduces completeness for a read-only design tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all three parameters with descriptions, but the description adds meaningful context by explaining the 5-10-5 architecture linking wing and length, and the screening steps. This provides additional semantics beyond the schema defaults and descriptions.

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?

The description clearly states the tool designs ASO gapmers against mRNA targets, specifies the 5-10-5 architecture, and distinguishes itself from sibling tools like siRNA or CRISPR design tools by focusing on antisense oligonucleotides and explicitly mentioning no transcriptome-wide off-target search.

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?

The description gives clear context for when to use this tool (for ASO gapmer design) and mentions a key limitation (no transcriptome-wide off-target search), implying alternative tools might be needed for that. However, it does not explicitly name alternatives or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

assembly_outcomesAssembly outcomes (what else you might have built)A
Read-onlyIdempotent
Inspect

Enumerate the specific wrong plasmids a multi-part Golden Gate or Gibson assembly can produce — a part dropped, inverted, duplicated, two parts swapped, the backbone self-circularised — as full sequences, ranked by how few independent mis-ligations each needs. Golden Gate outcomes are annotated with the MEASURED overhang cross-talk they would have to exploit (Potapov/Pryor ligation data). Feed the result to diagnostic_digest to pick a screening enzyme. Reports no probability per outcome: the ligation data does not measure transformation or vector background.

ParametersJSON Schema
NameRequiredDescriptionDefault
namesNoOptional labels for the parts, in the same order ("backbone", "promoter", "CDS"). Used in every outcome label.
enzymeNoGolden Gate only — the Type IIS enzyme, which fixes the overhang length (BsaI, BbsI, Esp3I (BsmBI)).BsaI
methodNoHow the parts are joined. Golden Gate junctions are the Type IIS fusion overhangs; Gibson junctions are the homology arms.goldengate
datasetNoWhich ligation dataset to read overhang cross-talk from (Golden Gate only).generic-t4-37c-1h
circularNoCircular product. Only circular assemblies are covered — a linear product's leading end is a free terminus, not a junction.
fragmentsYesThe parts in assembly order, raw or FASTA — the same list cloning_simulate takes. 2-8 parts.
overlapLenNoGibson only — homology arm length, which must match what the assembly was designed with.
maxAlternativesNoCap on returned alternatives, most accessible first. The pre-cap count is always reported as alternativesEnumerated.

TDQS

A4.4/5.0
Behavior5/5

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

With annotations already declaring readOnlyHint=true and idempotentHint=true, the description adds genuinely valuable behavioral context: outcomes are 'ranked by how few independent mis-ligations each needs,' cross-talk data is explicitly attributed (Potapov/Pryor ligation data), and the limitation is honestly disclosed ('Reports no probability per outcome: the ligation data does not measure transformation or vector background'). This is exactly the kind of caveat-dense behavioral disclosure the annotations can't express.

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?

The opening sentence is information-dense and slightly run-on (though it earns its length by cataloguing failure modes), and the middle sentences are efficient. It's front-loaded with the core purpose and ends with an honest limitation. Minor wordiness like 'the backbone self-circularised' adds color but is justifiable for a molecular biology audience. No waste, but a touch over-long.

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?

Given the complexity — 8 parameters, no output schema, two assembly methods, two datasets, and a nuanced cross-talk annotation system — the description is remarkably complete. It explains the ranking principle, data provenance, method-specific behavior, downstream tool integration, and important limitations. The lack of an output schema raises the burden on this description to characterize return behavior (ranked full sequences), which it does well.

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% with rich detail: enums for method and dataset, defaults documented, cross-tool references ('the same list cloning_simulate takes'), and contextual flags like 'Golden Gate only' and 'Gibson only.' The description adds no parameter-specific semantics not already in the schema, so the baseline of 3 for high-coverage schemas is appropriate.

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?

The description pairs a specific verb ('Enumerate') with a precisely-scoped resource ('the specific wrong plasmids a multi-part Golden Gate or Gibson assembly can produce') and catalogs what that entails (dropped, inverted, duplicated, swapped parts; backbone self-circularised). It clearly differentiates from siblings like cloning_simulate (generates intended assemblies) and verify_assembly, while the output direction toward diagnostic_digest disambiguates it from that tool.

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?

The description gives clear workflow guidance ('Feed the result to diagnostic_digest to pick a screening enzyme') and realistic exclusions ('Reports no probability per outcome'), implying when the tool is insufficient. However, it never explicitly names the obvious sibling alternative (cloning_simulate) for the 'intended assembly' case — it says 'the same list cloning_simulate takes' but doesn't say 'if you want the correct plasmid, use X instead.' A named alternative would push this to 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

band_tracebackBand traceback (where the extra band came from)A
Read-onlyIdempotent
Inspect

Explain a band you measured on a gel. Given the template, both primers and the observed size, it enumerates every pair of priming sites — including a single primer priming both strands — that would give a product that size, and ranks them by how much of each primer's 3' end matches without interruption, which is what decides whether a mispriming event can extend at all. Reports no yield and assigns no share of the band: the band is the input, not the output. Says plainly when nothing on this template explains the size, and what that points to instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
circularNoTemplate is circular (a plasmid).
templateYesThe template you amplified, raw or FASTA. Max 200,000 bp.
toleranceBpNoOverride the tolerance with a fixed window in bp.
observedSizeYesThe band size you measured off the gel, in bp.
forwardPrimerYesForward primer, 5'→3'.
maxCandidatesNoCap on returned candidates, best-anchored first.
maxMismatchesNoMismatches tolerated per primer while looking for sites (max 6). Higher finds more explanations and more coincidences.
reversePrimerYesReverse primer, 5'→3'.
tolerancePercentNoHow far off the size read may be, as a percentage. A percentage rather than a fixed number of bases because ±10% of 200 bp is not the same reading precision as ±10% of 5 kb.

TDQS

A4.5/5.0
Behavior5/5

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

The description explicitly states what the tool does not do ('Reports no yield and assigns no share of the band') and explains its ranking logic based on 3' end matching. It also discloses failure behavior ('Says plainly when nothing on this template explains the size'). Annotations include readOnlyHint and idempotentHint, and the description aligns with these without contradiction.

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?

The description is appropriately sized—three sentences that front-load the purpose, then detail algorithm and expectations. Every sentence adds value, with no filler or repetition of schema details.

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?

Given the tool's complexity (algorithmic enumeration, ranking, and failure modes), the description covers what the tool does, what it doesn't do, and what it returns. There is no output schema, but the description sufficiently sets expectations for outputs and edge cases.

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?

The input schema already provides 100% description coverage for all 9 parameters. The description adds no extra meaning about individual parameters beyond restating that the tool uses template, primers, and observed size. It doesn't clarify format, units, or relationships beyond what the schema says, so it meets the baseline but doesn't exceed it.

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?

The description clearly states the tool's purpose: to explain a band on a gel by enumerating priming-site pairs and ranking them. It uses a specific verb+resource ('Explain a band you measured') and distinguishes itself from siblings like in_silico_pcr by focusing on explaining observed bands rather than predicting them.

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?

The description gives clear context (use when you have a measured band and want its origin) but does not explicitly name alternatives or state when not to use it. It does imply that it's for troubleshooting unexpected bands, but lacks direct comparisons to related tools like primer_specificity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

base_editing_designBase Editing DesignerA
Read-onlyIdempotent
Inspect

Design cytosine (CBE, C→T) or adenine (ABE, A→G) base-editing gRNAs for an SpCas9 target: for each NGG gRNA it reports every editable base inside the editor's activity window, flags bystander edits (more than one editable base in the window), and — with a CDS reading frame — classifies each edit's amino-acid consequence (silent / missense / nonsense / stop-loss). Bystander-free guides are ranked first. Handles both strands (a C→T on the protospacer of a reverse-strand guide is reported as the forward-strand G→A).

ParametersJSON Schema
NameRequiredDescriptionDefault
editorNoBase editor: be3/be4max (CBE, C→T) or abe7.10/abe8e (ABE, A→G).be4max
targetYesNucleotide sequence (raw or FASTA; IUPAC accepted).
frameStartNoOptional 1-based CDS reading-frame start, to classify each edit's amino-acid consequence.
targetPositionNoOptional 1-based forward-strand position of the base you intend to edit; only guides whose window covers it are returned.

TDQS

A4.5/5.0
Behavior4/5

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

The description adds behavioral details beyond annotations (readOnlyHint=true): it explains strand handling, reporting of forward-strand changes for reverse guides, and classification of edits. Annotations already indicate safety, so the additional context is valuable. It lacks details on output format or pagination but is sufficient.

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?

The description is a single paragraph that is front-loaded with the main purpose and contains no fluff. It is slightly long but every sentence adds value. It could be slightly more structured (e.g., bullet points) but remains clear and efficient.

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?

Given no output schema, the description fully explains what the tool returns: reported editable bases, bystander flags, amino-acid consequences, and ranking of bystander-free guides. It covers strands and editing types completely. No gaps are present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the description still adds significant meaning: explaining what edible bases are, what bystander edits mean, and how frameStart affects amino-acid classification. This goes beyond the schema descriptions, providing critical context for proper parameter usage.

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?

The description clearly states the tool designs cytosine (CBE, C→T) or adenine (ABE, A→G) base-editing gRNAs for SpCas9 targets, reports editable bases, flags bystander edits, and classifies amino-acid consequences. It distinguishes itself from sibling tools like crispr_grna_design and prime_editing_design by specifying the base editing context.

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?

The description implies usage for base editing design and differentiates from siblings by naming specific editors (CBE, ABE). However, it does not explicitly state when not to use this tool or provide alternatives, leaving some inference to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

base_edit_quantBase editing quantification from Sanger traces (EditR equivalent)A
Read-onlyIdempotent
Inspect

Quantify CBE/ABE base editing from a pair of Sanger traces — an unedited control and the edited pool — without NGS. At each editable position in the activity window the edited trace is treated as a mixture of the unedited and converted peaks, and the control's OWN alt-channel signal at that same position is subtracted as background, because dye crosstalk is position- and context-dependent and a global constant would be wrong per position. Significance comes from a null built from the same sample (every control position outside the window carrying the same base), so the threshold adapts to the run's chemistry instead of being hardcoded. Returns per-position percentages with z-scores, the target and its bystanders, the background distribution (including a robust estimate of its spread and a count of its outliers), and the noise floor — the percentage the background alone reaches, or null when the run's own null has no spread to derive one from. A window position whose control already carries the converted base is reported but not quantified, because the (1 − b) rescale amplifies error by 1/(1 − b) and turns a 0.1-point wobble into half the pool. Locate the window with an editor id plus the protospacer, or give it explicitly. Blind to indels, which shift the trace rather than mixing a base. PREDICTED, NOT MEASURED. None is published for this implementation. Every run instead reports what it rests on: the background mean, sd, robust (MAD-based) sd, outlier count and n, and a noiseFloorPercent that says how much apparent editing the background alone reaches at the significance threshold — null, rather than 0, when the run has no null with any spread to derive a limit from. This implementation's recovery of known synthetic mixtures (to under a percentage point) is deliberately NOT offered as validation — it tests the arithmetic and the coordinate handling, not whether the linear mixture model fits a real capillary trace. Two properties ARE characterised. The bias is directional and one-sided: the (1 − b) rescale assumes a fully converted position would read as alt fraction 1.0, which real chemistry does not reach, so percentages run low by roughly the crosstalk fraction (order 5-10% relative at typical 3% bleed). The variance is not constant across positions: dividing by (1 − b) amplifies the error in a and b by 1/(1 − b), so the variance of the estimate goes as 1/(1 − b)². Positions whose control alt fraction b exceeds 0.25 are therefore reported but NOT quantified, which bounds that amplification at 1.33x on everything the tool does quantify. Valid for: A pool edited by a cytosine or adenine base editor, read on the same amplicon and chemistry as an unedited control that starts within ±40 bases of it, where the editing is a SUBSTITUTION. Not valid for indels — a base editor also makes them, and an indel-bearing allele shifts the downstream trace so that it degrades the fit at every window position rather than showing up anywhere. Not valid where the control read already carries the alt base at a window position (a pre-existing variant, or the wrong control), since then there is nothing left to correct against — that condition is DETECTED rather than only described: a window position whose control alt fraction exceeds 0.25 is reported with an excludedReason and an editedPercent of 0 instead of a number, warned about, and failed by the hard control-supports-the-window-base-calls gate check. Reported percentages are pool-level: Sanger sees the superposition, so which allele carries which combination of bystander edits is not recoverable from it at all.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoExplicit-window mode: the base it converts to, as READ on the control strand.
fromNoExplicit-window mode: the base the editor converts, as READ on the control strand (C for a CBE read forward, G for one read reverse).
editorNoBase editor id (be3, be4max, abe7.10, abe8e) — fixes the converted bases and the activity window in protospacer coordinates. Requires "protospacer". Mutually exclusive with the explicit window arguments.
offsetNoOverride the alignment offset between the reads (edited position p matches control position p + offset). Whole numbers only. By default it is found from the base calls outside the window; either way the identity reported back is the identity AT THE OFFSET USED, so overriding it does not hide a bad alignment behind the best-scoring one.
windowEndNoExplicit window end, 1-based inclusive, in CONTROL coordinates. Window length is capped at 40.
zThresholdNoSignificance threshold in standard deviations of the sample's own background. Must be between 1 and 10 — a value outside that range is REJECTED, not clamped, because a run silently retested at a threshold the caller did not choose looks exactly like one that was. Raising it raises the reported noise floor with it.
editedBasesYesBase calls of the edited pool's read.
protospacerNoThe 20-nt spacer, located in the CONTROL read. Found on either strand; a reverse-complement match numbers the protospacer right-to-left along the read and complements the converted bases (a CBE's C→T reads as G→A), which is handled. Must match exactly once.
windowStartNoExplicit window start, 1-based in CONTROL read coordinates. Requires windowEnd, from and to.
controlBasesYesBase calls of the UNEDITED control read.
editedChannelsYesPer-base [A, C, G, T] intensities of the edited read, same convention.
targetPositionNo1-based CONTROL position of the intended edit. Give it when you know it: without it the most-edited significant position is labelled the target and the rest become bystanders, which relabels a bystander-dominant result as a clean one.
controlChannelsYesPer-base [A, C, G, T] intensities of the control read, one row per called base, read at that base's peak location (trace arrays are indexed by scan, not by base).
targetProtospacerPositionNo1-based protospacer position of the intended edit (PAM-distal = 1). Editor mode only.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and idempotentHint, but the description adds substantial behavioral context: 'PREDICTED, NOT MEASURED', no published validation, directional one-sided bias, non-constant variance, the noise floor semantics, and pool-level interpretation. No contradiction with annotations.

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

Conciseness2/5

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

The description is extremely long and repetitive, covering the same caveats multiple times ('reported but not quantified', crosstalk background, indel blindness, validation status). Important information is buried in dense prose rather than structured with bullets or section headers, making it harder for an agent to extract actionable guidance.

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?

Despite lacking an output schema, the description thoroughly explains return values: per-position percentages, z-scores, target/bystanders, background distribution, robust sd, outlier counts, and noiseFloorPercent with null semantics. It also covers coordinate conventions, failure conditions, and the excludedReason behavior, making it complete for a complex 14-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds further meaning beyond the schema: it explains that targetPosition prevents bystander relabeling, that offset reports identity at the offset used, that raising zThreshold raises the noise floor, and the explicit-window from/to semantics on the control strand.

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?

States a specific verb and resource: 'Quantify CBE/ABE base editing from a pair of Sanger traces'. It distinguishes itself from indels ('Blind to indels') and NGS-free quantification, differentiating it from sibling tools like sanger_indel_spectrum and sanger_knockin_quant.

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

Usage Guidelines5/5

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

Explicitly specifies when the tool is valid ('substitution', 'unedited control that starts within ±40 bases') and when it is not ('Not valid for indels', 'Not valid where the control read already carries the alt base'). It also describes the two window-location modes (editor id + protospacer, or explicit arguments), giving clear selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batchBatch (one tool over many records)A
Read-onlyIdempotent
Inspect

Run one SeqBench tool over many records at once. input is multi-FASTA or one sequence per line; tool is any batchable tool name; args are shared arguments. Returns a table of per-record results.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoShared arguments applied to every record.
toolYesBatchable tool name (e.g. gc_content, translate).
inputYesMulti-FASTA or one sequence per line.

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description does not need to reiterate safety. It adds context about batch execution and return format but lacks details on error handling or limits. With annotations, this is adequate.

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?

The description is two sentences, front-loaded with core action, and every sentence adds value. No wasted words.

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?

Despite no output schema, the description mentions return format ('a table of per-record results'). Combined with annotations and schema, this is complete for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaning beyond schema labels by explaining 'input' as multi-FASTA or one per line, 'tool' as any batchable tool name, and 'args' as shared arguments. This helps the agent understand parameter semantics.

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?

The description clearly states the verb 'run' and the resource 'one SeqBench tool over many records at once'. It distinguishes from sibling tools, which are individual sequence analysis tools, making this a meta-tool for batching.

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?

The description implies usage for applying a tool to multiple sequences, but does not explicitly state when not to use it or mention alternatives. However, given the context and sibling tools, the purpose is clear enough for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

characterize_sequenceCharacterize sequenceA
Read-onlyIdempotent
Inspect

One-paste 'tell me everything': auto-detects DNA/RNA/protein, then reports composition, ORFs, single-cutter enzymes, end primers or protein properties, plus a BLAST link.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxOrfsNoMaximum number of ORFs to return, longest first.
minOrfAaNoMinimum ORF length in amino acids (nucleotide input only).
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).
endPrimerLengthNoLength of the naive end primers taken from each end.

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint and idempotentHint. The description adds behavioral context by listing the types of analyses performed (composition, ORFs, enzymes, etc.), which helps the agent understand the scope. No contradictions with annotations.

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?

The description is a single, concise sentence that front-loads the key purpose and lists the outputs efficiently. No unnecessary words.

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?

Given the tool's complexity (multiple analysis types), the description covers the main outputs. However, it does not mention the output format or any caveats (e.g., optional parameters). Annotations and schema cover safety and parameter details, so overall completeness is good but not perfect.

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 parameter meanings are well-documented in the schema. The description adds no additional parameter semantics beyond what is in the schema, so baseline score is appropriate.

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?

The description clearly states that the tool auto-detects sequence type and provides a comprehensive characterization including composition, ORFs, enzymes, primers, protein properties, and a BLAST link. This effectively differentiates it from siblings that focus on specific aspects like find_orfs or protein_properties.

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 description implies the tool is for comprehensive analysis ('One-paste tell me everything'), but does not explicitly state when to use it versus alternatives or when not to use it. Sibling tools provide context, but the description lacks direct guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cloning_diagnoseCloning failure diagnosis (ranked causes from design + observation)A
Read-onlyIdempotent
Inspect

Work out why a cloning experiment failed: no colonies, every clone empty vector, or no PCR band. Takes your design (method, parts, enzymes, primers, host methylation state) plus what you actually observed (colony counts on the plate and on each control, screening tally, band sizes, whether the ladder ran) and returns causes ranked by evidence — each with the deterministic fact from the design or the observation that implicates it, the cheapest observation that would separate it from the next candidate, and the next experiment. Causes the observations eliminate are reported as eliminated, naming the observation that did it; causes the design makes impossible are not listed. No probability is computed anywhere — the ordering is of evidence, not of likelihood, and ranking.evidenceBased says so when the inputs separate nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
partsNoParts in assembly order (Golden Gate / Gibson), or [vector, insert] for a restriction ligation. Raw or FASTA. Up to 8; 300,000 bp total across parts and template.
methodYesHow the construct was made. Decides which cause set applies and which design checks can run.
enzymesNoThe Type IIS enzyme for Golden Gate (BsaI, BbsI, Esp3I (BsmBI)), or the one or two restriction enzymes the insert and vector were cut with. An unrecognised name is rejected rather than skipped: every methylation and site-geometry verdict here reads "no site found" when the enzyme is missing, so a typo would come back as a clean bill of health.
symptomYesThe complaint. "no_colonies" = the plate is blank; "wrong_clones" = colonies grew but the clones are empty vector / rearranged / the original template; "no_pcr_band" = the gel lane is empty or the band is the wrong size.
coloniesNoColonies on the experimental plate. Omitting this is different from giving 0.
screenedNoScreening tally, up to 100,000 clones. The buckets must not add up to more than total — an inconsistent tally is rejected rather than reasoned over, because every verdict drawn from the screen compares a count against that total.
templateNoPCR template, raw or FASTA.
ladderRanNoWas the ladder itself visible in the same gel? A true here eliminates the whole stain-and-imaging branch in one observation.
partNamesNoLabels for the parts, in the same order ("backbone", "promoter", "CDS"). Used in every fact that names a part.
overlapLenNoGibson only — the homology arm length the assembly was designed with.
insertSourceNoWhere the insert came from. Only "plasmid_pcr" changes a verdict: a plasmid template replicates and selects on its own, so it can give colonies with no ligation at all.
vectorMarkerNoSelection marker on the vector. Compared against the plate's antibiotic by identity, not by guessing at free text.
primerForwardNoForward primer, up to 200 nt.
primerReverseNoReverse primer, up to 200 nt.
agarosePercentNoAgarose percentage of the gel. Snapped to the nearest tabulated value; decides the resolving window a band is placed against.
annealingTempCNoAnnealing temperature actually used, °C. Compared against each primer's own nearest-neighbour Tm.
hostMethylationNoDam/Dcm state of the DNA that was CUT — a property of the strain the plasmid was prepared from, not the one it was transformed into. Standard cloning strains are dam+/dcm+. "dam_dcm_minus" eliminates every methylation-blocking cause; "unknown" leaves the sequence overlap stated as a fact and the methylation as an open question.unknown
plateAntibioticNoAntibiotic on the plate. amp and carbenicillin count as the same selection (both select bla).
templateCircularNoTreat the template as a plasmid, so a product across the origin is found.
gelBandsObservedBpNoBand sizes read off the lane, bp. An empty array ("I looked and there was nothing") is not the same as omitting the field.
phosphataseTreatedNoWas the cut vector dephosphorylated (rSAP/CIP) before ligation?
noDnaControlColoniesNoColonies from the same cells and plate with NO DNA added. Non-zero means the plate is not selecting.
noInsertControlColoniesNoColonies from the identical reaction with the insert (or one part) left out.
positiveControlColoniesNoColonies from an intact, uncut plasmid into the same cell aliquot. Non-zero eliminates "the cells never took up DNA".
positiveControlSameMarkerNoDid that control plasmid carry the SAME selection marker? If not, it eliminates the cells but says nothing about the plate — the tool reports the difference.
uncutVectorControlColoniesNoColonies from the digested but UNLIGATED vector. Measures intact vector that survived the digest, with no help from the ligase.
transformationEfficiencyCfuPerUgNocfu/µg from a control transformation, where it was measured.

TDQS

A4.6/5.0
Behavior5/5

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

The description adds substantial behavior beyond the annotations: it discloses that ordering is by evidence, not likelihood; that no probability is computed; that eliminated causes are reported with the eliminating observation; that design-impossible causes are omitted; and that inputs are rejected rather than skipped. All of this is consistent with readOnlyHint=true, openWorldHint=false, and idempotentHint=true — no contradiction.

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?

The description is long, but the tool has 27 parameters and no output schema, so the density is largely justified; every sentence carries behavioral or output-format content. It is front-loaded with purpose, and the only mild redundancy is the input enumeration, which earns its place by establishing the design/observation split.

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?

With no output schema, the description carries the full burden of explaining the result shape, and it does so thoroughly: ranked causes with the implicating fact, the cheapest separating observation, the next experiment, eliminated causes, and excluded causes. Nothing an agent needs to know to invoke the tool or interpret its response is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, and the description correctly does not repeat per-parameter definitions. It adds a schema-independent organizing layer by partitioning inputs into design (method, parts, enzymes, primers, host methylation) versus observation (colony counts, screening tally, band sizes, ladder ran), which helps an agent understand which parameters drive verdicts.

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?

The description opens with a specific verb-resource pair ('Work out why a cloning experiment failed') and enumerates the three accepted symptoms, leaving no ambiguity about scope. It clearly distinguishes this from sibling cloning_simulate: the agent is told this tool consumes both design and observed outcomes and returns ranked causes, whereas simulation covers forward prediction.

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?

The description makes the trigger condition explicit — a failed experiment matching one of the three symptom categories — and implicitly excludes related siblings (virtual_gel, in_silico_pcr, cloning_simulate) by describing its input/output contract. It stops short of explicitly naming alternatives or stating 'use this instead of X,' which would make routing fully unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cloning_simulateCloning simulatorA
Read-onlyIdempotent
Inspect

Assemble fragments by Gibson/overlap, Golden Gate (Type IIS), restriction–ligation (sticky or blunt), TOPO/TA, LIC or SLIC (T4-polymerase chew-back) or In-Fusion/CPEC, returning the product, the junctions and — for the primer-design methods — the junction primers. Each method is modelled as its own chemistry rather than as one product model with different labels: LIC's chew-back stops at the first occurrence of the single dNTP supplied, so a tail carrying that base stops it early and a tail without one lets it run past the junction, and both are refused with the offending base and position named.

ParametersJSON Schema
NameRequiredDescriptionDefault
namesNoOptional labels for each fragment.
enzymeNoType IIS enzyme for Golden Gate — one of BsaI, BbsI, Esp3I (BsmBI); "BsmBI" also resolves to Esp3I. Any other name is rejected rather than substituted.BsaI
insertNoInsert sequence (restriction, topo and lic methods).
methodYesAssembly method. gibson/goldengate design the junction primers for bare fragments; restriction and topo build a product from a vector and an insert; lic and slic model T4-polymerase chew-back (sequence-defined and time-stopped respectively); infusion is In-Fusion/CPEC, 15 bp terminal homology with no exonuclease, and works out the fragment ORDER for itself.gibson
vectorNoVector sequence (restriction, topo and lic methods; for lic, the LINEARISED vector).
enzyme3NoInsert 3′ enzyme (restriction method).BamHI
enzyme5NoInsert 5′ enzyme (restriction method).EcoRI
circularNoProduce a circular product.
topoModeNoTOPO chemistry (topo method): TA (Taq 3′-A), blunt, or directional (pENTR/D-TOPO, needs 5′-CACC on the insert).ta
fragmentsNoFragments (5′→3′). Used by gibson/goldengate/slic/infusion. gibson and goldengate assemble them head-to-tail in the order given and add the junctions by primer; slic needs the homology already ON the fragments and keeps the order given; infusion needs it on the fragments too but derives the order from the homologies, so the order listed here is ignored. slic and infusion take at most 24.
overlapLenNoGibson homology-arm length (bp).
armTmTargetNoTarget annealing Tm (°C) for primer arms.
chewBackLenNoslic method: nucleotides removed from each 3′ end. A SLIC chew-back has no dNTP to arrest it and is stopped by time, so this is an input rather than a property of the sequence. 0 (default) models the intended reaction — chewed to the full homology and no further; any positive value is checked against each junction's own homology, and both overrunning it and falling short of meeting the chew-back coming the other way are reported.
homologyLenNoinfusion method: terminal homology required at every junction, in bp. At least 15 — the junction is annealed and extended by a polymerase with no exonuclease to widen it and no ligase to seal it, so a shorter overlap is a different chemistry rather than a weaker version of this one.
vectorEnzyme3NoVector 3′ enzyme (restriction method); defaults to enzyme3.
vectorEnzyme5NoVector 5′ enzyme (restriction method); defaults to enzyme5. Set a different, compatible enzyme (e.g. BglII for a BamHI insert) to model heterologous-overhang cloning.
insertNucleotideNolic method: the single dNTP the INSERT's chew-back was run with. Normally the COMPLEMENT of vectorNucleotide (the classic pair is dTTP on the vector, dATP on the insert) — with the same base for both, each junction's shared block would have to avoid that base and its complement at once.
vectorNucleotideNolic method: the single dNTP the VECTOR's chew-back was run with (T for dTTP…). Required — T4 pol's exonuclease stops at the first occurrence of this base reading inward from each 3′ end, so there is no answer without it.
mergePreAddedArmsNoGibson only. When two fragments already share terminal sequence, count that share ONCE (the default — it is a homology arm the fragments already carry) or set false to concatenate it twice. The second reading is the right one when the shared block is a genuine tandem repeat, e.g. a 2x tag or enhancer split between its copies: nothing in the two fragments can tell the two apart, so the choice belongs to the caller. Either way the share is reported in preAddedArms and both readings are returned in `readings`.
dephosphorylateVectorNoCIP/rSAP-dephosphorylate the vector to suppress self-ligation background (restriction method).

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows calling this is safe and repeatable; the description does not repeat that but goes beyond the annotations by explaining failure modes and edge-case rules (LIC chew-back refusal with 'the offending base and position named', slice chew-back overrun/shortfall reporting, mergePreAddedArms returning 'both readings'). The description adds meaningful detail about outputs ('returning the product, the junctions and... junction primers'). However, it doesn't disclose things like the maximum fragment count (24, which is in the schema), runtime behavior, or the fact that output is always a simulation with no persistence. The bar is lower because annotations cover the safety/idempotency profile, and the description does add real behavioral context, so a 3 is fair but on the higher edge.

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?

The description is a single, information-dense sentence with a useful dash-separated expansion for the LIC edge case. The purpose statement is front-loaded and the chemistry model principle is stated up front. However, it runs long and packs several concepts into one sentence; an agent may need to re-read to parse the LIC clause. It is efficient but could be lightly broken into two sentences to improve scannability. It earns its length.

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 20-parameter, multi-chemistry simulation tool, the description is remarkably complete. It identifies the methods, the return values, the per-method data requirements (insert vs fragments), edge cases and defaults. The output is described (product, junctions, primers) even though there is no output schema. The long per-method schema descriptions carry the detailed parameter semantics, and the description handles the cross-cutting behavioral rules. Nothing an agent needs in order to select and call the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/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 every parameter in detail. The description nonetheless adds critical meaning beyond the schema: it explains the semantic difference between methods that order fragments head-to-tail (gibson/goldengate) vs. those that derive order from homology (infusion), and it explains the significance of the mergePreAddedArms flag with a concrete example (2x tag). It also provides the conceptual logic behind lic's insertNucleotide/vectorNucleotide complement rule and the chewBackLen check. The description ties the parameters to the chemistry model rather than just restating the schema, exceeding the baseline 3.

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?

The description opens with a specific verb ('Assemble fragments by') and an exhaustive list of the assembly chemistries the tool models, and it explicitly distinguishes the tool's core design principle ('Each method is modelled as its own chemistry...'). It clearly names the resource (fragments/vector → assembled product with junctions/primers). Against the sibling list, this stands apart from cloning_diagnose (diagnosis vs simulation), construct_autofix, verify_assembly, and golden_gate_fidelity/from_parts, and the opening sentence makes that differentiation clear without needing to read any schema.

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?

The description explains what the tool returns ('product, the junctions and — for the primer-design methods — the junction primers') and gives a working example of the LIC chemistry's behavior, which signals when a user should expect refusal. However, it does not explicitly state when NOT to use this tool or name alternative tools (e.g., when a user should reach for cloning_diagnose, golden_gate_fidelity, or construct_autofix instead). The usage context is clear but the exclusion criteria to siblings are absent. The long method enum descriptions in the schema add a lot of per-method usage guidance, which partly compensates.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

codon_adaptation_indexCAI analyserB
Read-onlyIdempotent
Inspect

Codon Adaptation Index (CAI) and per-codon relative adaptiveness of a CDS against an expression host, with rare-codon and GC3 analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
organismNoecoli
sequenceYesCoding sequence (DNA/RNA; should start in-frame at ATG).
frameStartNo1-based position to start reading codons.
rareThresholdNoRelative adaptiveness (w) below this flags a codon as rare.

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 and idempotentHint=true, so the description does not need to restate these. The description adds context about the analysis outputs (CAI, adaptiveness, rare-codon, GC3) but does not disclose any unexpected behaviors, side effects, or limitations beyond what annotations provide.

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?

The description is a single well-formed sentence that efficiently conveys the tool's purpose without redundancy. Every word contributes to meaning, making it easy to scan and understand quickly.

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

Completeness2/5

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

The tool has moderate complexity (4 parameters, no output schema), but the description does not explain what the tool returns (e.g., numerical values, plots, or a report). It omits details about output format, error conditions, or required input validation, leaving the agent to infer behavior.

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 75%, and the schema itself provides clear descriptions for all parameters (e.g., sequence: 'should start in-frame at ATG'). The description adds no new meaning beyond listing the analysis components, so it meets the baseline but does not enhance parameter understanding.

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?

The description explicitly states that the tool computes Codon Adaptation Index and per-codon relative adaptiveness for a coding sequence against an expression host, including rare-codon and GC3 analysis. This clearly identifies the tool's specific function and distinguishes it from sibling tools like codon_optimize and gc_content.

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 provides no guidance on when to use this tool versus alternatives (e.g., codon_optimize for modification, gc_content for simple GC). It does not mention exclusions or prerequisites, such as requiring a valid coding sequence starting with ATG.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

codon_optimizeCodon optimiserA
Read-onlyIdempotent
Inspect

Codon-optimise a protein (or coding DNA) for an expression host by picking the most-frequent codon per residue.

ParametersJSON Schema
NameRequiredDescriptionDefault
proteinYesProtein sequence (one-letter codes). Coding DNA/RNA is accepted and translated in frame +1 up to the first stop codon (residues after an in-frame stop are NOT optimised).
organismNoecoli
inputTypeNoHow to read `protein`. 'auto' guesses from the alphabet (>90% ACGTUN reads as DNA), which mis-files genuine Ala/Cys/Gly/Thr/Asn-only peptides — set 'protein' or 'dna' to force it.auto

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds the deterministic algorithm ('most-frequent codon per residue'), which reinforces idempotency. It does not mention that coding DNA is translated in frame +1 up to the first stop codon (a key behavior), though that detail is captured in the input schema's protein parameter description. Overall, it adds some useful context beyond annotations.

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?

The description is a single sentence, front-loaded with the purpose, and contains no superfluous words. It effectively communicates the core function and method in a compact form.

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?

There is no output schema, and the description does not explicitly state what the tool returns (presumably an optimized DNA sequence). It also omits how the tool handles ambiguous inputs (e.g., protein-only vs DNA) beyond the 'protein' parameter schema. For an agent to know the invocation's result, this is a notable gap, though the tool's simplicity mitigates it.

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 67%, with detailed descriptions for 'protein' and 'inputType'. The main description adds the term 'expression host' which maps to the 'organism' parameter, but does not further explain the 'organism' enum or default. The schema itself provides sufficient meaning for all parameters, so the description does not need to compensate much.

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?

The description uses a specific verb ('Codon-optimise') with a clear resource ('a protein (or coding DNA)') and states the method ('picking the most-frequent codon per residue'). It clearly distinguishes from siblings like 'reverse_translate' (which does not optimize for a host) and 'codon_adaptation_index' (which computes a score, not an optimized sequence).

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 description implies use for host-specific codon optimization ('for an expression host'), but does not explicitly state when to use this tool versus alternatives or when not to use it. Sibling tools like 'reverse_translate' are not mentioned as alternatives, and no exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

construct_autofixConstruct auto-fix (domestication)B
Read-onlyIdempotent
Inspect

Iteratively substitutes synonymous codons to resolve unwanted restriction sites (domestication for Golden Gate), homopolymers, tandem repeats, predicted secondary structure, cryptic RBS/polyA motifs and hidden alternate-frame ORFs that construct_qc flags — without changing the encoded protein (verified). Does NOT touch premature stops or GC extremes; re-run construct_qc afterward to confirm. A native TypeScript alternative to a constraint-solver sidecar.

ParametersJSON Schema
NameRequiredDescriptionDefault
gcLowNo
gcHighNo
gcWindowNo
organismNoCodon-usage table to prefer among synonymous options.ecoli
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).
maxPassesNoRepeat full passes until clean or no further progress.
frameStartNo1-based nucleotide where the reading frame begins.
avoidEnzymesNoEnzyme names whose internal sites should be removed (e.g. ["BsaI","BsmBI"] for Golden Gate domestication).
homopolymerMinNo
crypticOrfMinAaNoMinimum peptide length (aa) for a hidden alternate-frame ORF to be flagged.

TDQS

B3.4/5.0
Behavior1/5

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

The description contradicts the annotation readOnlyHint=true because the tool clearly modifies the sequence (substitutes codons). According to the rule, a score of 1 is given when description contradicts annotations. The description itself is transparent, but the contradiction undermines trust.

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?

The description is extremely concise with four sentences covering purpose, scope, limitations, and context. Every sentence earns its place with no redundancy.

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?

Given the complexity (10 parameters, no output schema) and the annotations with contradictions, the description covers the main purpose and limitations but lacks details on output format, error cases, and parameter interplay. It is minimally adequate but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 60%, but the tool description adds no additional information about the 10 parameters. The description does not explain parameter roles, defaults, or interactions beyond what is in the schema, so it fails to add value.

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?

The description clearly states the tool iteratively substitutes synonymous codons to resolve unwanted restriction sites and other issues flagged by construct_qc, without changing the encoded protein. It distinguishes itself from sibling tools like construct_qc and codon_optimize by focusing on fix-ups after QC.

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

Usage Guidelines5/5

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

The description explicitly advises to re-run construct_qc afterward, implies it should be used after construct_qc detects problems, and states what it does NOT touch (premature stops, GC extremes). This provides clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

construct_qcConstruct QC linterA
Read-onlyIdempotent
Inspect

Lint a coding DNA sequence for premature stops, internal RBS/polyA motifs, unwanted restriction sites, GC extremes and repeats.

ParametersJSON Schema
NameRequiredDescriptionDefault
gcLowNoGC% below this flags an AT-rich window.
gcHighNoGC% above this flags a GC-rich window.
gcWindowNoSliding-window size (nt) for GC-extreme scanning.
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).
frameStartNo1-based nucleotide where the reading frame begins.
avoidEnzymesNoEnzyme names whose internal sites should be flagged as errors. Matched against the curated common-enzyme set plus the Golden Gate Type IIS enzymes (BsaI, BbsI, Esp3I/BsmBI); an unrecognised name is rejected, never skipped.
homopolymerMinNoMinimum run length to flag a homopolymer.
crypticOrfMinAaNoMinimum peptide length (aa) for a hidden alternate-frame ORF to be flagged.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds behavior by enumerating the features it flags, which suggests the output will be a report of those issues. It does not contradict the annotations and adds useful context beyond what annotations declare, though it does not specify output format or error handling.

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?

The description is a single sentence that front-loads the verb 'Lint' and immediately enumerates the checks in a compact list. Every word contributes meaning, and there is zero fluff or 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 8 parameters and no output schema, the description plus the rich schema annotations cover the behavior well. The absence of an explicit return-format description is a minor gap, but the term 'lint' implies a report, and the enumerated checks give a clear picture of what will be flagged. The tool's scope is adequately complete for selection and invocation.

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 every parameter (sequence, gcLow, gcHigh, gcWindow, frameStart, avoidEnzymes, homopolymerMin, crypticOrfMinAa) has a rich description and defaults. The tool description itself does not discuss parameters, but the schema fully carries that burden, so the baseline of 3 is appropriate.

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?

The description uses a specific verb ('Lint') and a specific resource ('coding DNA sequence'), and enumerates the exact checks it performs: premature stops, internal RBS/polyA motifs, unwanted restriction sites, GC extremes, and repeats. This clearly distinguishes it from siblings like gc_content or restriction_sites, which target only a single check.

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?

The description conveys a clear use case: comprehensive QC of a coding DNA construct. It implies that this tool should be used when multiple sequence features need to be validated at once, but it does not explicitly name alternatives or state when not to use it. Hence it provides clear context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

crispr_grna_designCRISPR gRNA designerA
Read-onlyIdempotent
Inspect

Find and score candidate guide RNAs (protospacer + PAM) in a target DNA for common nucleases (SpCas9, SpCas9-NG, SaCas9, Cas12a). PREDICTED, NOT MEASURED. No held-out skill statistic is claimed. Both are pre-2016 models superseded in accuracy by Rule Set 2 / Azimuth and by DeepSpCas9, neither of which is shipped here. Treat the ordering as a ranking aid, not an efficiency prediction. Valid for: SpCas9 with an NGG PAM and a 20 nt spacer, and only when enough genomic flanking context is present to build the model's 30-mer / 35-mer window — both scores are null rather than padded otherwise. Nothing is predicted for SaCas9, Cas12a or SpCas9-NG.

ParametersJSON Schema
NameRequiredDescriptionDefault
minScoreNoOnly return guides with a heuristic score at least this high (0–100).
nucleaseNoNuclease id. Omit to just list the available nucleases (no scan is performed).spcas9
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).
searchReverseStrandNoAlso scan the reverse strand for guides.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already mark the tool as readOnlyHint=true and idempotentHint=true. The description goes well beyond by stating that scores are predicted, not measured; that models are pre-2016 and superseded; that ordering is a ranking aid only; and that scores are null rather than padded for invalid conditions (SaCas9, Cas12a, SpCas9-NG). This fully discloses the tool's limitations and behavior, adding significant transparency.

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?

The description is front-loaded with the main purpose in the first sentence. Every subsequent sentence adds value (caveats, validity conditions). While it could be slightly more concise by merging some warnings, the trade-off for clarity is acceptable. No superfluous text.

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?

Despite lacking an output schema, the description explains what the output contains (scored guides), when scores are null, and what the order means. It also handles edge cases (no scan if nuclease omitted). For a tool of this complexity (multiple nucleases, scoring models, validity conditions), the description is remarkably complete without needing to reference external documentation.

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% — all four parameters have descriptions in the JSON schema. The description does not add new parameter-specific details beyond what the schema already provides (e.g., minScore default, nuclease enum, sequence format, searchReverseStrand). According to guidelines, with high schema coverage the baseline is 3, and the description does not improve upon this.

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?

The description explicitly states the tool finds and scores candidate guide RNAs for specific nucleases, which clearly distinguishes it from siblings like crispr_offtarget_check, prime_editing_design, and others. The verb 'Find and score' paired with 'candidate guide RNAs' makes the action and resource unambiguous, and the listed nuclease names differentiate from related CRISPR tools.

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?

The description provides strong usage context: it warns that predictions are not measured, models are superseded, and ordering is only a ranking aid. It also specifies validity conditions (only SpCas9 with NGG PAM and sufficient flanking context; null scores otherwise). However, it does not explicitly name alternative tools (e.g., more accurate models) or say when to prefer those, leaving the agent to infer from the caveats.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

crispr_hdr_donorHDR donor designerA
Read-onlyIdempotent
Inspect

Build an HDR donor (homology arms flanking an edit) from a target sequence and either an explicit edit window (editStart/editEnd) or a guide's cut site (guideStart/guideEnd/guideStrand/nuclease — SpCas9-family only; Cas12a's staggered cut needs an explicit editStart/editEnd). Also designs genotyping primers spanning the edit site on the original sequence (a real size-shift or sequencing target to confirm the edit), reusing the same primer-design engine as primer_design.

ParametersJSON Schema
NameRequiredDescriptionDefault
editEndNo1-based inclusive end of the region being replaced; editEnd = editStart-1 denotes a pure insertion with nothing removed. Omit to derive from the guide's cut site.
blockPamNoWhen a SpCas9-family guide is supplied and the edit does not already disrupt its PAM, fold a PAM-blocking mutation (silent when a CDS frame is given) into the donor so the edited allele can't be re-cut.
guideEndNo1-based forward-strand end of the guide's protospacer.
nucleaseNoNeeded only when deriving the cut site from guideStart/guideEnd/guideStrand.spcas9
armLengthNoHomology arm length (bp) on each side. Use ~30–60 for an ssODN donor, ~500–1000 for a dsDNA donor plasmid.
editStartNo1-based start of the region being replaced. Omit to derive from guideStart/guideEnd/guideStrand instead.
frameStartNoOptional 1-based CDS reading-frame start; makes the PAM-blocking mutation synonymous where possible.
guideStartNo1-based forward-strand start of the guide's protospacer (alternative to editStart/editEnd, for an insertion exactly at the cut site).
guideStrandNoStrand the guide's protospacer is on.
replacementYesSequence to insert/substitute ("" for a pure deletion).
targetSequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).
designGenotypingPrimersNoAlso design a primer pair (on the original targetSequence) whose product spans the edit site.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, establishing safety. The description adds meaningful context: it reuses primer_design engine, auto-designs genotyping primers, and handles PAM disruption. No contradictions with annotations. Additional detail about 'real size-shift or sequencing target' adds transparency.

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?

The description is a single paragraph of about 4 sentences, front-loaded with the core purpose. Every sentence contributes necessary information without redundancy. It efficiently covers modes, nuclease constraints, and secondary functionality (genotyping primers).

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?

The description explains inputs and high-level outputs but does not specify the exact return format (e.g., what sequences or primer pairs are returned). Since there is no output schema, this information is needed for the agent to understand how to use the result. Otherwise, it covers the main use cases and parameter interactions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds value beyond the schema by grouping parameters into two modes (edit window vs guide cut) and explaining edge cases like Cas12a requiring explicit edit window. It also clarifies the purpose of blockPam and frameStart in the context of PAM disruption.

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?

The description clearly states the tool builds an HDR donor with homology arms flanking an edit. It specifies two modes: explicit edit window or guide cut site, and mentions it designs genotyping primers. It distinguishes from sibling tools like primer_design by noting it reuses its engine, and covers nuclease-specific constraints (Cas12a needs explicit window). No ambiguity.

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?

The description provides clear guidance on when to use explicit editStart/editEnd versus guide parameters, especially for Cas12a. It also explains PAM-blocking behavior. However, it does not explicitly compare to other design tools like prime_editing_design or base_editing_design, leaving the decision to the agent's broader context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

crispr_offtarget_checkCRISPR guide off-target checkA
Read-onlyIdempotent
Inspect

Screen a guide's protospacer for off-target sites (protospacer match + valid PAM, both strands) against a small curated set of common lab reference genomes (see genomesChecked) — NOT a whole human/mouse genome search. For SpCas9 with a 20 nt spacer each site also gets a Doench 2016 CFD score, so sites are ranked by predicted cut likelihood rather than by mismatch count alone, and the guide gets an aggregate specificity. Use this the same way primer_specificity is used: a useful sanity check within the covered organisms, not a clearance guarantee for a mammalian expression host. PREDICTED, NOT MEASURED. Best of the common off-target scores on the authors' GUIDE-Seq comparison, at Pearson r = 0.40 over 9 guides and 402 sites (vs CCTop 0.31, Hsu-Zhang 0.26) — a useful ranking, not a reliable magnitude. Weights were measured for SINGLE mismatches; multiple mismatches are multiplied, and Listgarten et al. 2018 note the training data never contained a mismatch and an alternative PAM together, so that combination is extrapolation. Valid for: SpCas9 with a 20 nt spacer, which is the only case scored — every other nuclease returns null rather than a number from the wrong enzyme's table. One locus, one cell line. Substitutions only: DNA/RNA bulges are neither searched nor scorable, and a low score is not a claim that a site is safe.

ParametersJSON Schema
NameRequiredDescriptionDefault
nucleaseNoNuclease id — determines the PAM pattern/side required at each candidate site.spcas9
protospacerYesThe guide's protospacer sequence, 5'→3' (no PAM). Max 32 nt — every supported nuclease uses a 20–23 nt guide.
maxMismatchesNoMismatches tolerated between the protospacer and a candidate genomic site. Max 4 — a complete search seeds on maxMismatches+1 non-overlapping blocks, and past that the blocks are too short to be selective against a multi-Mb genome (a site that mismatched more would not be cut anyway).

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already provide readOnlyHint, openWorldHint, and idempotentHint. Description adds extensive behavioral detail: CFD scoring only for SpCas9 20nt spacer, Pearson correlation 0.40, single mismatch limitation, null returns for unsupported nucleases, and that DNA/RNA bulges are not searched. No contradictions with annotations.

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?

The description is front-loaded with the core purpose and then adds important caveats. It could be slightly more concise (e.g., the GUIDE-Seq comparison detail is valuable but adds length), but each sentence earns its place for capturing nuanced behavior. No waste.

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?

Given the tool's complexity (3 parameters, no output schema, nuanced behavioral constraints), the description covers purpose, scope, limitations, scoring validity, and exception cases. Without output schema, describing the ranking output would improve completeness, but the description is already thorough for a read-only computation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description adds value by explaining the broader context: that maxMismatches seeding uses maxMismatches+1 blocks, and that nuclease determines PAM pattern. However, it doesn't explicitly describe the allowed sequence range for protospacer beyond what schema provides.

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?

Description clearly states the tool screens a protospacer for off-target sites (protospacer match + valid PAM, both strands) against curated lab reference genomes, not whole genomes. This distinctively positions it from sibling tools like crispr_grna_design or primer_specificity, with explicit scope limitations.

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

Usage Guidelines5/5

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

Explicitly says to use 'the same way primer_specificity is used: a useful sanity check within the covered organisms, not a clearance guarantee.' States what it's NOT (whole genome search, measured data, safe for multiple mismatches + PAM combinations, valid for non-SpCas9 nucleases). Provides clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cross_dimerCross-DimerA
Read-onlyIdempotent
Inspect

Screen two oligos for the most stable heterodimer (cross-dimer) between them.

ParametersJSON Schema
NameRequiredDescriptionDefault
sequenceAYesFirst oligo (5'→3').
sequenceBYesSecond oligo (5'→3').

TDQS

A3.5/5.0
Behavior2/5

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

Annotations indicate read-only and idempotent, but description does not explain what the output or behavior is (e.g., returns stability score, temperature). Without output schema, more detail needed.

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?

Single sentence, front-loaded, no redundancy.

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?

Tool is simple with 2 params fully covered, annotations present. Lacks output description, but sufficient for basic understanding.

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 100% with descriptions 'First oligo (5'→3')' and 'Second oligo (5'→3')'. Description adds no extra meaning beyond schema, but baseline is adequate.

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?

Clear verb 'Screen' and resource 'two oligos' with specific purpose 'most stable heterodimer'. Distinct from sibling tools like 'primer_design' or 'oligo_analysis'.

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?

No explicit guidance on when to use vs alternatives. Implied by name and context, but missing when not to use or examples.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagnostic_digestDiagnostic digest plannerA
Read-onlyIdempotent
Inspect

Pick the restriction digest that tells your intended construct apart from the wrong ones on a screening gel. Digests every candidate, works out which bands would actually resolve at the chosen agarose percentage (size ratio, the gel's resolving window, and whether a band is too faint to score), and ranks single enzymes — then buffer-checked pairs if no single one works. The criterion is separating the INTENDED construct from every alternative; telling the alternatives apart from each other is reported as a bonus. Get the alternatives from assembly_outcomes.

ParametersJSON Schema
NameRequiredDescriptionDefault
enzymesNoRestrict the search to these enzymes (e.g. the ones on your bench). Default is the whole curated set of 49. An unrecognised name is rejected rather than skipped, so "does not discriminate" always means it was actually tried.
circularNoTreat every candidate as a circular plasmid.
intendedYesThe construct you designed, raw or FASTA.
alternativesYesThe wrong constructs to screen against, 1-12. assembly_outcomes emits these ready-made as `forDiagnosticDigest`.
includePairsNoWhether to search double digests. "auto" adds them only when no single enzyme separates everything.auto
agarosePercentNoAgarose percentage of the screening gel. Snapped to the nearest tabulated value (0.5, 0.7, 1, 1.2, 1.5, 2) and the one used is reported back, since the resolving window is what decides which bands separate.
maxSuggestionsNoHow many ranked options to return.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, but the description adds substantial behavioral detail: how band resolution is calculated (size ratio, resolving window, faintness), the auto-enabling of buffer-checked pairs, rejection of unrecognized enzyme names, and the reporting of the actual agarose percentage used. These are valuable beyond the annotations and do not contradict them.

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?

The description is a single, well-structured paragraph that starts with the core purpose and flows through the process and key nuances. Every sentence adds unique information, with no filler or repetition. It is front-loaded with the primary goal and then provides supporting details.

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 tool with 7 parameters and no output schema, the description covers all key aspects: what it does, how it works, how to obtain inputs, the ranking criteria, optional parameters, and the meaning of edge cases. It is sufficiently complete for an agent to use it correctly without additional documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 100% schema description coverage, the description substantially enhances parameter understanding: it explains alternatives (wrong constructs from assembly_outcomes), the auto/always/never nuance of includePairs, the snapping behavior of agarosePercent and its effect on resolution, and the rejection of unrecognized enzymes. This adds meaning beyond the schema definitions.

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?

The description uses a specific verb (pick) and resource (restriction digest) and clearly explains the purpose: distinguishing an intended construct from alternatives on a screening gel. It goes beyond a generic statement by detailing the digestion, band resolution, ranking, and the criterion (separating intended from every alternative), which differentiates it from sibling tools like restriction_sites or virtual_gel.

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?

The description clearly implies when to use it: when you need to select a diagnostic digest for construct screening. It mentions gathering alternatives from assembly_outcomes, which is an explicit usage hint. However, it does not explicitly state when not to use it or explicitly name alternative tools, but the context is clear enough for an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dna_molarityDNA molarity calculatorA
Read-onlyIdempotent
Inspect

Nucleic-acid quantity conversions: molar mass, amount (pmol/nmol), molar and mass concentration, and copy number, from mass ± volume and either a length or a sequence.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoMolecule type.dsDNA
lengthNoLength in bp (dsDNA) or nt (ssDNA/ssRNA). Ignored when a sequence is given.
massNgNoMass in nanograms.
sequenceNoOptional sequence — overrides length and gives an exact molar mass from base composition.
volumeUlNoVolume in microlitres (0 = unknown; needed for concentration).
targetUnitNoUnit for targetConcentration.nM
targetVolumeUlNoFinal volume of the diluted sample, in µL.
targetConcentrationNoOptional: the concentration you need. Supplying it (with volumeUl, so there is a stock concentration to dilute FROM) returns a `dilution` plan — µL of stock and µL of diluent — instead of leaving C1V1 = C2V2 to be done by hand. The stock and the target may be quoted in different units; the molar mass converts between them.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare the tool read-only and idempotent, so the description only needs to add behavioral context. It adds the input relationship ('from mass ± volume and either a length or a sequence') and the list of conversions, but it does not describe return shape or edge cases. No contradiction with annotations.

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?

The description is a single, tightly structured sentence that front-loads the domain and lists the outputs and inputs without filler. Every clause contributes meaningful 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?

For a read-only calculator with a fully documented schema, the description provides enough context to understand what the tool does and what inputs it needs. The lack of an output schema means a brief note about the return format would be useful, but it is not critical given the tool's simplicity.

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?

Input schema coverage is 100%, with all eight parameters documented including defaults and enums, so the description does not need to carry parameter meaning. The description adds only a high-level summary of the key inputs, which is helpful but not necessary for parameter understanding.

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 clearly identifies the tool as a nucleic-acid quantity converter and enumerates the concrete quantities it produces (molar mass, amount, molar/mass concentration, copy number) with the necessary inputs. It does not explicitly distinguish itself from sibling tools, but its domain is distinct enough that an agent can identify its purpose.

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 description implies when the tool should be used: whenever nucleic-acid molarity, concentration, or copy-number conversions are needed. It does not explicitly name alternatives or state when not to use the tool, so some inference is required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

double_digestDouble digest bufferA
Read-onlyIdempotent
Inspect

Recommend a single NEB buffer (and flag caveats) for digesting with two enzymes in one tube.

ParametersJSON Schema
NameRequiredDescriptionDefault
enzymeAYesFirst enzyme name (e.g. EcoRI).
enzymeBYesSecond enzyme name (e.g. BamHI).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint as true, indicating safe, idempotent operation. The description adds behavioral context by mentioning 'flag caveats', which warns about potential issues (e.g., incompatibility). No contradiction with annotations.

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?

The description is a single sentence that captures the full purpose, including both the primary action and a note about caveats. Every word earns its place; no unnecessary information.

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?

Given the tool's simplicity (no output schema, two string parameters), the description fully conveys what the tool does and what it returns (a recommendation with caveats). No missing information for an agent to invoke 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?

Input schema coverage is 100% with descriptions for both parameters ('First enzyme name' and 'Second enzyme name'). The description does not add additional meaning beyond the schema, so baseline of 3 is appropriate.

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?

The description uses a specific verb ('Recommend') and resource ('a single NEB buffer') with clear context ('digesting with two enzymes in one tube'). It uniquely identifies the tool among siblings like 'restriction_sites' which deals with site mapping, not buffer selection.

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?

The description clearly implies when to use: when performing a double digest with two enzymes needing a buffer recommendation. No explicit when-not or alternatives are provided, but the narrow scope makes it distinct from siblings, and the context is clear enough for an agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

editing_plate_quantifyEditing quantification across a plate (one control, many wells)A
Read-onlyIdempotent
Inspect

Quantify a whole plate of edited samples against ONE untreated control trace and return a single sortable table — the plate-scale form of sanger_indel_spectrum, base_edit_quant and sanger_knockin_quant, chosen with mode. Each sample gives one row keyed by its id, carrying the headline number for that mode (edited fraction / editing at the target base / intended knock-in percentage), the fit-quality numbers behind it (R², or the background n and noise floor for base mode), and fitAdequate — the single-sample tool's own gate verdict on that row, so the plate cannot drift from the per-well answer. Failure is isolated per well: a sample whose read is short, mismatched or unfittable becomes a failed ROW with its error message and the other 95 still come back, while an error about the control trace, the mode or the work ceilings throws, because it is wrong for every row. Duplicate sample ids are suffixed (against the whole plate, so the suffix never lands on another well's name) rather than merged. Arguments are strict: an argument belonging to another mode, an unknown argument, an out-of-range limit, and an offset override (which is a property of one pair of reads, not of a plate) are all rejected rather than ignored or clamped, because at plate scale a substituted setting rewrites every row identically and nothing in the table looks odd. Returns the rows in input order, a tally, and a CSV. Comparing two wells' percentages is only meaningful when both rows are fitAdequate, which is why the plate summary is computed over those rows alone. PREDICTED, NOT MEASURED. None is published for this implementation, and being a batch does not soften that: each row is exactly the claim the corresponding single-sample tool makes. What every row instead reports is what it rests on — R² for the indel and knock-in modes, the background n, sd and noise floor for base mode — plus fitAdequate, which is the single-sample tool's OWN gate verdict on that row rather than a threshold re-invented here. Recovery of known synthetic mixtures is deliberately NOT offered as validation: it tests the arithmetic and the plate plumbing, not whether the model fits a real capillary trace, and for a knock-in with novel inserted bases it is circular, because a synthetic trace is built from the same idealised peaks the basis assumes. Quoting it would be the mistake rbs_predict made when it shipped a calibration residual as held-out skill. Valid for: One control read and a set of edited reads that are all the SAME amplicon, chemistry and primer as that control, with each read extending well past the edit site. COMPARING TWO WELLS' PERCENTAGES IS ONLY MEANINGFUL WHEN BOTH ROWS ARE fitAdequate: a percentage from a badly fitting well is not a smaller number than one from a well that fitted, it is a different kind of statement, and the plate summary here is therefore computed over the adequate rows only. Ranking wells also assumes they differ only in the variable under test — the same control is subtracted from all of them, so a well whose read started 30 bases later or whose reaction was dirty carries that difference into its number. Mode-specific limits carry over unchanged: indel mode is blind to substitutions, base mode is blind to indels and its percentages run low by roughly the crosstalk fraction, and knock-in mode cannot separate an intended pure deletion from an NHEJ deletion of the same length at the same site.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNobase mode: the base it converts to, as READ on the control strand.
fromNobase mode: the base the editor converts, as READ on the control strand.
modeYesWhich quantifier to run on every well. "indel" = sanger_indel_spectrum (NHEJ efficiency and the indel spectrum; needs cutPosition; blind to substitutions). "base" = base_edit_quant (CBE/ABE conversion; needs an editor id + protospacer, or an explicit window with from/to; blind to indels). "knockin" = sanger_knockin_quant (a specific intended edit against its byproducts; needs editKind + editPosition). Arguments belonging to another mode are rejected, not ignored.
guardNoindel mode: bases skipped immediately after the cut, where the trace is least reliable. A whole number >= 0; a negative value is rejected, not clamped to 0.
editorNobase mode: base editor id (be3, be4max, abe7.10, abe8e) — fixes the converted bases and the activity window in protospacer coordinates. Requires "protospacer". Mutually exclusive with windowStart/windowEnd/from/to.
samplesYesThe plate's edited wells, in the order you want them tabulated. Up to 384 samples (96 is the natural plate) and 400,000 trace positions across the whole call, control included — that is already an 8-10 MB request body, so split a plate of untrimmed reads rather than sending one call.
editKindNoknockin mode (required): shape of the intended edit. "substitution" replaces bases one for one; "insertion" adds novel bases and replaces none; "deletion" removes bases and adds none; "replacement" is the general case where the lengths differ.
maxIndelNoindel and knockin modes: largest indel to fit, in bp — a whole number, 1-20. Out of range is rejected, not clamped.
altAlleleNoknockin mode: the bases installed in their place.
refAlleleNoknockin mode: the control bases the edit replaces (substitution and replacement). Checked against the control read once, before any well is fitted.
windowEndNobase mode: explicit window end, 1-based inclusive. Window length is capped at 40.
zThresholdNobase mode: significance threshold in standard deviations of each well's own background (1-10; out of range is rejected, not clamped). Raising it raises the reported noise floor with it.
cutPositionNoindel mode (required): 1-based position of the expected cut, in CONTROL read coordinates. knockin mode (optional): 1-based CONTROL position where UNINTENDED indels start — the nuclease cut or the PE nick; defaults to the edit start.
insertedSeqNoknockin mode: the novel bases inserted (insertion only).
protospacerNobase mode: the 20-nt spacer, located in the CONTROL read (either strand; must match exactly once).
windowStartNobase mode: explicit window start, 1-based in CONTROL coordinates. Requires windowEnd, from and to.
controlBasesYesBase calls of the ONE untreated control read (raw or FASTA).
editPositionNoknockin mode (required): 1-based CONTROL position of the first base the edit replaces. An insertion replaces nothing, so there it is the base the insert lands immediately BEFORE — one MORE than the VCF/HGVS anchor.
windowLengthNoindel and knockin modes: bases downstream used for the decomposition — a whole number, 20-300. Out of range is rejected, not clamped.
deletedLengthNoknockin mode: how many bases are deleted (deletion only).
targetPositionNobase mode: 1-based CONTROL position of the intended edit. Give it for a plate. Without it each well's headline is its OWN most-edited significant position, so two rows can be reporting two different bases and the column is not one measurement.
controlChannelsYesPer-base [A, C, G, T] intensities of the control read, one row per called base, read at that base's peak location (trace arrays are indexed by scan, not by base). Raw peak heights: every intensity must be >= 0, because negatives are clamped to zero during normalisation and a baseline-subtracted trace would silently lose its minor peaks and read as unedited.
targetProtospacerPositionNobase mode: 1-based protospacer position of the intended edit (PAM-distal = 1). Editor mode only.

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description discloses a great deal: per-well failure isolation, duplicate-id suffixing, strict rejection of cross-mode/unknown/out-of-range arguments and offset overrides, row ordering, return of tally and CSV, PREDICTED NOT MEASURED status, and mode-specific blind spots. This is far more transparency than the annotations alone provide.

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?

The description is long but front-loaded with the tool's core purpose and the key alternative/mode relationship. It earns most of its length by covering failure modes, validation warnings, and caveats. Minor redundancy exists—the fitAdequate warning appears twice—but given 23 parameters and the complexity of the plate behavior, the length is justified.

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?

With no output schema, the description adequately explains what is returned: one row per sample, headline metric, fit-quality numbers, fitAdequate, input order, tally, and CSV. It also covers failure isolation, duplicate handling, strict argument validation, valid experimental conditions, and mode-specific limitations. Nothing critical is missing for an agent to invoke this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining cross-cutting parameter behavior: arguments belonging to another mode are rejected, `targetPosition` should be given for a plate or each row reports a different base, duplicate sample ids are suffixed, and the offset override is invalid at plate scale. It does not enumerate every parameter, but it clarifies the semantics that matter most.

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?

The description opens with a specific verb and resource: 'Quantify a whole plate of edited samples against ONE untreated control trace and return a single sortable table.' It also explicitly ties the tool to three named sibling tools (sanger_indel_spectrum, base_edit_quant, sanger_knockin_quant) and explains they are selected via `mode`, making it impossible to confuse this with the single-sample tools.

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?

The description gives clear context: it is the plate-scale form of three single-sample tools, the mode selects which quantifier runs, and a 'Valid for' block states the required experimental setup. It does not explicitly say 'use the single-sample tools when you have one sample,' but the distinction is strongly implied and the eligibility constraints are concrete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_echo_picklistEcho picklist exportA
Read-onlyIdempotent
Inspect

Generate a downloadable Beckman/Labcyte Echo acoustic-liquid-handler picklist CSV (columns: Source Plate Name, Source Plate Type, Source Well, Destination Plate Name, Destination Well, Transfer Volume, Name — the header row reproduced from PyEcho, a real open-source Echo-picklist generator) for the given PCR reactions, at the same well positions export_plate_layout assigns. Assumes a 5 uL Echo-scale PCR reaction (master mix 2500 nL, each primer 250 nL, template 250 nL, water 1750 nL) — a commonly used acoustic-dispensing miniaturization scale, not a universal standard; rescale the volumes for your own protocol. Source/Destination Plate Type uses a placeholder Echo plate-type code (384PP_AQ_BP) — replace with the exact type from your own Echo Plate Type Library. Each distinct template label gets its own well on the TemplateSource plate, row-major (A1, A2, … A24, then B1, …) across that 384-well source plate.

ParametersJSON Schema
NameRequiredDescriptionDefault
reactionsYesOne entry per PCR reaction, up to 96 (a single 96-well plate).

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the tool's safety profile is known. The description adds substantial behavioral context: the CSV columns, the plate type placeholder, the well-layout logic (row-major across a 384-well plate), and the assumption of a 5 uL reaction with explicit volume breakdowns. It also discloses that the plate type code is a placeholder, which is a non-obvious caveat. No contradictions exist.

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?

The description is dense but not wasteful. The first sentence captures the core purpose, and subsequent sentences provide important details (column names, volume assumptions, plate placeholder, well ordering). Every sentence adds value, though it is longer than strictly necessary and could be split into a summary plus caveats.

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?

With no output schema, the description carries the burden of explaining the return value, and it does so thoroughly: it names the CSV columns, describes plate type placeholders, explains the source plate layout, and flags that the volume scale is not universal. It also references how positions relate to export_plate_layout, which gives richer context. The tool's assumptions and limitations are clearly stated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of the single parameter 'reactions' with nested object descriptions and a max of 96 entries. The description adds meaningful semantics beyond the schema by explaining how distinct template labels are assigned to unique wells and connecting the parameter to the output layout and volume assumptions. This goes beyond a baseline of 3.

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?

The description begins with 'Generate a downloadable Beckman/Labcyte Echo acoustic-liquid-handler picklist CSV', which clearly states the action (generate), resource (picklist CSV), and target platform (Echo). It distinguishes from siblings like export_plate_layout and export_opentrons_protocol by specifying the exact output format and its association with Echo acoustic dispensing.

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?

The description gives clear context: it is for PCR reactions on an Echo acoustic liquid handler, and it aligns well positions with export_plate_layout. However, it does not explicitly mention when not to use it or name alternatives such as export_opentrons_protocol, so exclusions are absent. The context is strong, but the guidance could be more direct.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_opentrons_protocolOpentrons protocol exportA
Read-onlyIdempotent
Inspect

Generate a downloadable Opentrons Python Protocol API (v2, OT-2) script that sets up the given PCR reactions on a 96-well PCR plate, at the same well positions export_plate_layout assigns. Uses real Opentrons labware/pipette API names confirmed against docs.opentrons.com and the Opentrons shared-data labware-definitions repository (opentrons_96_wellplate_200ul_pcr_full_skirt, opentrons_96_tiprack_20ul, opentrons_24_tuberack_nest_1.5ml_snapcap, nest_12_reservoir_15ml, p20_single_gen2) and the confirmed load_labware/load_instrument/transfer method signatures. Master-mix/primer/template/water volumes are clearly-labeled placeholder constants at the top of the script — this is a starting point to review and adapt for your own enzyme and instrument, not a certified ready-to-run protocol.

ParametersJSON Schema
NameRequiredDescriptionDefault
reactionsYesOne entry per PCR reaction, up to 96 (a single 96-well plate).
protocolNameNoOptional protocol name (used in the script's metadata).

TDQS

A4.1/5.0
Behavior4/5

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

Annotations indicate readOnlyHint and idempotentHint; the description adds context that the output is a downloadable script with placeholder volumes and labware names, needing review. It does not contradict annotations and provides useful 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.

Conciseness4/5

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

The description is detailed but front-loads the purpose. It is not overly long; each sentence adds value. Could be slightly more concise, but effectively structured.

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?

Given no output schema, the description adequately explains what the tool generates and its nature (starting point, not certified), referencing related tools. It covers the usage scenario sufficiently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds meaning by noting that master-mix volumes are placeholder constants and that the script uses confirmed labware/pipette API names, enhancing understanding beyond schema.

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?

The description uses specific verb 'Generate' and resource 'downloadable Opentrons Python Protocol API script', clearly stating the tool's function. It distinguishes itself from the sibling 'export_plate_layout' by referencing well positions from that tool.

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 description implies usage for setting up PCR reactions on a 96-well plate and mentions the script is a starting point, but does not explicitly state when to use vs alternatives (e.g., other export tools) or provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_plate_layoutPCR plate layoutA
Read-onlyIdempotent
Inspect

Assign a set of PCR reactions (name + forward/reverse primer + optional template label) to wells on a 96-well plate, row-major (A1, A2, … A12, then B1, B2, … up to H12). Returns the well-assignment data for rendering a plate diagram; export_opentrons_protocol and export_echo_picklist build their downloadable files from this exact same layout, so all three always agree.

ParametersJSON Schema
NameRequiredDescriptionDefault
reactionsYesOne entry per PCR reaction, up to 96 (a single 96-well plate).

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe, idempotent operation. The description adds behavioral details: row-major well assignment and the fact that the layout is shared with export tools, ensuring agreement. No contradictions with annotations.

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?

The description is two sentences long, front-loads the core purpose, and adds necessary context about sibling tools. Every sentence contributes value without 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?

Given the tool has one parameter, no output schema, and good annotations, the description adequately covers what the tool does, its input constraints, and its relationship to sibling tools. It could be improved by mentioning error conditions or further behavior details, but it is largely complete for an agent to select and invoke.

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 schema already describes the 'reactions' array and its properties. The description reiterates the fields (name, forward, reverse, template) but adds no new semantic detail beyond the schema. The row-major ordering pertains to output, not parameter semantics.

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?

The description clearly states the tool assigns PCR reactions to a 96-well plate in row-major order and returns well-assignment data for a plate diagram. It distinguishes itself from related tools by mentioning that export_opentrons_protocol and export_echo_picklist use the same layout, ensuring consistency.

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?

The description implies when to use this tool (for plate layout and diagram rendering) versus the sibling export tools (for file creation), but it does not explicitly state exclusion conditions or provide definitive guidance on tool selection. The mention of sibling agreement helps, but could be more direct.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

expression_heatmap_clusterExpression heatmap clusteringA
Read-onlyIdempotent
Inspect

Hierarchically cluster a genes x samples expression matrix (UPGMA/average, complete, or single linkage; Euclidean or correlation distance) and return the row/column leaf order, dendrogram merge trees, and row-z-scored values for the Clustered Expression Heatmap visualization.

ParametersJSON Schema
NameRequiredDescriptionDefault
genesYesRow (gene) labels.
valuesYesgenes x samples numeric matrix — one row per gene, in the same order as `genes`.
linkageNoaverage = UPGMA (standard default), complete = farthest-neighbor, single = nearest-neighbor.average
samplesYesColumn (sample) labels.
zScoreRowsNoRow-wise z-score each gene's values before clustering and returning (the conventional 'relative expression' heatmap normalization — the dendrograms are computed on the same scaled matrix the heatmap shows, as in seaborn's clustermap(z_score=0) / pheatmap's scale="row").
clusterColsNoCluster (reorder) samples.
clusterRowsNoCluster (reorder) genes.
distanceMetricNocorrelation = 1 - Pearson r (the standard expression-heatmap default); euclidean = straight-line distance.correlation

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the agent knows it is a safe, deterministic operation. The description adds value by specifying the outputs (leaf order, merge trees, z-scored values) and describing the computation, which goes beyond the annotations. It does not mention potential limitations like matrix size or missing data handling.

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?

The description is one dense but efficient sentence that covers the core function, algorithmic options, and outputs without redundancy. It is front-loaded with the primary action and every clause contributes to understanding the tool.

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?

Given the tool's complexity (8 params, no output schema), the description provides a solid overview of inputs, processing, and outputs. It names the return artifacts explicitly, which is helpful. It could be more explicit about the exact data structure of merge trees or edge-case behavior, but the core purpose and data flow are clear.

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?

All 8 parameters have detailed descriptions in the schema (100% coverage), including the meaning of linkage, distanceMetric, and zScoreRows. The main description only briefly summarizes options already present in the schema, so it does not add substantial meaning beyond the schema.

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?

The description clearly states the tool hierarchically clusters a genes x samples expression matrix and returns specific artifacts (leaf order, dendrogram merge trees, row-z-scored values) for a heatmap visualization. This distinctly differentiates it from sibling tools like gene_expression or volcano_plot_data.

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?

The context is clear: it is a data-preparation step for the 'Clustered Expression Heatmap visualization.' However, it doesn't explicitly mention when to avoid using it or suggest alternative tools, which keeps it from a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fastq_qc_reportFASTQ Deep QC ReportA
Read-onlyIdempotent
Inspect

FastQC-style deep quality-control report for a FASTQ file: per-base quality and content, GC and length distributions, sequence duplication levels, overrepresented sequences, and adapter content — each with a warn/fail verdict against FastQC's own published thresholds.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesFASTQ text: records of an '@id' header, sequence, '+' separator and quality line (four lines each).
qualityOffsetNoFASTQ Phred ASCII offset (33 = Sanger/Illumina 1.8+, 64 = Illumina 1.3-1.7).

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true and idempotentHint=true, so the tool's safety is clear. The description adds detail on the report contents (e.g., per-base quality, GC content) but does not reveal additional behavioral traits like output format or potential limitations.

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?

The description is a single, well-structured sentence that front-loads key information about the tool's purpose and components. No redundant words.

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

Completeness2/5

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

Despite no output schema, the description does not specify the output format (JSON, text, etc.) or provide details on return structure. For a complex tool generating multiple QC modules, this omission leaves the agent uncertain about what to expect.

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?

Input schema has 2 parameters with 100% description coverage, so the schema already documents them. The description adds no extra meaning beyond the schema, meeting the baseline of 3.

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?

The description clearly identifies the tool as a FastQC-style deep QC report for FASTQ files, listing specific modules (per-base quality, GC distribution, etc.) and mention of warn/fail verdicts against FastQC thresholds. This distinguishes it from siblings like fastq_trim or seqfile_stats.

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 description does not explicitly state when to use this tool versus alternatives like seqfile_stats for basic stats or fastq_trim for trimming. Usage context is implied by the tool's purpose, but no explicit when-to-use or when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fastq_trimFASTQ Adapter & Quality TrimmerA
Read-onlyIdempotent
Inspect

Trim FASTQ reads: an ungapped sliding-suffix adapter match (against the same named Illumina adapters as the QC report) followed by a BWA-style 3' quality trim (the same algorithm Cutadapt's own -q option reuses), then drops reads below a minimum length. Returns the trimmed FASTQ plus before/after read-count, mean-length and mean-quality stats.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesFASTQ text: records of an '@id' header, sequence, '+' separator and quality line (four lines each).
minLengthNoReads shorter than this after trimming are dropped.
qualityOffsetNoFASTQ Phred ASCII offset (33 = Sanger/Illumina 1.8+, 64 = Illumina 1.3-1.7).
qualityThresholdNo3' quality-trim threshold (Phred score).

TDQS

A4.1/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=true and idempotentHint=true, and the description adds details about the trimming algorithms (ungapped sliding-suffix adapter match, BWA-style quality trim) and the outcome (drops short reads, returns stats). This adds value beyond annotations.

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?

The description is a single dense paragraph that efficiently states the purpose, algorithm, and output. It is appropriately sized and front-loaded, though could be slightly more concise.

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?

Given the tool's moderate complexity and absence of output schema, the description adequately covers purpose, algorithm, and return values (trimmed FASTQ plus stats). It lacks error conditions or input format verification, but schema covers input format.

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%, so baseline is 3. The description mentions the minLength parameter implicitly by saying 'drops reads below a minimum length', but does not add significant meaning beyond what the schema already provides for each parameter.

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?

The description clearly states it trims FASTQ reads with adapter and quality trimming, specifying the exact algorithm and returning trimmed FASTQ plus statistics. The verb 'trim' and resource 'FASTQ reads' are specific, and it distinguishes from sibling tools like fastq_qc_report which focuses on QC reporting.

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?

The description implicitly defines usage for trimming FASTQ with adapter and quality trimming, but does not explicitly exclude other use cases or name alternative tools. It provides clear context but lacks exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_orfsORF FinderA
Read-onlyIdempotent
Inspect

Find open reading frames (ATG…stop) across all six frames.

ParametersJSON Schema
NameRequiredDescriptionDefault
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).
minAaLengthNoMinimum protein length (aa) to report.
requireStopNoOnly report ORFs terminated by a stop codon.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. Description adds minimal extra behavior disclosure beyond 'across all six frames'. No contradictions, but limited added value.

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?

Single sentence, perfectly concise, and front-loaded with the action. No unnecessary words.

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?

Given 3 well-documented parameters and no output schema, the description sufficiently states the core function. Could mention output format but not essential for basic use.

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 baseline is 3. Description does not add meaning beyond schema; it does not elaborate on parameters like minAaLength or requireStop.

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?

The description uses specific verb 'Find' and resource 'open reading frames (ATG…stop)' with scope 'across all six frames'. This clearly distinguishes it from sibling tools like translate or motif_finder.

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 description implies usage for ORF detection but lacks explicit guidance on when not to use or alternatives (e.g., translate for simple translation). No exclusions or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

format_sequenceFormat SequenceA
Read-onlyIdempotent
Inspect

Clean, case-fold, DNA↔RNA convert, reverse and line-wrap a sequence.

ParametersJSON Schema
NameRequiredDescriptionDefault
widthNoLine-wrap width; 0 = single line.
convertNoDNA→RNA (T→U) or RNA→DNA (U→T).none
reverseNoReverse the sequence (no complement).
caseModeNokeep
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).
stripNonLettersNoRemove digits, spaces and gaps (keep letters only).

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint true, so the description does not need to cover safety. It adds value by listing operations (cleaning, conversion, etc.) but does not disclose additional behavioral traits beyond what the schema provides.

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?

The description is a single concise sentence that front-loads the key operations. It contains no wasted words, but could be slightly more structured for readability.

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?

Given 6 parameters, no output schema, and good annotations, the description adequately summarizes the tool's capabilities but does not mention the output format or any edge cases. It is minimally complete.

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?

With 83% schema description coverage, the schema already documents most parameters. The description summarizes the operations (clean, convert, reverse) that map to parameters, but does not add meaning beyond what is in the schema.

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?

The description clearly states the tool's function: 'Clean, case-fold, DNA↔RNA convert, reverse and line-wrap a sequence.' It specifies the verb (format) and the resource (sequence), and lists distinct operations that differentiate it from siblings like reverse_complement or translate.

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 description implies usage but does not provide explicit guidance on when to use this tool versus alternatives or when not to use it. No exclusions or comparisons to sibling tools are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

functional_enrichmentFunctional enrichment (GO + Reactome)A
Read-onlyIdempotent
Inspect

Over-representation analysis: test which GO terms (biological process / molecular function / cellular component) and Reactome pathways are statistically enriched in a query gene list versus a background, using the hypergeometric test with Benjamini-Hochberg FDR correction across all tested terms. Uses bundled GO Consortium + Reactome reference data (human only). KEGG is not included (its license does not permit bundling gene sets).

ParametersJSON Schema
NameRequiredDescriptionDefault
genesYesQuery gene symbols (human, e.g. "TP53"). Case-insensitive. Capped at 5000.
backgroundNoCustom background/universe gene symbols. If omitted, defaults to every gene present in the bundled GO+Reactome dataset (the 'only annotated genes' convention, as used by g:Profiler) rather than the whole genome.
collectionsNoWhich term collections to test. Defaults to all four.
maxTermSizeNoSkip terms/pathways with more than this many background genes (matches clusterProfiler's default).
minTermSizeNoSkip terms/pathways with fewer than this many background genes.

TDQS

A4.6/5.0
Behavior5/5

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

Beyond annotations (readOnlyHint, idempotentHint), the description discloses the statistical method, multiple testing correction (Benjamini-Hochberg), reliance on bundled reference data (human only), and the default background convention. No contradictions with annotations.

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?

The description is a single paragraph of three sentences, front-loading the core purpose and method. Every sentence adds essential information without 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?

Given no output schema, the description could specify the output format more explicitly, but it adequately covers the method, data sources, parameter defaults, and limitations. The 100% schema coverage compensates, making the overall description complete enough for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the description still adds value by explaining the default background meaning (only annotated genes, like g:Profiler) and the default maxTermSize (matching clusterProfiler). This contextualizes parameter behavior beyond their schema descriptions.

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?

The description explicitly states it performs over-representation analysis for GO terms and Reactome pathways using the hypergeometric test with FDR correction. It clearly identifies the specific input (query gene list vs background) and output (enriched terms), distinguishing it from sibling tools like gene_expression or crispr_grna_design.

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?

The description provides clear guidance on when to use this tool (for enrichment of GO and Reactome terms) and explicitly notes that KEGG is excluded due to licensing, which helps manage expectations. It does not list alternative tools for KEGG enrichment, but the context is sufficient for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gc_contentGC ContentB
Read-onlyIdempotent
Inspect

GC content, AT content and per-base composition of a sequence.

ParametersJSON Schema
NameRequiredDescriptionDefault
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so no destructive behavior. The description adds that the tool returns composition metrics, which is useful but minimal. No mention of edge cases or format of output.

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?

A single sentence that efficiently communicates the tool's purpose with no unnecessary words. Front-loaded with key information.

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 simple tool with one parameter and no output schema, the description is adequate but incomplete. It does not specify the output format (e.g., percentages, raw counts), which would help the agent interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage for the single parameter, which is well-described. The tool description adds meaning by specifying what is computed from the sequence, going beyond the input description.

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 clearly states the tool computes GC content, AT content, and per-base composition for a sequence. It gives specific outputs, distinguishing it from generic sequence tools, though it does not explicitly differentiate from siblings like 'characterize_sequence'.

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?

No guidance on when to use this tool versus alternatives. No when-to-use or when-not-to-use information is provided, leaving the agent without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gene_dossierGene/Target DossierA
Read-onlyIdempotent
Inspect

A gene/drug-target dossier fanned out to five independent sources in one call: Open Targets (function, tractability, top associated diseases), an NCBI/UniProt plain-English function summary, ChEMBL (known drugs and their mechanism/clinical phase, cross-referenced with indications), ClinicalTrials.gov (trials by gene/condition term), and Europe PMC (top cited papers). Each source fails independently — a down source returns null/empty for its own section rather than failing the whole call, and every failure is listed in "sourceErrors" rather than silently omitted.

ParametersJSON Schema
NameRequiredDescriptionDefault
geneYesA human gene symbol ("TP53") or Ensembl gene ID ("ENSG00000141510").

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already indicate read-only and idempotent behavior. The description adds critical detail: each source fails independently (null/empty for its section) and failures are listed in 'sourceErrors' rather than aborting the call. This goes well beyond annotation information.

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?

The description is a single sentence structure broken into two sentences, packing a lot of detail. While it is somewhat long, every part is informative and front-loaded with the core function. Minor redundancy ('fanned out' and 'in one call') could be trimmed.

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?

Given no output schema, the description adequately covers the expected result shape: per-source sections with potential null/empty, and a sourceErrors list. It names each source's contributions. However, it does not specify whether the output is flat or nested, which could be clarified further.

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?

There is only one parameter (gene) with 100% schema coverage in the description. The tool description adds no further parameter-level detail beyond what the schema provides, so a baseline score of 3 is appropriate.

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?

The description clearly states that this tool generates a multi-source dossier for a gene/drug-target by aggregating from five distinct sources. It lists each source and what it provides (Open Targets, NCBI/UniProt, ChEMBL, ClinicalTrials.gov, Europe PMC). This distinguishes it from siblings like gene_expression or gene_model which focus on single aspects.

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 description implies 'in one call' for a comprehensive overview, but does not explicitly specify when to use this tool versus alternatives like web_search or individual source tools. There is no guidance on prerequisites or limitations, though the parameter description restricts to human genes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gene_expressionGene Expression FingerprintA
Read-onlyIdempotent
Inspect

A gene's tissue-expression fingerprint: per-tissue median TPM from GTEx (v8) and subcellular localization / RNA tissue-specificity / protein class from the Human Protein Atlas, in one call.

ParametersJSON Schema
NameRequiredDescriptionDefault
geneYesA human gene symbol ("TP53") or Ensembl gene ID ("ENSG00000141510").

TDQS

A3.9/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=true and idempotentHint=true, so the tool is safe and idempotent. The description adds value by detailing the specific data sources (GTEx v8, Human Protein Atlas) and the types of data returned, providing useful context beyond what annotations alone convey. However, it does not mention rate limits or other constraints.

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?

The description is a single efficient sentence that front-loads the key concept ('tissue-expression fingerprint'). It includes necessary detail without verbosity, though it could be slightly more concise by breaking the list of data types into separate points.

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?

Given the complexity of returning multiple data types from two databases, the description adequately lists what is included. However, it does not describe the output format or how to interpret the fingerprint, leaving some gaps for an agent without an output 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?

The sole parameter 'gene' is described in the schema with examples of symbol or Ensembl ID. The tool description does not add additional meaning beyond the schema, as it only repeats the concept of a gene. Schema description coverage is 100%, so baseline 3 is appropriate.

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?

The description clearly states the tool returns a 'gene's tissue-expression fingerprint' and lists specific data types (per-tissue median TPM, subcellular localization, RNA tissue-specificity, protein class) from GTEx and Human Protein Atlas. This distinctively identifies the resource and operation, differentiating it from sibling tools that cover sequence analysis, CRISPR design, etc.

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 description implies use when needing gene expression data but does not explicitly state when to use this tool versus alternatives or when not to use it. No exclusions or alternative tool names are provided, leaving the agent to infer the context from sibling names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gene_modelGene Model (Exon/CDS Structure)A
Read-onlyIdempotent
Inspect

The real exon/UTR/CDS structure of a human gene's canonical transcript, fetched live from Ensembl (the same exon/CDS map the HGVS Converter tool uses) — for rendering an exon diagram.

ParametersJSON Schema
NameRequiredDescriptionDefault
geneYesA human gene symbol ("TP53") or Ensembl gene ID ("ENSG00000141510").

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already convey readOnlyHint=true and idempotentHint=true. The description adds valuable context: the data is fetched live from Ensembl, uses the canonical transcript, and mirrors the HGVS Converter tool's map. No contradictions, and the extra details help the agent understand behavior beyond annotations.

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?

The description is a single, efficient sentence that conveys the core function and purpose without superfluous words. Every element earns its place.

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?

Given low complexity and good annotations, the description adequately explains what the tool does and its source. However, without an output schema, it lacks specifics about the returned data structure (e.g., coordinate lists), which could limit an agent's ability to use the output effectively.

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?

The only parameter 'gene' is fully described in the schema (100% coverage). The tool description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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 clearly states it fetches the exon/UTR/CDS structure from Ensembl for a human gene's canonical transcript, with a specific purpose of rendering an exon diagram. It distinguishes from siblings by specifying the source (Ensembl) and transcript selection (canonical), but could more explicitly contrast with similar tools like gene_dossier.

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 lacks explicit guidance on when to use this tool versus alternatives. It mentions a use case (rendering an exon diagram) but does not provide exclusions, prerequisites, or compare with other tools from the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

golden_gate_fidelityGolden Gate overhang fidelityA
Read-onlyIdempotent
Inspect

Score a candidate set of 4-base Golden Gate/MoClo junction overhangs against real published T4-ligase ligation-count data: per-overhang specificity, the weakest link in the set, and any risky cross-reacting pairs. Optionally compare against a named published overhang set. This is SeqBench's own transparent scoring methodology — it does not reproduce NEB's/Potapov's own published aggregate fidelity percentages for named sets (their exact formula isn't disclosed anywhere accessible).

ParametersJSON Schema
NameRequiredDescriptionDefault
datasetNoWhich real ligation dataset to score against — generic T4 ligase, or an enzyme-specific one-pot dataset if that matches your actual digestion enzyme.generic-t4-37c-1h
overhangsYesThe candidate 4-base overhangs for one assembly (e.g. ["GGAG","TACT","AATG"]). At least 2, no duplicates.
riskThresholdNoFlag a pair as risky when the cross-reaction is at least this fraction of that pair's own total signal.
compareToNamedSetNoAlso score this published reference set (see namedSetsAvailable in the output) alongside your candidate set, for comparison.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations indicate read-only and idempotent behavior, and the description adds context about the transparent methodology and its limitations (not reproducing NEB's exact values). No contradictions. The description enhances understanding beyond the annotations.

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?

The description is two sentences long with no filler. The first sentence clearly states the main function and outputs, while the second clarifies limitations. Very efficient.

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?

Given the complexity (multiple parameters, optional comparisons, no output schema), the description covers the essential workflow, inputs, and what the tool does not provide. It is sufficient for an agent to understand usage without needing the output 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 coverage is 100% with each parameter described well. The description does not add new meaning beyond the schema, but provides context for the overall scoring purpose. Baseline 3 is appropriate.

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?

The description clearly states the tool scores candidate overhang sets against real ligation data, enumerates specific outputs (specificity, weakest link, risky pairs), and distinguishes itself from alternatives like NEB's undisclosed methodology. It is specific and sets clear boundaries.

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?

The description mentions optional comparison with named sets but does not explicitly cover when not to use the tool or offer direct alternatives. However, it does clarify what the tool does not do (reproduce NEB percentages), which helps guide appropriate use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

golden_gate_from_partsGolden Gate from part plasmidsA
Read-onlyIdempotent
Inspect

Golden Gate as the reaction runs: digest pre-domesticated part plasmids with a Type IIS enzyme and assemble them in the order their OVERHANGS dictate. The fragment released from each part is the one carrying no recognition site (the site goes out with the backbone, which is why a mis-ordered assembly is not re-cut), and the assembly order is an OUTPUT — a set whose overhangs do not close into a single cycle has no product, and the reason is the answer. Distinct from cloning_simulate's goldengate method, which does the other job: designing the primers that ADD the sites to BARE parts, assembled in the order you list them.

ParametersJSON Schema
NameRequiredDescriptionDefault
partsYesThe part plasmids: [{ name, sequence, circular }]. Each needs two Type IIS sites facing INWARDS at the part. `circular` defaults to true, which is what a level-0 part plasmid is. 2-24 parts, each at most 30,000 bp and 200,000 bp in total.
enzymeNoType IIS enzyme (BsaI, BsmBI, BbsI, SapI). NEB's variant names (BsaI-HFv2, BbsI-HF, BsmBI) fold to the parent enzyme; any other name is rejected rather than substituted, since site, spacer and overhang length are all enzyme-specific.BsaI

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and idempotentHint=true, which already cover safety and idempotency. The description adds meaningful behavioral context beyond annotations: it explains that the fragment released carries no recognition site, that the assembly order is an output, and that a set of overhangs that doesn't close into a cycle produces no product. This is valuable disclosure of the tool's internal logic without contradicting any annotation.

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?

The description is long but well-structured: it front-loads the core action, then explains the mechanism, output behavior, and finally the distinction from a sibling. Each sentence carries necessary information for a complex reaction. It could be slightly tightened, but the structure is logical and the density is justified by the technical depth.

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?

Given the tool's complexity and the absence of an output schema, the description adequately covers the key expectations: what the tool does, why the sites are needed, how the order is determined, and what happens when overhangs don't close. It does not describe the exact return format, but the description implies the assembly order is the output. For an agent calling this tool, the essential context is present.

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?

The schema description coverage is 100%, so the baseline is 3. The description adds only conceptual context about overhangs dictating order and enzyme-specificity, but these points are largely implicit in the schema (e.g., 'Each needs two Type IIS sites facing INWARDS'). It does not add new syntactic or semantic details beyond what the schema already provides, so a 3 is appropriate.

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?

The description states a specific verb and resource: 'digest pre-domesticated part plasmids with a Type IIS enzyme and assemble them in the order their OVERHANGS dictate.' It clearly distinguishes the tool from cloning_simulate's goldengate method, which is named explicitly. The purpose is unambiguous and sets it apart from siblings without needing to inspect schemas.

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

Usage Guidelines5/5

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

The description explicitly contrasts this tool with cloning_simulate's goldengate method, stating that the other tool 'designs the primers that ADD the sites to BARE parts, assembled in the order you list them.' This gives clear when-to-use and when-not-to-use guidance. It also explains the consequence of a mis-ordered assembly, which informs the user on what to expect.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hgvs_convertHGVS Variant Converter (c. <-> g. <-> p.)A
Read-onlyIdempotent
Inspect

Parse an HGVS "c." variant description (by gene symbol, RefSeq NM_, or Ensembl ENST accession), convert it to genomic (g.) coordinates via a real, live-fetched Ensembl exon/CDS map (transcripts resolved through the bundled MANE RefSeq<->Ensembl crosswalk), apply 3'-rule normalization to any del/dup/ins, and predict the protein (p.) effect where that is safely computable. Refuses cleanly — rather than guessing — for circular/mitochondrial genomes, RNA-level or protein-level input, uncertain/mosaic syntax, splice-junction-adjacent or inversion protein effects, and non-MANE/non-Ensembl transcripts.

ParametersJSON Schema
NameRequiredDescriptionDefault
variantYesA full HGVS "c." variant description: "<accession or gene symbol>:c.<edit>", e.g. "NM_000546.6:c.215C>G" or "TP53:c.215C>G". Substitution (">"), deletion ("del"), duplication ("dup"), insertion ("ins"), delins, and inversion ("inv") are supported.

TDQS

A4.9/5.0
Behavior5/5

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

Beyond annotations (readOnlyHint, idempotentHint), the description details internal processes (live Ensembl maps, MANE crosswalk, 3'-rule normalization) and refusal reasons, adding significant behavioral context. No contradiction with annotations.

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?

Every sentence is informative and earns its place. The description is well-structured with a clear purpose, detailed behavior, and explicit limitations, all without unnecessary verbosity.

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?

Given the tool's complexity and high parameter documentation, the description covers most aspects. However, it lacks explicit mention of the output structure (e.g., what fields are returned), which would enhance completeness for an output-schema-less tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter 'variant' has full schema coverage, but the description adds crucial context: required format with examples, supported accessions and edit types, which goes beyond the schema definition.

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?

The description clearly states it converts HGVS 'c.' descriptions to genomic coordinates and predicts protein effects. It specifies supported accessions (gene symbol, RefSeq, Ensembl) and edit types, distinguishing it from sibling tools like variant_annotate.

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

Usage Guidelines5/5

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

The description explicitly states when to use the tool and lists clear refusal cases (circular/mitochondrial genomes, RNA/protein input, uncertain syntax, etc.), providing excellent guidance on when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

id_map_pollPoll a batch ID mapping jobA
Read-onlyIdempotent
Inspect

Check a UniProt id-mapping job submitted via id_map_submit. Returns {status, ready:false} while still running; once FINISHED, also returns the mapped ids (normalized regardless of which target database was requested) and any ids that failed to map.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, indicating safe, idempotent polling. The description adds value by detailing the response format and a key behavioral trait: normalization of mapped ids regardless of target database. No contradictions with annotations.

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?

Two efficient, front-loaded sentences. The first states purpose, the second details response lifecycle. No unnecessary words. Perfectly concise for the complexity.

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 simple polling tool with one parameter and sufficient annotations, the description is complete. It explains the return value structure and a notable behavior (normalization). No output schema exists, but the description adequately covers what is returned.

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?

With schema description coverage at 0%, the description must clarify the parameter. It mentions 'job submitted via id_map_submit', implying the jobId comes from that submission. However, it does not specify format or constraints beyond what the schema provides (type string, required). It adds marginal meaning.

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?

The description clearly states the tool's purpose: checking a UniProt id-mapping job submitted via id_map_submit. It specifies the behavior (returns status while running, mapped ids and failed ids when finished), and distinguishes it from the submission tool id_map_submit. The verb 'Check' and resource are explicit.

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?

The description explicitly ties usage to a prior id_map_submit call, providing clear context. It doesn't explicitly state when not to use the tool, but the complementary sibling relationship is evident. This is sufficient guidance for an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

id_map_submitSubmit a batch gene/protein ID mapping jobA
Read-onlyIdempotent
Inspect

Submit up to 1000 ids to UniProt's ID mapping service for a single confirmed-safe hop (e.g. Gene_Name -> UniProtKB-Swiss-Prot, or UniProtKB_AC-ID -> Ensembl/GeneID/RefSeq_Protein/Gene_Name). Returns a jobId immediately — poll it with id_map_poll.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesTarget id type. Supported single hops: Gene_Name/Ensembl/GeneID/RefSeq_Protein -> "UniProtKB-Swiss-Prot" (the only direct target for these), or "UniProtKB_AC-ID" -> Ensembl/GeneID/RefSeq_Protein/Gene_Name. Any other pair is rejected — chain two of these hops instead.
idsYesThe ids to map, up to 1000 (e.g. gene symbols, UniProt accessions, Ensembl gene IDs, Entrez GeneIDs, or RefSeq protein accessions, depending on "from").
fromYesSource id type: "Gene_Name", "Ensembl", "GeneID", "RefSeq_Protein", or "UniProtKB_AC-ID". UniProt's mapping graph is hub-and-spoke — see the "to" note.
taxIdNoNCBI taxonomy id to disambiguate a gene symbol (only used when from="Gene_Name"). Defaults to human (9606) if omitted.

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already provide readOnlyHint and idempotentHint. The description adds value by specifying the 1000 ID limit and that it returns a jobId immediately, but does not add significant behavioral context beyond what annotations imply. No contradiction with annotations.

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?

The description is two concise sentences, front-loaded with the core action and examples, and includes the important note about polling. No wasted words.

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 submission tool, the description is complete: it explains what it does, the limit, the return value (jobId), and how to get results (poll id_map_poll). The schema covers all parameter details, and the sibling tool for polling is referenced.

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% with very detailed parameter descriptions. The description adds some examples of valid hops but does not significantly enhance parameter understanding beyond the schema. Baseline of 3 is appropriate.

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?

The description clearly states the tool submits up to 1000 IDs to UniProt's ID mapping service for a single confirmed-safe hop, with concrete examples like Gene_Name -> UniProtKB-Swiss-Prot. It distinguishes itself from the sibling id_map_poll by stating it returns a jobId to poll.

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?

The description explains when to use the tool: for a single hop mapping. It mentions polling with id_map_poll and implies multi-hop scenarios require chaining, though this is detailed more in the input schema. Explicit exclusions for non-safe hops are in the schema but not in the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

in_silico_pcrIn-silico PCRA
Read-onlyIdempotent
Inspect

Predict PCR products for a template and a pair of primers (IUPAC-aware, allows mismatches, handles circular templates). Primers may carry a non-templated 5' tail — a restriction site, a Gibson arm, a Kozak, a tag: a primer primes on its 3' end, and the tail is carried into the product rather than required to match. start/end are the TEMPLATE-derived span, length is the whole product including tails, and features marks which product bases came from the oligos (present only when there is a tail). Each end reports annealedLength and tailLength.

ParametersJSON Schema
NameRequiredDescriptionDefault
circularNoTreat the template as circular (plasmid).
templateYesNucleotide sequence (raw or FASTA; IUPAC accepted).
forwardPrimerNoPrimer 1, 5'→3'.
maxMismatchesNoMismatches tolerated per primer (0–10).
reversePrimerNoPrimer 2, 5'→3' (order does not matter). Optional: one primer alone is accepted and reports the products it makes on its own — none, unless the template carries inverted sites it can prime from both ends.
maxProductLengthNoIgnore predicted products longer than this (bp). A SEARCH WINDOW, not a claim about what amplifies: whole-plasmid inverse PCR — the reaction a q5-style site_directed_mutagenesis design is run as — makes one product the size of the plasmid, so raise this for a construct over 50 kb. `suppressedByLength` in the response counts what the window discarded.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, but the description goes far beyond that. It explains the non-templated 5' tail behavior, clarifies that primers prime on the 3' end, defines start/end as template-derived span and length as including tails, and mentions the 'features' field and per-end annealedLength/tailLength in the output. This rich behavioral context, including edge cases like circular templates and search-window semantics for maxProductLength, adds substantial transparency.

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?

The description is dense but every sentence earns its place. The core purpose leads, followed by the tail mechanism, then parameter semantics. There is no fluff or repetition, and technical details like the start/end vs length distinction are packed efficiently. It is appropriately long for the complexity but remains tightly structured.

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?

Given 6 parameters, no output schema, and a complex tool, the description covers everything an agent needs to call it correctly: primer orientation, tail handling, circular behavior, mismatch tolerance, and even the semantics of maxProductLength plus the response fields (features, annealedLength, tailLength, suppressedByLength). It is fully self-contained despite the absence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides descriptions for all 6 parameters (100% coverage), but the description adds crucial nuance: it clarifies that reversePrimer is optional and order-independent, explains the tail interpretation for forwardPrimer, and reinterprets maxProductLength as a 'SEARCH WINDOW' that discards products via suppressedByLength. This goes well beyond the schema to resolve ambiguity and correct potential misinterpretations.

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?

The description immediately states the specific verb and resource: 'Predict PCR products for a template and a pair of primers'. It further distinguishes itself by listing key capabilities (IUPAC-aware, allows mismatches, handles circular templates) that separate it from primer design tools like primer_design. This makes its purpose clear and non-confusable with siblings.

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 rather than explicit. The description says what it does but never directly states when to use it over alternatives or when not to use it. The only hint is the mention of 'whole-plasmid inverse PCR' in the maxProductLength parameter, which implicitly ties it to cloning workflows but does not contrast with other sibling tools. There is no explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kasp_primer_designKASP / ARMS Allele-Specific PrimersA
Read-onlyIdempotent
Inspect

Design KASP/ARMS allele-specific genotyping primers for a SNP: two allele-specific forward primers differing only at the 3' terminal base (one per allele), each with the standard KASP universal tail (FAM for allele A, HEX for allele B), a deliberate internal ARMS secondary mismatch near the 3' end whose strength complements that primer's own natural allele mismatch (strong↔weak), and one common downstream reverse primer sized to a chosen amplicon range. Because a forward primer reads the antisense strand, each primer's 3' base sits opposite the complement of the other allele, so the two primers get different mismatch classes and are reported separately (graded from the measured PCR yields in Kwok et al. 1990). Reuses the site's nearest-neighbor Tm engine.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesNucleotide sequence (raw or FASTA; IUPAC accepted).
alleleAYesFirst allele (single base) — gets the FAM tail.
alleleBYesSecond allele (single base) — gets the HEX tail.
maxAmpliconNoMaximum amplicon length for the common reverse primer.
minAmpliconNoMinimum amplicon length for the common reverse primer.
snpPositionYes1-based position of the SNP on the forward strand. Must be 18 or greater: the allele-specific primers end on the SNP, so they need at least 17 bp of upstream template to build a core from.
targetCoreTmNoTarget Tm (°C) for the allele-specific primer core (before the universal tail).
addSecondaryMismatchNoEngineer the internal ARMS destabilising mismatch near the 3' end.

TDQS

A4/5.0
Behavior4/5

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

Annotations already provide readOnlyHint and idempotentHint, so the bar is lowered. The description adds valuable behavioral context: the antisense-strand interpretation, mismatch-class differences between the two primers, grading by Kwok et al. 1990 yields, and reuse of the Tm engine—none of which is in annotations.

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

Conciseness3/5

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

The description is a single dense run-on sentence that front-loads nearly all details without structural breaks. It is information-dense and not wasteful, but its lack of paragraphing or bullet-like separation makes it harder to parse quickly.

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 a complex 8-parameter design tool with no output schema, the description covers the core algorithm, key design constraints, and reporting distinction without explaining exact return values. It is substantially complete for an experienced user, though an explicit output description would have been useful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description enriches parameter understanding by explaining why FAM/HEX tails are assigned per allele, how amplicon range relates to the reverse primer, and how the secondary mismatch interacts with the natural allele mismatch—value beyond the schema's property descriptions.

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?

The description uses a specific verb ('Design') and resource ('KASP/ARMS allele-specific genotyping primers for a SNP'), and details the two allele-specific forward primers plus common reverse primer. This clearly distinguishes it from generic primer_design or aso_design siblings.

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 description implies usage for SNP genotyping and KASP/ARMS applications, but it does not explicitly state when to prefer this tool over sibling tools like primer_design or aso_design, nor does it mention exclusions. Context is present but not fully actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ligation_setupLigation / assembly reaction setupA
Read-onlyIdempotent
Inspect

Work out how many microlitres of vector and insert to pipette to hit a target molar ratio, from each part's length and stock concentration. Handles one insert or several with independent equivalents (Gibson, Golden Gate, MoClo), reports pmol and ng per part alongside the volumes, and flags the two things that actually go wrong on a bench: a volume below what a pipette measures reliably, and a plan whose DNA does not leave room for buffer and enzyme. A molar ratio is about moles, so a shorter insert at 3 molar equivalents goes in at LESS mass than the vector — that conversion is the point.

ParametersJSON Schema
NameRequiredDescriptionDefault
insertsNoMulti-fragment assembly: one entry per insert, each with its own length, stock and molar equivalents. Overrides insertLengthBp/insertNgPerUl/molarRatio when present.
vectorNgNoHow much backbone to put in the reaction, ng. This is the quantity you fix; every insert mass follows from the ratio.
molarRatioNoMolar equivalents of insert per vector. 3 is the usual starting point for a sticky-end ligation; 1-2 is common for Gibson and Golden Gate.
insertNgPerUlNoInsert stock concentration, ng/µL.
vectorNgPerUlYesBackbone stock concentration, ng/µL.
insertLengthBpNoInsert length in bp. Use `inserts` instead for a multi-fragment assembly.
vectorLengthBpYesBackbone length in bp.
vectorSequenceNoOptional backbone sequence — gives an exact molar mass from base composition instead of the 650 g/mol/bp average.
reactionVolumeUlNoTotal reaction volume, µL.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true and idempotentHint=true, but the description adds valuable behavioral details beyond that: it 'flags the two things that actually go wrong on a bench' (pipette volume reliability and insufficient room for buffer/enzyme), and explains the conversion logic ('a shorter insert at 3 molar equivalents goes in at LESS mass than the vector'). This enriches understanding of what the tool returns and its design intent, without contradicting annotations.

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?

The description is a single dense paragraph that is front-loaded with purpose, then features, then a critical caveat. It is informative without being verbose, but it could be slightly more concise by trimming the last sentence's redundancy. However, every sentence earns its place by conveying essential context.

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?

Given the complexity (9 parameters, all schema-documented) and no output schema, the description adequately covers what the tool computes (volumes, pmol, ng), its multi-insert capability, and the important error flags. It tells the user what to expect without needing an output schema. The completeness is high for a calculation tool with clear annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for all 9 parameters, each with a description. The tool description adds conceptual meaning beyond the schema, such as how molar equivalents map to mass and the role of length and stock concentration. While it doesn't detail each parameter further, it provides the underlying logic that ties them together, which is valuable for an agent selecting parameters correctly.

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?

The description clearly states the tool's purpose: 'Work out how many microlitres of vector and insert to pipette to hit a target molar ratio' – a specific verb and resource. It distinguishes itself from sibling DNA tools by emphasizing support for multi-fragment assemblies (Gibson, Golden Gate, MoClo) and its focus on pipetting volumes, which is not offered by generic calculators like dna_molarity or simulators like cloning_simulate.

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?

Provides clear context on when to use: 'Handles one insert or several with independent equivalents (Gibson, Golden Gate, MoClo)' and explains the molar ratio concept. It implies usage for assembly setup but does not explicitly name alternatives or exclusions. However, the context is sufficient for an agent to distinguish it from other tools in the suite.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

melting_temperaturePrimer Tm calculatorA
Read-onlyIdempotent
Inspect

Primer/oligo melting temperature: nearest-neighbour (SantaLucia 1998) at the supplied reaction conditions, recommended from 14 nt up, with the Wallace rule for shorter oligos, a fixed-100 mM-Na+ Schildkraut-Lifson reference estimate, and molecular weights.

ParametersJSON Schema
NameRequiredDescriptionDefault
mgMMNoDivalent cation [Mg2+] (mM).
naMMNoMonovalent cation [Na+]/[K+] (mM).
dntpMMNoTotal [dNTP] (mM), chelates Mg2+.
oligoNMNoTotal strand concentration (nM).
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).
targetTmNoOptional target Tm (°C). When given, the response includes a pass/fail gate.
tmToleranceNoAllowed +/- window (°C) around targetTm for the gate.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate read-only and idempotent behavior. The description adds methodological context (nearest-neighbour, Wallace rule, Schildkraut-Lifson) but does not detail return format, the pass/fail gate for targetTm, or potential limitations like sequence length restrictions beyond the 14 nt recommendation.

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?

The description is a single, information-dense sentence that front-loads the core purpose. It includes relevant details without excessive filler, though the listing of multiple thermodynamic methods makes it slightly heavier than necessary.

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 calculation tool with 7 parameters and no output schema, the description explains what it computes and the methodology, but it does not explain the optional targetTm pass/fail gate or what the response contains beyond molecular weights. It also lacks explicit comparison to sibling oligo analysis tools, which would help in a rich tool ecosystem.

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% with parameter descriptions, so the baseline is 3. The description's mention of 'supplied reaction conditions' and 'molecular weights' adds context to parameters like mgMM and oligoNM but does not directly map to parameter syntax or required input formats.

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?

The description opens with 'Primer/oligo melting temperature' clearly stating the tool's function. It further specifies the calculation method (nearest-neighbour SantaLucia 1998) and includes molecular weights, distinguishing it from sibling tools like primer_design or cross_dimer.

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 description implies usage for Tm calculation and offers some guidance by noting the 14 nt length recommendation and the Wallace rule for shorter oligos. However, it does not explicitly state when to use this tool over alternatives or provide exclusions, such as when to choose primer_design or oligo_analysis.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

motif_finderMotif FinderA
Read-onlyIdempotent
Inspect

Find (overlapping) occurrences of an IUPAC motif on either strand, allowing mismatches.

ParametersJSON Schema
NameRequiredDescriptionDefault
motifYesQuery motif; IUPAC ambiguity codes (R Y S W K M B D H V N) allowed.
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).
maxMismatchesNoMaximum allowed mismatches per match.
searchReverseStrandNoAlso search the reverse strand.

TDQS

A3.8/5.0
Behavior4/5

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

The description adds behavioral context beyond annotations by specifying overlapping matches, allowance of mismatches, and dual-strand search. Annotations already indicate read-only and idempotent behavior, so the description effectively supplements these with operation details.

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?

A single 13-word sentence that front-loads the action and includes key qualifiers. Every word contributes meaning, with no redundancy or filler. Ideal conciseness for quick parsing.

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

Completeness2/5

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

The description lacks output format details (e.g., positions, list of matches) and does not address limits (e.g., sequence length). With no output schema, the description should compensate, but it does not, leaving an AI agent with incomplete invocation context.

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?

Input schema has 100% description coverage, so the schema already documents all four parameters. The description adds no new semantic information beyond rephrasing the tool's purpose. Baseline score of 3 is appropriate since schema carries the burden.

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?

The description clearly states the verb 'Find' and the resource 'occurrences of an IUPAC motif', with specific qualifiers like overlapping, either strand, and allowing mismatches. This makes the tool's exact functionality unambiguous and distinguishes it from sibling tools like 'find_orfs' or 'restriction_sites'.

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 description implicitly defines when to use this tool (motif finding in nucleotide sequences) but lacks explicit guidance on when not to use it or which sibling tools are alternatives. An agent could reasonably infer usage, but clearer direction would improve selection confidence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

multiple_sequence_alignmentMultiple Sequence AlignmentA
Read-onlyIdempotent
Inspect

Center-star multiple sequence alignment of a multi-FASTA input, with consensus and per-column conservation.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesTwo or more sequences in multi-FASTA format (>name / sequence). Up to 25 are aligned.

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint and idempotentHint, so no destructive behavior. The description adds value by specifying input constraints (up to 25 sequences) and output features (consensus, per-column conservation), which are not in annotations.

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?

The description is a single, well-structured sentence that front-loads the core purpose and key details. Every word is informative, with no unnecessary content.

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 a single-parameter tool with robust annotations and no output schema, the description adequately covers input constraints and output features. Minor omission: no explanation of the alignment algorithm beyond 'center-star', but this is acceptable given tool simplicity.

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% for the single parameter 'input', which already specifies multi-FASTA format and upper limit. The description repeats this, adding no new semantic detail; baseline 3 is appropriate.

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?

The description clearly states the tool performs multiple sequence alignment using the center-star method on a multi-FASTA input, producing consensus and per-column conservation. This explicitly distinguishes it from the sibling pairwise_alignment tool.

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 description implies usage for aligning multiple sequences, contrasting with pairwise alignment, but does not provide explicit guidance on when to choose this over alternatives or mention any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

multiplex_panel_designMultiplex PCR panel designA
Read-onlyIdempotent
Inspect

Choose one primer pair per target so the whole panel works in one tube: no cross-dimer between any two of the primers, every amplicon resolvable from every other on the gel you will run, and one annealing temperature that serves all of them. Searches combinations rather than picking each target's best pair in isolation, which is what makes panels fail — and when no compatible panel exists it names the target pairs that cannot be multiplexed at all, so you know which one to redesign.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetsYes2-8 targets to amplify in one reaction.
ampliconMaxNoPanel-wide default product size ceiling.
ampliconMinNoPanel-wide default product size floor, for targets that set none.
maxTmSpreadNoWidest Tm difference tolerated across every primer in the panel, in °C — one annealing temperature has to serve all of them.
agarosePercentNoGel the panel will be read on. Omit and the percentage whose resolving window contains the amplicons is chosen and reported — a panel of small products judged on a 1% gel reads as all-comigrating, which is about the gel rather than the primers.
dimerThresholdDGNoΔG (kcal/mol) at or below which a cross-dimer involving a primer's 3' END is a conflict. That end is where extension starts, so it matters at a weaker ΔG than an internal pairing.
candidatesPerTargetNoCandidate pairs considered per target (max 6). More finds a panel where fewer cannot, at the cost of a larger search.
internalDimerThresholdDGNoThe looser bar for a cross-dimer that pairs internally and only sequesters primer.

TDQS

A4.1/5.0
Behavior4/5

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

The description explains key behaviors: it searches combinations rather than isolated pairs, and on failure it identifies the problematic target. No side effects are mentioned, but annotations indicate read-only and idempotent, so the description aligns with expected behavior without overpromising.

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?

The description is concise and well-structured in two sentences, packing essential information about constraints, search strategy, and failure behavior without unnecessary detail. It avoids redundancy with the schema.

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?

Given the schema and annotations, the description provides sufficient context about why multiplexing is challenging, what the tool does about it, and what happens when no panel exists. It doesn't discuss output format, but since there's no output schema, the description's coverage is adequate.

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?

The schema already provides 100% coverage and detailed descriptions for all parameters (including defaults like 'dimerThresholdDG' and 'candidatesPerTarget'). The description doesn't add parameter-specific information beyond what's in the schema, so it doesn't improve on the baseline.

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?

The description clearly states the tool's function: selecting one primer pair per target for a multiplex panel with constraints like no cross-dimer, amplicon resolution, and uniform annealing temperature. It distinguishes from single primer design by highlighting the combinatorial search, making its purpose unambiguous.

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?

The description implicitly contrasts with single-primer tools (e.g., 'primer_design') by emphasizing the panel-level search and the failure mode that names the target that cannot be multiplexed. While it doesn't explicitly say 'use this when you need multiplex', the context makes it clear when this tool is appropriate versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

oligo_analysisOligo analyzerA
Read-onlyIdempotent
Inspect

Full oligo analysis: nearest-neighbour Tm/ΔG/ΔH/ΔS plus hairpin and self-dimer screening with base-pair diagrams and warnings.

ParametersJSON Schema
NameRequiredDescriptionDefault
mgMMNoDivalent cation [Mg2+] (mM).
naMMNoMonovalent cation [Na+]/[K+] (mM).
dntpMMNoTotal [dNTP] (mM), chelates Mg2+.
oligoNMNoTotal strand concentration (nM).
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).

TDQS

A3.8/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true and idempotentHint=true, so safety is clear. Description adds that it returns base-pair diagrams and warnings, which is useful but does not elaborate on computational cost or limitations.

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?

Single sentence that is front-loaded with key outputs (Tm, ΔG, ΔH, ΔS, screening, diagrams, warnings). No unnecessary words.

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?

No output schema provided, so description must explain return values. It lists thermodynamics, screening results, and diagrams, which is sufficient but lacks detail on format or structure (e.g., whether it returns a report, JSON, or visualization).

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 covers 100% of parameters with descriptions (e.g., mgMM, naMM, dntpMM, oligoNM, sequence). The description only restates that it uses sequence and cation concentrations, adding no new meaning beyond the schema.

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?

Description clearly states the tool performs full oligo analysis including nearest-neighbour thermodynamics (Tm, ΔG, ΔH, ΔS) and secondary structure screening (hairpin, self-dimer) with diagrams and warnings. This distinguishes it from siblings like 'melting_temperature' which only calculates Tm.

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?

No explicit guidance on when to use this tool versus alternatives (e.g., 'melting_temperature' for just Tm, 'cross_dimer' for heterodimers). The description implies comprehensive analysis but does not state use cases or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

oligo_cofoldOligo cofold (ΔG)A
Read-onlyIdempotent
Inspect

Minimum-free-energy structure and ΔG for one oligo (hairpin) or two oligos together (homo/heterodimer), using ViennaRNA's published loop model at a temperature you choose — DNA parameters (Mathews 2004) by default, RNA (Turner 2004) on request. Reports each strand alone, the duplex, and the interaction ΔG the two gain by pairing with each other rather than folding alone, which is the number a primer-dimer screen wants. Unlike oligo_analysis's fast stack-sum screen this is a full loop model with bulge, internal-loop and dangling-end terms; the two are on different parameter sets and must not be compared. PREDICTED, NOT MEASURED. No skill statistic is claimed for predicting whether a PCR fails. Loop-model MFE folding reproduces measured structure well for short duplexes and progressively worse with length; the ΔG itself carries roughly kcal/mol-scale uncertainty and the MFE structure is one structure out of an ensemble — request partition for the ensemble free energy, which is the more honest single number when several structures compete. Valid for: short oligos, at most 200 nt per strand, at the temperature given. It models two strands in isolation at no particular concentration: it does not know your primer concentration, salt, or cycling programme, so it cannot say whether a dimer will actually form in your tube.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYesFirst oligo, 5'→3'. Max 200 nt.
bNoSecond oligo. Omit to analyse hairpin structure in 'a' alone; pass the same sequence as 'a' for a homodimer.
alphabetNoWhich measured parameter set to use. This is not cosmetic — the same 20-mer can differ by several kcal/mol between them.dna
partitionNoAlso compute the ensemble free energy over all structures, not just the MFE one. Costs a second pass.
temperatureNo°C. Primer dimers matter at the annealing temperature, not at 37 °C.

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond annotations (readOnlyHint, idempotentHint) by disclosing that results are predicted, not measured; that ΔG has ~kcal/mol uncertainty; that MFE structure accuracy degrades with length; and that the model ignores concentration and salt. No contradiction with annotations.

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?

Description is fairly long but every sentence adds essential information: purpose, output, comparison, limitations, validity range, parameter usage advice. Front-loaded with core purpose. Could be slightly more streamlined, but no fluff.

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?

Given the complexity of the tool and absence of output schema, the description thoroughly covers what it computes, parameter sets, temperature, comparators, limitations, validity (≤200 nt), and what it cannot do (ignore concentration, salt, cycling). Provides sufficient context for an agent to use and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already covers all 5 parameters with high-quality descriptions (100% coverage). Description adds contextual value for temperature (should be annealing temperature) and partition (costs second pass, more honest for competing structures). Modest added value beyond schema, justifying a score above baseline 3.

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?

Description explicitly states it computes minimum-free-energy structure and ΔG for one or two oligos (hairpin/dimer), contrasting with sibling oligo_analysis's fast stack-sum screen. It clearly defines the resource and action, and avoids tautology.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance: full loop model for short oligos (≤200 nt), contrasts with oligo_analysis, warns about uncertainty and limitations (not measured, no PCR failure prediction, ignores concentration/salt/cycling), and advises using partition for ensemble free energy when competing structures exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

oligo_pool_screenOligo pool cross-dimer screenA
Read-onlyIdempotent
Inspect

Screen a whole set of oligos you already have — every pair for cross-dimers, every oligo for its own hairpin and self-dimer, and the set for duplicates and Tm spread — and get back the conflicts ranked rather than a table of every combination. This is the pool-level answer cross_dimer gives one pair at a time: 51 primers is 1,275 pairs, which is 1,275 separate calls done by hand and one call done here. Not to be confused with multiplex_panel_design, which DESIGNS primers from templates; this takes the primers you have already ordered. A pairing that involves an oligo's 3' END is judged at a weaker ΔG than one that only pairs internally, because that end is where extension starts — the same two-bar rule the multiplex panel designer uses. Every number is a nearest-neighbour calculation over the sequences supplied, not a prediction of what the reaction will do.

ParametersJSON Schema
NameRequiredDescriptionDefault
mgMMNoDivalent cation [Mg2+] (mM).
naMMNoMonovalent cation [Na+]/[K+] (mM).
fastaNoThe pool as a FASTA paste (headers become the names), or as one sequence per line — which is what comes out of a spreadsheet column. An alternative to `oligos`.
dntpMMNoTotal [dNTP] (mM), chelates Mg2+.
oligosNoThe pool, as objects with a name and a sequence. Up to 384. Use this or `fasta`, not both.
oligoNMNoTotal strand concentration (nM).
maxConflictsNoConflict rows returned, most stable first. The COUNTS are always complete.
internalThresholdDGNoThe looser bar for a pairing that only sequesters primer internally, away from either 3' end.
threePrimeThresholdDGNoΔG (kcal/mol) at or below which a pairing that involves a 3' END counts as a conflict.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark the tool read-only and idempotent; the description adds the output style (conflicts ranked, complete counts), the two-bar 3' vs internal ΔG rule, and the caveat that values are nearest-neighbour calculations, not reaction predictions. This is useful behavioral context beyond the annotations and no contradiction is present.

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?

The description is five sentences and all of them carry information: purpose, pool-level comparison with a concrete scale example, differentiation from the design tool, the scoring rule, and the calculation caveat. The 51-primer example is illustrative but slightly expandable; still, nothing is redundant.

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 a read-only screening tool with rich annotations and a fully documented schema, the description adequately covers what the tool does, its relationship to close siblings, and its output style. With no output schema, the 'conflicts ranked' and 'COUNTS always complete' statements help fill that gap.

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?

With 100% schema description coverage, every parameter is already documented in the schema. The description adds conceptual context for the two ΔG thresholds, but no additional per-parameter semantics beyond what the schema provides, so a baseline 3 is appropriate.

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?

The description uses a specific verb ('Screen') and a defined resource ('a whole set of oligos you already have'), enumerates the checks performed (cross-dimers, hairpins, self-dimers, duplicates, Tm spread), and explicitly contrasts with cross_dimer and multiplex_panel_design, making sibling differentiation clear.

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

Usage Guidelines5/5

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

It explicitly frames this tool as the pool-level counterpart to cross_dimer, notes the scale difference through a concrete example, and warns against confusing it with multiplex_panel_design by specifying that the tool consumes already-ordered oligos rather than designing them. This gives an agent clear selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ortholog_mapFind orthologs/paralogs for gene symbols across speciesA
Read-onlyIdempotent
Inspect

Look up the orthologous (or paralogous) gene for up to 50 gene symbols in a target species, via Ensembl's homology-by-symbol REST endpoint. Symbols with no homology record are reported in unmapped, never silently dropped.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoHomology type to return. Defaults to orthologues.orthologues
symbolsYesGene symbols to look up, up to 50 (e.g. ["TP53", "BRCA1"]).
sourceSpeciesNoEnsembl species slug the symbols belong to (e.g. "human", "mouse"). Defaults to "human".human
targetSpeciesYesEnsembl species slug to find homologs in (e.g. "mouse", "rat", "zebrafish", "fruit_fly").

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint and idempotentHint, so the agent knows it is safe and idempotent. The description adds that unmapped symbols are reported in 'unmapped' and never silently dropped, which is valuable beyond the annotations. No contradictions.

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?

The description is extremely concise with only two sentences, front-loaded with the key verb 'Look up'. Every sentence provides essential information without 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?

Given that there is no output schema and the tool is a lookup, the description hints at the output structure by mentioning the 'unmapped' field. However, it does not fully describe the response format for successful mappings, which could be improved. Still, it is fairly complete for the complexity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented. The description adds context about the 50-symbol limit and the behavior for unmapped results, which goes beyond the schema. It also explicitly mentions the Ensembl REST endpoint, adding operational context.

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?

The description clearly states the tool's purpose: looking up orthologous/paralogous genes for up to 50 gene symbols across species via Ensembl's homology-by-symbol endpoint. It uses a specific verb and resource, and distinguishes itself from sibling tools by its focused functionality.

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?

The description implicitly guides when to use this tool (when needing orthologs/paralogs for gene symbols) and mentions the source endpoint and constraints. No explicit exclusions or alternatives are given, but the context is clear enough for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pairwise_alignmentPairwise AlignmentA
Read-onlyIdempotent
Inspect

Global (Needleman-Wunsch), local (Smith-Waterman) or semi-global/fitting pairwise alignment of two sequences, with match/mismatch scoring and affine gap costs (Gotoh).

ParametersJSON Schema
NameRequiredDescriptionDefault
gapNoAffine gap EXTEND penalty, charged per gap position (including the first).
modeNo"global" penalises end gaps in both sequences; "local" returns the best-scoring subalignment; "semiglobal" is a fitting alignment — seqB is consumed end to end while seqA's terminal overhangs are free and are not emitted, so a partial read placed on a longer reference is not smeared across it.global
seqAYesFirst sequence (raw or FASTA; nucleotide or protein).
seqBYesSecond sequence (raw or FASTA; nucleotide or protein).
matchNoMatch score.
gapOpenNoExtra one-off penalty charged on top of gap for a gap's first position. Defaults to 1.5 * gap, so a k-base gap costs gap * (k + 1.5) and one contiguous k-base indel is cheaper than k scattered 1-base gaps. Pass 0 for a purely linear penalty.
mismatchNoMismatch penalty.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so safety is covered. The description adds valuable behavioral details about the algorithms and, notably, the semiglobal behavior (terminal overhangs free, no smearing of partial reads). It does not describe the return format, but this is not a major gap given the read-only nature.

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?

The description is a single, information-dense sentence that front-loads the core purpose and packs in algorithms, scoring, and gap model without wasted words. It is concise yet comprehensive, well-structured for quick scanning.

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 a complex tool with 7 parameters and no output schema, the description covers the key aspects: modes, scoring, and gap penalties. It does not explicitly state the output format, which would be helpful, but the core functionality and behavioral nuances are sufficiently described. Overall, it is complete enough for an agent to understand when and how to use it.

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 baseline is 3. The description adds minimal parameter-specific meaning beyond the schema; it mentions affine gap costs and scoring modes, but the schema already provides detailed descriptions for each parameter. No significant extra value is added.

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?

The description clearly states the tool's purpose: pairwise alignment of two sequences, with specific algorithm names (Needleman-Wunsch, Smith-Waterman, Gotoh) and scoring details. It distinguishes itself from multiple sequence alignment by focusing on pairwise, and the specificity of algorithms and modes leaves no ambiguity.

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?

The description implies usage context through the three modes (global, local, semiglobal), each explained in terms of when they are appropriate (e.g., semiglobal for fitting a partial read to a reference). It does not explicitly name alternatives or when not to use, but the context is clear enough to guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

parse_genbankGenBank ParserA
Read-onlyIdempotent
Inspect

Parse a GenBank flat file into its locus, definition, features and sequence.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesA GenBank flat file (LOCUS … FEATURES … ORIGIN … //).

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already provide readOnlyHint and idempotentHint. The description adds value by specifying that the tool extracts locus, definition, features, and sequence, which is not obvious from annotations alone. However, it does not disclose error handling, input validation requirements, or output format details.

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?

The description is a single, well-structured sentence of 12 words. It front-loads the verb and outcome without any redundant or unnecessary information, earning every word.

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 a simple parser with one parameter and no output schema, the description is fairly complete. It explains what the tool does and what data is extracted. Minor gap: it does not describe the return format (e.g., JSON object structure), but overall adequate given the tool's simplicity.

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 parameter description already mentions the GenBank flat file format. The tool description reinforces this but does not add new meaning beyond what the schema provides, so a baseline score of 3 is appropriate.

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?

The description clearly states the action (parse), the specific resource (GenBank flat file), and the output components (locus, definition, features, sequence). It distinguishes itself from sibling tools like 'characterize_sequence' or 'plasmid_annotate' by its unique purpose.

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 provides no guidance on when to use this tool versus alternatives, no mention of prerequisites or when not to use it. The agent must infer usage solely from the tool's name and sibling context, which is insufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

parse_sanger_traceSanger Trace ParserA
Read-onlyIdempotent
Inspect

Decode a Sanger ABIF (.ab1 / .abi) chromatogram: base calls, per-base quality, the four dye-channel traces, peak locations, and the run's own labels (sample name, well, plate, instrument, run start).

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNameNoOptional original file name (echoed back).
fileBase64YesThe binary ABIF (.ab1 / .abi) trace file, base64-encoded.
includeTracesNoInclude the four raw dye-channel arrays and peakLocations. They are 93% of the response — a 900-base read is 122 kB with them and 8 kB without (measured) — and they are only useful for DRAWING the chromatogram. Everything you would reason about (base calls, quality, the run's labels) is returned either way, so leave this off unless you are rendering.

TDQS

A4/5.0
Behavior4/5

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

Annotations already mark the tool read-only and idempotent, and the description adds a clear enumeration of returned data categories. The includeTraces parameter description meaningfully discloses that traces make up 93% of the response and are only useful for drawing the chromatogram, which is behavioral context beyond the annotations. It stops short of a 5 by not addressing invalid-file or error behavior.

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?

A single front-loaded sentence uses a colon-delimited list to convey the full scope with zero filler. Every phrase adds information, and it does not waste words repeating the tool name or title.

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?

There is no output schema, but the description enumerates the main return categories: base calls, quality, traces, peaks, and run metadata. The includeTraces size/cost detail closes the key practical gap. It would be a 5 with explicit output shapes or handling notes for corrupt input, but as it stands it is nearly complete for invocation.

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 input schema already carries the full parameter meanings. The main description adds only indirect context by listing outputs such as 'the four dye-channel traces' and 'peak locations,' which map to includeTraces but do not substantially explain the parameters beyond what the schema provides.

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?

The verb 'Decode' plus the explicit resource 'Sanger ABIF (.ab1 / .abi) chromatogram' and a precise list of returned artifacts makes the tool's function unambiguous. The focus on raw trace extraction differentiates it from analytical sibling tools such as sanger_indel_spectrum and sanger_vs_reference even without naming them.

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 description implies use when raw base calls, quality, and traces are needed, but it never states when not to use this tool or recommends alternatives. The includeTraces parameter gives excellent guidance for that switch, but tool-selection guidance among the Sanger siblings is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

plasmid_annotatePlasmid annotatorA
Read-onlyIdempotent
Inspect

Auto-detect common cloning features (promoters, tags, origins, resistance markers, MCS, primers) on both strands. Signatures under 20 bp must match exactly; longer ones tolerate up to ~10% mismatches so point mutants still annotate — each feature reports its own mismatches count and an exact flag.

ParametersJSON Schema
NameRequiredDescriptionDefault
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).

TDQS

A4/5.0
Behavior5/5

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

The description goes beyond annotations by disclosing specific matching behavior: exact match required for signatures under 20 bp, ~10% mismatch tolerance for longer signatures, and each feature reporting a 'mismatches' count and 'exact' flag. It also mentions both strands are examined. These are valuable behavioral details not present in the readOnlyHint or idempotentHint.

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?

The description is concise (two sentences) and front-loaded with the core purpose. It lists featured feature types and key behavioral constraints without fluff. No redundant words; every sentence adds value.

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 a one-parameter, read-only tool with no output schema, the description covers the main behavior and even hints at the output (mismatches/exact flags). However, it does not describe the overall return structure (e.g., a list of features with locations). Still, it is sufficiently complete for straightforward annotation use.

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?

The only parameter 'sequence' already has a complete description in the schema ('Nucleotide sequence (raw or FASTA; IUPAC accepted).'). The tool description adds no additional parameter-level detail beyond this. Since schema coverage is 100%, baseline of 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?

The description clearly states the tool's function: auto-detecting common cloning features (promoters, tags, origins, resistance markers, MCS, primers) on both strands. This is a specific verb+resource combination and the list of feature types distinguishes it from generic sequence 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 Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. Sibling tools like plasmid_deep_annotate and plasmid_full_report exist, but the description does not mention them or any context where this tool is preferred. It only states what it does, not when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

plasmid_deep_annotateDeep plasmid annotation (pLannotate)A
Read-onlyIdempotent
Inspect

Annotate a plasmid against pLannotate's open-source feature library — a much larger signature set (GenoLIB parts + Swiss-Prot + FPbase + Rfam, cross-referenced against ~195k Addgene-deposited plasmids) than plasmid_annotate's built-in curated list, and it reports partial and low-identity hits as graded alignments rather than the pass/fail signature match plasmid_annotate does (that one is not exact-only either — signatures of 20 bp or more tolerate up to ~10% mismatches — but it reports a hit or nothing, with a mismatches count and an exact flag). Each feature here carries its percent identity, reference coverage and a fragment flag so you can judge a weak hit. Runs a multi-second search on a shared service and is therefore rate limited (see 429/503); use plasmid_annotate for an instant, unmetered first pass.

ParametersJSON Schema
NameRequiredDescriptionDefault
circularNoTreat the sequence as a circular plasmid (vs. linear).
sequenceYesNucleotide sequence (raw or FASTA). A, C, G, T, N only — other IUPAC codes are rejected rather than silently dropped, because pLannotate's search engines discard them and every coordinate after would shift. Max 30,000 bp.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly and idempotent hints, but the description adds substantial behavioral context: multi-second runtime, shared-service rate limiting (429/503), reporting of partial/low-identity hits with percent identity, reference coverage, and fragment flags. No contradictions with annotations.

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?

The description is dense but well-structured, starting with the primary action, then comparing to the sibling, then detailing output attributes and usage caveats. It is slightly long due to parentheticals, but each sentence earns its place and front-loads key 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?

For a complex tool with no output schema, the description explains the nature of returned data (graded alignments, per-feature metrics) and covers performance and rate-limit context. It lacks an explicit description of the full return format, but the provided information is sufficient for selection and invocation.

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 baseline is 3. The description does not add parameter-specific details beyond the schema, but the schema already fully explains the sequence and circular parameters. No extra semantic value provided.

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?

The description clearly states the tool annotates a plasmid against pLannotate's feature library, using a specific verb and resource. It distinguishes itself from the sibling plasmid_annotate by emphasizing a larger signature set and graded alignments for partial hits.

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

Usage Guidelines5/5

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

Explicitly names plasmid_annotate as the alternative for an instant, unmetered first pass, and describes when the deep annotation is appropriate (when judging weak hits, needing more comprehensive library). Also mentions rate limits, giving practical usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

plasmid_full_reportPlasmid full report (identity + features + unexplained regions)A
Read-onlyIdempotent
Inspect

One combined view of 'what is this plasmid': recognized common features (from plasmid_annotate), backbone identity / possible chimera (from plasmid_identify), and — the two crossed together — any region that neither a curated backbone nor a recognized common feature explains. That last list is a triage signal (an unusual insert, an unannotated part, or worth a closer look), not a defect finding: a real gene-of-interest legitimately has no curated-feature match.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNNoHow many top-ranked backbone candidates to report.
circularNoTreat the query as a circular molecule (most plasmids are).
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows it's safe and repeatable. The description adds valuable context: that the unexplained region list is a triage signal, not a defect finding, which shapes how the agent should interpret results. No contradictions with annotations.

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?

The description is a single, well-structured paragraph. The first sentence states the purpose, followed by break down of components. Every sentence adds substance without redundancy. No wasted words.

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?

Given the tool combines three analyses and has no output schema, the description does a good job explaining what each part does and how to interpret the results. It could briefly mention the return format (e.g., JSON structure) but overall provides sufficient context for a complex tool.

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% with all three parameters (topN, circular, sequence) described. The description does not add additional detail about parameter usage or constraints beyond what the schema provides, so baseline score of 3 is appropriate.

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?

The description clearly states it combines three analyses: common features, backbone identity/chimera, and crossed unexplained regions. It uses a specific verb 'One combined view' and distinguishes from sibling tools like plasmid_annotate and plasmid_identify.

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?

The description explains what the tool outputs and includes guidance that the unexplained regions are a triage signal, not a defect. However, it does not explicitly state when to use this tool versus calling its component tools separately or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

plasmid_identifyIdentify an unknown plasmidA
Read-onlyIdempotent
Inspect

Screen a query plasmid against a small curated set of common backbones (cloning vectors, expression vectors, BACs — see referencesChecked for the exact list) to identify which one(s) it resembles, separate an unmatched region (normal — your own insert) from a POSSIBLE CHIMERA (a region matching a different known backbone than its neighbor), and report per-match %identity/%coverage. NOT a search against Addgene's ~100k-plasmid catalog or PlasmidScope's 850k+ — a curated-set screen only.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNNoHow many top-ranked backbone candidates to report.
circularNoTreat the query as a circular molecule (most plasmids are).
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true (safe read) and idempotentHint=true. Description adds behavioral details: it screens against a small curated list, identifies chimeras, and reports per-match %identity/%coverage. No contradictions with annotations.

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?

Description is approximately four lines, front-loaded with the primary purpose. Every sentence adds necessary information—what it does, what it excludes, and output details. No filler or repetition.

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?

Despite no output schema, the description covers the tool's scope (curated set), its outputs (matched vs. unmatched, chimera detection, %identity/%coverage), and its limitations (not a large catalog search). This is complete for a moderate-complexity tool like plasmid identification.

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%—all three parameters have descriptions. The description does not add significant parameter-level details beyond the schema, but it provides context about the reference set ('small curated set of common backbones — see referencesChecked'), which adds some value. Baseline 3 is appropriate.

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?

Description clearly states the tool screens a query plasmid against a curated set of common backbones, identifies resemblance, separates unmatched region from possible chimera, and reports %identity/%coverage. It distinguishes itself from larger catalog searches, making the purpose precise.

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

Usage Guidelines5/5

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

Explicitly says 'NOT a search against Addgene's ~100k-plasmid catalog or PlasmidScope's 850k+ — a curated-set screen only,' providing clear when-to-use and when-not-to-use guidance. Also explains chimera detection, helping the agent decide when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prime_editing_designPrime Editing Studio (pegRNA)A
Read-onlyIdempotent
Inspect

Design SpCas9 prime-editing pegRNAs for a substitution, insertion, deletion, or small replacement: for each usable NGG PAM it builds the spacer, a primer-binding-site (PBS) length sweep targeting a ~30 C melting temperature, the reverse-transcriptase template (RTT) that encodes the edit, and the full 3' extension, plus PE3 nicking-sgRNA suggestions 40-90 bp away on the opposite strand. Designs where the edit destroys the pegRNA's own PAM (preventing re-nicking of the edited allele) are ranked first. Coordinates: every pegRNA coordinate (protospacer span, nick position, editStart/editEnd) is 1-based inclusive in the submitted PRE-EDIT target's frame — the protospacer+PAM search runs on the unedited sequence, because Cas9 has to bind the allele you actually have. The one exception is edit-dependent PE3b nicking guides, which exist only once the edit is installed; each nickingGuides entry therefore carries a coordinateFrame field of "target" or "editedSequence" naming the frame its own start/end/nickToNickDistance are measured in, and for a length-changing edit the two frames differ downstream of the edit. Off-target activity is not evaluated (no in-browser reference genome).

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesForward-strand target DNA (raw or FASTA), with flanking sequence around the intended edit.
editEndYes1-based inclusive end of the region being changed. For a pure insertion, set editEnd = editStart - 1.
editStartYes1-based inclusive start of the region being changed.
pbsLengthNoOptional preferred PBS length to highlight; a full 8-17 nt sweep is always returned.
frameStartNoOptional 1-based CDS reading-frame start, used only to annotate whether a PAM-blocking mutation would be silent.
insertedSeqNoReplacement bases (forward strand). Empty string means a deletion.
rttHomologyNoHomology length (nt) 3' of the edit that the RTT should include (typically 10-16).

TDQS

A4.4/5.0
Behavior5/5

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

The description goes far beyond the readOnlyHint and idempotentHint annotations. It discloses the coordinate frame behavior (1-based inclusive, pre-edit frame), explains the exception for PE3b guides via a coordinateFrame field, and notes the ranking priority for PAM-destroying edits. It also discloses the absence of off-target evaluation, providing deep 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.

Conciseness4/5

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

The description is long but dense, with each sentence adding value. It is well-structured, starting with the core purpose and then detailing coordinates, ranking, and limitations. While not as curt as a two-sentence example, the complexity justifies the length, and the text is front-loaded with the most important information.

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?

Despite lacking an output schema, the description explains the shape of the returned data (nickingGuides entries with coordinateFrame) and the key behavioral rules (PAM destruction ranking, coordinate frame semantics). It also notes a limitation (no off-target scoring), making it highly complete for an agent to understand what to expect.

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?

The input schema already covers 100% of parameters, so the baseline is 3. The description adds some context (e.g., explaining that a pure insertion uses editEnd = editStart - 1), but this duplicates schema descriptions. It does not add significant new meaning beyond the schema for individual parameters.

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?

The description opens with a specific verb ('Design') and a precise resource ('SpCas9 prime-editing pegRNAs'), and enumerates the edit types (substitution, insertion, deletion, or small replacement). It clearly distinguishes itself from the sibling tool prime_editing_twin_design by detailing the pegRNA design workflow and PE3 nicking-sgRNA suggestions.

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?

The description clearly scopes when to use the tool: for prime editing of small edits with an NGG PAM, and it states what is and is not evaluated (e.g., 'Off-target activity is not evaluated'). It does not explicitly name alternatives or when-not-to-use, but the scope and constraints are clear enough to guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prime_editing_efficiencyPrime-editing efficiency (PRIDICT2.0)A
Read-onlyIdempotent
Inspect

Predict per-pegRNA prime-editing efficiency for one edit with PRIDICT2.0, and return the top-scoring pegRNA designs ranked by it. Takes the target as context, the edit in brackets, then context — ACGT...(A/G)...ACGT, with roughly 100+ bp each side — and enumerates PBS/RTT length combinations, scoring every one in HEK293 and K562. Each candidate comes back with both scores, its percentile against the training library, its rank, the spacer, PBS and RTT lengths, the full pegRNA, and Golden Gate cloning oligos. Use it to CHOOSE between designs; the number is not a promised editing percentage. PREDICTED, NOT MEASURED (Spearman ρ = 0.85 on held-out data from the libraries it was trained on). Spearman rho of about 0.85 for intended edits on held-out library data — the best-validated figure of any model in this registry, and roughly double OSTIR's 0.39 on independent data. That figure is still within the library and cell lines it was trained on. Valid for: human sequence, and efficiency ranking within one locus. It is parameterised on HEK293 and K562; your cell type, delivery method, and chromatin context will all move the absolute efficiency, chromatin alone by severalfold. Nothing here is predicted for a non-human host or for editors outside the PE2/PE3 architecture the training libraries used.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNNoHow many top-ranked pegRNAs to return, out of the hundreds enumerated. Max 50.
cellTypeNoWhich trained context to RANK by. Both scores are always returned; this decides the ordering. There is no generic-mammalian option because the model has no such training data.HEK
sequenceYesTarget with the edit in brackets: context, then (original/edited), then context. Roughly 100+ bp each side — the model reads that context. Keep unchanged flanking bases OUTSIDE the brackets: T(a/g)C, not (TAC/TGC). Insertions and deletions leave one side empty, e.g. (/AGG) or (AGG/).
use5FoldsNoAverage all five trained folds instead of the first. Modestly steadier scores for five times the compute, and it is charged five times as much.

TDQS

A4.6/5.0
Behavior5/5

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

The annotations already mark the tool as readOnlyHint=true and idempotentHint=true, but the description adds extensive behavioral context: it enumerates PBS/RTT combinations, returns multiple scores and design details, explains the Spearman correlation and its limitations, validates against human PE2/PE3 libraries, and clarifies that the number is a ranking not an absolute percentage. This goes well beyond what annotations provide.

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?

The description is front-loaded with the core purpose in the first sentence, then progressively adds input format, output details, usage guidance, validation statistics, and limitations. Every sentence earns its place—there is no redundancy or filler. Despite its length, it is efficiently organized and essential for correct tool usage.

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 complex tool with 4 parameters and no output schema, the description comprehensively covers input format (bracketed edit with flanking context), output fields (scores, percentiles, ranks, spacer, PBS/RTT, pegRNA, oligos), ranking behavior, model limitations (cell types, host, editor architecture), and a validation metric. An AI agent has all necessary context to invoke and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All four parameters have schema descriptions (100% coverage), and the narrative description adds substantial extra meaning. For 'sequence', it details the bracket format with examples for insertions and deletions. For 'cellType', it explains the absence of a generic option. For 'topN', it mentions enumeration size. For 'use5Folds', it describes the trade-off in compute and stability. This goes well beyond the schema's descriptions.

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 clearly states the tool predicts per-pegRNA prime-editing efficiency and returns top-scoring designs. It uses a specific verb ('Predict'), identifies the resource ('PRIDICT2.0'), and describes the input format. While it implicitly differentiates from sibling tools like prime_editing_design by focusing on efficiency scoring rather than design, it does not explicitly name or contrast them, preventing a top score.

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?

The description provides clear context for when to use the tool ('to CHOOSE between designs') and when not to (non-human hosts, editors outside PE2/PE3 architecture, other cell types). It warns that the output is a ranking, not a promised percentage, and notes limitations on absolute efficiency. However, it does not directly compare to sibling tools like prime_editing_design or prime_editing_twin_design, which would make the guidance more explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prime_editing_twin_designtwinPE Studio (dual pegRNA)A
Read-onlyIdempotent
Inspect

Design a twinPE pegRNA pair (Anzalone et al. 2022) for a replacement too large for a single pegRNA's RTT: a left pegRNA nicks the + strand at/before the replacement window and a right pegRNA nicks the - strand at/after it, each synthesizing a new 3' flap; both flaps are truncated at a shared overlap in the middle of the new sequence so they anneal and resolve the edit without an HDR donor. Coordinates: both pegRNAs' protospacerStart/protospacerEnd/nickPosition are 1-based inclusive in the submitted PRE-EDIT target's frame (the PAM search runs on the unedited sequence, on both sides), while replaceSpan is the span of the new content in the returned editedSequence. Off-target activity is not evaluated (no in-browser reference genome).

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesForward-strand target DNA (raw or FASTA), with flanking sequence on both sides of the replacement window.
pbsLengthNoOptional preferred PBS length to highlight; a full 8-17 nt sweep is always returned.
replaceEndYes1-based inclusive end of the region being replaced/deleted. For a pure insertion, set replaceEnd = replaceStart - 1.
newSequenceYesNew sequence (forward strand) to install in place of [replaceStart, replaceEnd]. Needs >= 2 bp.
replaceStartYes1-based inclusive start of the region being replaced/deleted.
overlapLengthNoLength (bp) of the shared overlap built into both pegRNAs' 3' flaps where they meet and anneal.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already mark readOnlyHint=true and idempotentHint=true, and the description adds rich behavioral detail consistent with those hints: detailed coordinate conventions ('1-based inclusive'), the fact that the PAM search runs on the unedited sequence, the dual-flap annealing mechanism, and the explicit limitation 'Off-target activity is not evaluated.' This goes well beyond the structured annotations and helps the agent set expectations for outputs and algorithm behavior.

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?

The description is dense but each sentence carries load-bearing information: biological mechanism, coordinate rules, and limitations. It is front-loaded with the primary purpose, then explains the mechanism and constraints. Some sentences are long and technical, which is acceptable given the complexity of a dual pegRNA design tool, but the density reduces readability slightly.

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 complex tool with six parameters and no output schema, the description covers the necessary context: when to use it, what the algorithm does mechanically, how coordinates are defined, what returned fields mean, and what limitations exist (no off-target scoring). It also accounts for edge cases like pure insertions via replaceEnd = replaceStart - 1, which the schema mentions but the description reinforces the intended context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents all six parameters with 100% coverage, so the baseline is 3. The description adds meaningful coordinate semantics (protospacerStart/protospacerEnd/nickPosition are 1-based inclusive in the PRE-EDIT target frame) and clarifies that replaceSpan refers to the 'span of the new content in the returned editedSequence,' which assists in interpreting replaceStart/replaceEnd and newSequence. This supplements—rather than merely repeats—the schema's per-parameter descriptions.

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?

The description opens with 'Design a twinPE pegRNA pair' — a specific verb plus resource — and immediately distinguishes it from single pegRNA design by noting it's for a replacement 'too large for a single pegRNA's RTT.' It also contrasts the mechanism with 'without an HDR donor,' which differentiates it from similar CRISPR design siblings like crispr_hdr_donor or prime_editing_design.

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?

Clear use condition is stated: use when a replacement is too large for a single pegRNA's RTT. The description does not explicitly name sibling alternatives or state 'do not use if X', but the context is sufficient to infer this tool is the twinPE-specific counterpart to prime_editing_design. The absence of off-target evaluation also provides a boundary on expected behavior.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

primer_designPrimer designerA
Read-onlyIdempotent
Inspect

De-novo PCR primer design (Primer3-style penalty picker): enumerate and score candidate primer pairs against length/Tm/GC/3'-clamp/structure constraints.

ParametersJSON Schema
NameRequiredDescriptionDefault
mgMMNoDivalent cation [Mg2+] (mM).
naMMNoMonovalent cation [Na+]/[K+] (mM).
gcMaxNo
gcMinNo
tmMaxNo
tmMinNo
tmOptNo
dntpMMNoTotal [dNTP] (mM), chelates Mg2+.
lenMaxNo
lenMinNo
lenOptNo
oligoNMNoTotal strand concentration (nM).
templateYesNucleotide sequence (raw or FASTA; IUPAC accepted).
maxReturnNoNumber of best pairs to return.
targetEndNo1-based inclusive end of the target region (optional).
tmMaxDiffNoMax Tm difference within a pair (°C).
ampliconMaxNo
ampliconMinNo
targetStartNo1-based inclusive start of a region the product must span (optional).

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description does not need to repeat safety traits. It adds behavioral context by explaining that the tool 'enumerate and score candidate primer pairs against length/Tm/GC/3'-clamp/structure constraints', revealing its algorithmic nature and output type. This goes beyond the annotations without contradicting them.

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?

The description is a single, information-dense sentence that front-loads the core purpose and method. It includes a parenthetical clarification ('Primer3-style penalty picker') and lists key constraints, all without unnecessary words.

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?

Given the tool has 19 parameters and no output schema, the description gives a useful high-level overview but omits important details like the return structure (e.g., a list of scored primer pairs) and the role of optional parameters such as targetStart/targetEnd. It is adequate for understanding the core function but falls short of being complete for such a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 47% (9 of 19 parameters have descriptions). The description mentions constraint categories like 'length/Tm/GC/3'-clamp/structure' but does not explain specific parameters such as gcMax, tmOpt, ampliconMin, or targetStart. With this low schema coverage, the description should compensate, but it remains at a high level and adds little value for understanding individual parameters.

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?

The description clearly states the tool's function: 'De-novo PCR primer design' and specifies the method as a 'Primer3-style penalty picker' that enumerates and scores candidate primer pairs against constraints. This distinctly separates it from sibling tools like melting_temperature (which only calculates Tm) or kasp_primer_design (which is specifically for KASP genotyping).

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 phrase 'De-novo PCR primer design' implies the tool is for designing new primers, as opposed to checking existing ones or calculating Tm only. However, it does not explicitly state when to use this tool over alternatives like primer_specificity or aso_design, nor does it provide exclusions or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

primer_specificityPrimer specificity screenA
Read-onlyIdempotent
Inspect

Self-hosted e-PCR-style screen for off-target amplicons predicted by a primer pair against a small set of curated reference genomes (currently: E. coli K-12 MG1655, B. subtilis 168, human mitochondrion rCRS, Mycoplasma hyorhinis SK76 — see genomesChecked in the response for the exact list, and note that the nuclear human and mouse genomes are NOT covered). Amplicons are 1-based inclusive on the plus strand; a product across a circular genome's origin reports an end lower than its start and sets wraps: true. This checks background/host-genome specificity, NOT whether the primers hit your intended target — pair it with in_silico_pcr against your own template for that. Each off-target end reports its 3' ANCHOR — the primer's unbroken run of matched bases at the extending end — with that anchor's nearest-neighbour ΔG and a margin against the intended, fully matched reaction, so a site can be told apart by WHERE its mismatches fall rather than only how many there are: one mismatch at the 5' end leaves a site nearly as strong, and one at the 3' base leaves it unable to prime at all. Batchable over candidate REVERSE primers against one fixed forward primer (screen many candidates against a shared partner) — not independent primer-pair batching, which this tool doesn't support. A primer may carry a non-templated 5' tail (a restriction site, a Gibson arm, a tag): the screen looks for a 3'-anchored annealing region as well as a full-length match, so a tailed cloning primer is screened rather than silently matching nothing. Each end's anchor is the annealed run, which is the length that matters for extension, and start/end are measured on the ANNEALED footprints — the bases each primer actually pairs with on the genome — so length (the product, tails included) equals end - start + 1 only for untailed primers. Screening a TAILED primer without intendedTemplate inflates every margin by the tail's own free energy, because nothing about an oligo says where its non-templated part ends; intended.basis reports which footprint the margins rest on.

ParametersJSON Schema
NameRequiredDescriptionDefault
forwardPrimerYesForward primer, 5'→3'.
maxMismatchesNoMismatches tolerated per primer against a reference genome. Capped at 4 — past that a primer would not extend anyway. No primer length is refused for raising this: the pigeonhole seed just gets shorter and less selective, so more candidate sites are verified and the call takes longer (an 18-mer over the bundled genomes runs in ~0.1 s at 0 and ~1.5 s at 4). A short primer at a high setting can still exceed the binding-site pairing limit and come back "unsupported" — a 13-mer at 4 binds too many places to pair up, where an 18-mer screens fine — and either primer under 13 nt is not screened at all (ambiguousSeed: true, no amplicons).
reversePrimerYesReverse primer, 5'→3'.
intendedTemplateNoThe template these primers are meant to amplify. Only their annealing footprints are read from it, so an amplicon, a plasmid or a cassette is always enough (at most 1,000,000 bp). Passing it is what makes closestCompetitorMargin true for a primer carrying a 5' tail: a tail is non-templated by definition, so nothing about the oligo says where it ends, and without a template the screen has to assume the whole oligo anneals — which credits the intended reaction with a duplex the tail cannot form ANYWHERE and inflates every margin by that tail's own free energy. Searched on both strands as given; a primer that cannot be found on it is an error rather than a silent fall back to the whole oligo.
maxProductLengthNoIgnore candidate off-target products longer than this (bp) — a search-window cap, not a biological claim.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations provide only readOnly, idempotent, and openWorld hints, which are minimal. The description carries the full burden and does so extensively: it explains coordinate systems (1-based inclusive), circular genome wrapping (wraps: true), the anchor concept, tail behavior, the role of intendedTemplate in margin calculation, and performance scaling. It even discloses edge cases like unsupported short primers. This is far beyond what annotations convey.

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

Conciseness2/5

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

The description is extremely verbose, running well over 1000 words. It covers many detailed scenarios and caveats that, while informative, are not strictly necessary for an agent to select and invoke the tool. The core purpose is front-loaded, but the bulk is dense technical documentation that could overwhelm a decision-making model. It is not concise; every sentence does earn its place in a manual, but for a tool description it is over-specified.

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?

Given the tool has 5 parameters, no output schema, and a complex domain, the description is remarkably complete. It explains return fields like genomesChecked, wraps, anchor, margin, and intended.basis, covers all parameter behaviors, and addresses corner cases (tails, short primers, circular origins). Nothing an agent needs to call it correctly is missing; in fact, the description over-delivers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description enriches every parameter significantly. For maxMismatches it explains the trade-off between speed and sensitivity, the 'unsupported' failure mode for short primers, and the performance numbers. For intendedTemplate it details why it's essential for tailed primers and how it affects margin computation. maxProductLength is clarified as a search-window cap. The description adds operational meaning that the schema alone does not.

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?

The description immediately states the tool's core function: a self-hosted e-PCR-style screen for off-target amplicons against curated reference genomes. It names the specific verb (screen), the resource (off-target amplicons), and scope (reference genomes), and it differentiates from siblings like in_silico_pcr and crispr_offtarget_check. The opening sentence is unambiguous and sets expectation clearly.

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

Usage Guidelines5/5

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

The description explicitly says when to use this tool ('checks background/host-genome specificity, NOT whether the primers hit your intended target') and points to the alternative (in_silico_pcr) for that purpose. It also warns about the batching limitation (only reverse-primer batches, not independent pairs) and explains the effect of passing intendedTemplate. This leaves no ambiguity about selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protease_digestionProtease DigestionA
Read-onlyIdempotent
Inspect

In-silico protease/chemical digestion: cleave a protein and report each peptide's position, length and neutral mass.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxMassNoOptional upper bound on neutral monoisotopic mass (Da).
minMassNoOptional lower bound on neutral monoisotopic mass (Da).
proteaseNoProtease or chemical cleavage agent.trypsin
sequenceYesProtein sequence (one-letter amino-acid codes; non-AA characters ignored).
maxPeptidesNoCap on the number of returned peptides.
missedCleavagesNoAllowed missed internal cleavages (0–2).

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, indicating a safe, side-effect-free operation. The description adds minimal behavioral context beyond stating it's an in-silico simulation. It does not mention constraints like the maxPeptides cap or the handling of non-AA characters, which are in the schema but not in the description.

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?

The description is a single, front-loaded sentence that conveys the essential information without any verbose or redundant phrasing. Every word contributes to understanding the tool's core function and output.

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?

Given the lack of an output schema, the description only partially describes the return values (position, length, neutral mass). It does not specify whether the output is a list, the ordering, or how missed cleavages or other parameters affect results. A more complete description would clarify the output structure.

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?

The input schema has 100% coverage with parameter descriptions, so the description does not need to repeat them. However, the description adds no extra meaning beyond the schema, such as usage tips or parameter relationships. It meets the baseline for a well-documented schema.

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?

The description clearly states the tool's action ('cleave a protein') and the output ('report each peptide's position, length and neutral mass'). It uses specific verb+resource and distinguishes from sibling tools like 'protein_properties' or 'characterize_sequence' which have broader or different purposes.

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 description implies usage for in-silico digestion but provides no explicit guidance on when to use this tool vs. alternatives, nor does it mention prerequisites or exclusions. The context is clear but lacks direct when-to-use and when-not-to-use instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protein_annotate_pollPoll a protein annotation jobA
Read-onlyIdempotent
Inspect

Check an InterProScan job submitted via protein_annotate_submit. Returns {status, ready:false} while still running; once FINISHED, also returns the parsed domain architecture, per-match details and deduplicated GO terms.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint and idempotentHint. The description adds valuable behavioral detail about the polling state machine (returns different data when running vs finished) and the specific data returned upon completion.

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?

Two sentences, efficiently covering purpose, behavior, and return value. No unnecessary words.

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?

Given the simplicity (1 param, no output schema), the description fully explains the tool's behavior and return values. No gaps.

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 0% (no description for jobId). The description implies that jobId comes from a previous submit call, but doesn't provide format or constraints. However, with only one parameter, its purpose is largely self-explanatory.

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?

The description clearly states the tool polls an InterProScan job and specifies the return structure for both running and finished states. It distinguishes itself from the submit sibling (protein_annotate_submit).

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?

Explicitly mentions it checks a job submitted via protein_annotate_submit, providing clear usage context. No explicit when-not-to-use or alternatives, but the polling nature makes it straightforward.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protein_annotate_submitSubmit a protein for domain/GO annotationA
Read-onlyIdempotent
Inspect

Submit a protein sequence to EBI InterProScan for domain architecture, family and GO-term annotation. Returns a jobId immediately — the job itself takes minutes; poll it with protein_annotate_poll.

ParametersJSON Schema
NameRequiredDescriptionDefault
applNoRestrict to one member database (e.g. "PfamA"); omit to run EBI's defaults across all of them.
gotermsNoInclude GO-term cross-references.
sequenceYesProtein sequence, one-letter code (FASTA header, if any, is stripped).

TDQS

A4.2/5.0
Behavior4/5

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

The description discloses that the job is asynchronous and takes minutes, which goes beyond annotations (readOnlyHint, idempotentHint). No contradiction with annotations. The description adds behavioral context about immediate return of jobId and need for polling.

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?

The description is two sentences, both front-loaded with essential information. Every word adds value, with no redundancy or filler. Efficient and clear.

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?

Given the three parameters are well-described in the schema, the description sufficiently covers the workflow. It mentions the asynchronous nature and need to poll, but could optionally specify the format of jobId. Overall adequate for a submission tool with no output 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 coverage is 100% with clear descriptions for each parameter. The description does not add additional parameter-level meaning beyond the schema. It restates the overall function but not per-parameter details. Baseline score of 3 is appropriate.

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?

The description clearly states the verb (submit), resource (protein sequence to EBI InterProScan), and output (jobId). It distinguishes itself from the sibling tool 'protein_annotate_poll' by indicating that this is the submission step and polling is done separately.

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?

The description explicitly states the workflow: submit and then poll with protein_annotate_poll. It does not list exclusions or alternatives, but the context makes it clear that this is the submission step. The requirement for a protein sequence is implied but not stated as a prerequisite.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protein_hydrophobicityHydrophobicity ProfileA
Read-onlyIdempotent
Inspect

Sliding-window hydropathy/hydrophobicity profile (ProtScale-style) over a published amino-acid scale.

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNoAmino-acid scale. Kyte-Doolittle and Eisenberg are hydrophobicity; Hopp-Woods is hydrophilicity.Kyte-Doolittle
windowNoSliding-window size (clamped to an odd number ≥ 1).
sequenceYesProtein sequence (one-letter amino-acid codes; non-AA characters ignored).

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only and idempotent hints. The description adds meaningful behavioral details: sliding-window approach, use of published scales, and handling of non-AA characters. No contradiction with annotations.

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?

Single, efficient sentence that immediately conveys the core functionality. No extraneous words, front-loaded with key 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?

Given the schema and annotations cover the needed details, the description is largely complete. However, the output format ('profile') is vague; mentioning that it returns a list of scores per window position would improve completeness. Still adequate for a low-complexity tool.

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%, so the schema fully documents parameters. The description adds context like 'ProtScale-style' but does not provide additional meaning beyond what is in schema descriptions. Baseline score is appropriate.

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?

The description clearly specifies the tool computes a sliding-window hydropathy/hydrophobicity profile, referencing ProtScale and published amino-acid scales. It distinctively names the resource (protein sequence) and the operation (profile computation), differentiating it from broader sibling tools like 'protein_properties'.

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?

No explicit guidance on when to use this tool versus alternatives such as 'protein_properties' or 'codon_adaptation_index'. The context is implied by the tool name, but the description does not provide conditions or exclusions to aid selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protein_propertiesProtein PropertiesB
Read-onlyIdempotent
Inspect

Protein properties: molecular weight, isoelectric point, GRAVY, extinction coefficient and composition.

ParametersJSON Schema
NameRequiredDescriptionDefault
sequenceYesProtein sequence (one-letter amino-acid codes; non-AA characters ignored).
chargeStepNopH step along the net-charge titration curve, which always spans pH 0-14. Between 0.001 and 14.

TDQS

B3.4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint and idempotentHint, so no contradiction exists. The description adds only a little context by listing the returned property kinds, but it does not clarify behavioral details such as the net-charge/titration output associated with chargeStep or how the computation handles invalid input beyond what the schema already states.

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?

The description is a single front-loaded line with no filler. Every word contributes to enumerating the tool's outputs, and it is appropriately sized for a simple read-only property calculator.

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?

Given two well-documented parameters, read-only/idempotent annotations, and a straightforward computation, the description is nearly sufficient. It would be more complete if it explicitly connected chargeStep to a net-charge output, but the schema already provides that context, so the gap is minor.

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%: the schema already documents sequence format and chargeStep constraints in detail. The tool description adds no parameter-specific meaning, so it stays at the baseline 3 rather than compensating or improving on the 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?

The description clearly enumerates the computed properties—molecular weight, isoelectric point, GRAVY, extinction coefficient, and composition—so an agent can tell this is a protein-sequence analysis tool. However, it lacks a specific verb like 'compute' or 'predict' and does not explicitly differentiate it from siblings such as protein_hydrophobicity or characterize_sequence.

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 guidance about when to use this tool versus the many related sequence-analysis siblings, nor any statement about cases where it should not be used. The list of properties implies a use case, but the description leaves selection entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

random_sequenceRandom SequenceB
Read-onlyIdempotent
Inspect

Generate a random DNA, RNA or protein sequence, optionally with a target GC content.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNodna
lengthYesNumber of residues to generate.
gcContentNoTarget GC percentage 0..100 (dna/rna only); omit for uniform.

TDQS

B3/5.0
Behavior1/5

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

The description claims the tool is 'random' and 'idempotentHint' is true in annotations. This is a direct contradiction: a random sequence tool cannot be idempotent. The description does not clarify that each call returns a different sequence, nor does it discuss the randomness source or reproducibility.

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?

The description is a single, clear sentence with 16 words. Every word is necessary and no redundancy. It is front-loaded with the core purpose.

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

Completeness2/5

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

The description lacks details about output format, length range, or behavior of the GC content parameter. Given no output schema, the agent is left to infer return values. The annotation contradiction further reduces completeness.

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?

The description adds meaning beyond the schema by mentioning 'optionally with a target GC content', clarifying that gcContent is optional and only for dna/rna. However, schema coverage is 67% and kind's enum values are not described in the description, leaving some ambiguity.

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?

The description clearly states the tool generates a random DNA, RNA, or protein sequence with an optional target GC content. It specifies the verb 'Generate' and the resource 'random sequence', distinguishing it from siblings like gc_content or reverse_complement.

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 provides no guidance on when to use this tool versus alternatives. For example, it doesn't mention that it's useful for testing or generating synthetic sequences, nor does it exclude scenarios where deterministic sequences are needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rbs_designDesign a ribosome binding site (OSTIR)A
Read-onlyIdempotent
Inspect

Design a 5' UTR / ribosome binding site for a given CDS. Generates a spread of Shine-Dalgarno cores and SD-to-start spacings, scores every one with OSTIR in the context of your own CDS (which matters — the rate depends on how the RBS interacts with that CDS's 5' folding), and returns them ranked. Supply targetExpression to rank by closeness to a target rate instead of by maximum strength, and supply your existing 5' UTR to get a measured baseline and fold-change for each candidate. Runs ViennaRNA on a shared service and is therefore rate limited (see 429/503). PREDICTED, NOT MEASURED (Spearman ρ = 0.39 on two 5' UTR datasets it was not fitted to). Spearman ρ = 0.39 against measured expression on two 5' UTR datasets it was not fitted to (Gilliot & Gorochowski, Nucleic Acids Res 2024;52(13):e58). The widely quoted 53% within 2-fold / 91% within 10-fold are calibration residuals on the fitting set, not held-out validation. Valid for: translation INITIATION only, in E. coli-like Gram-negative hosts (the model is parameterised on the E. coli anti-Shine-Dalgarno sequence). Rankings within one construct context; the absolute value has no units and no meaning.

ParametersJSON Schema
NameRequiredDescriptionDefault
cdsYesCoding sequence, raw or FASTA, starting at its start codon. Only the 5' end affects the prediction, so the first ~90 nt is enough. A, C, G, T/U only. Max 3,000 nt.
limitNoHow many ranked candidates to return. 1-60.
leaderNoOptional 5' context upstream of the designed RBS — the transcribed leader from your promoter. Affects the standby-site term. Defaults to a 20 nt unstructured poly-A leader.
currentUtrNoOptional: your existing 5' UTR (everything upstream of the start codon). Scored as a baseline so each candidate gets a fold-change against it.
targetExpressionNoOptional target rate on OSTIR's arbitrary scale. Candidates are then ranked by closeness to it (log-ratio) rather than by maximum strength. Only meaningful against a number produced by this same tool.
antiShineDalgarnoNoOptional anti-Shine-Dalgarno sequence (the 16S rRNA 3' end) to model a non-E. coli host. Omit to use OSTIR's own E. coli default.

TDQS

A4.6/5.0
Behavior5/5

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

Beyond annotations (readOnlyHint and idempotentHint), the description discloses critical behavioral traits: the tool is PREDICTED not measured, explains the validation caveats (53%/91% are calibration residuals), and notes rate limiting on the shared service. This adds substantial context that annotations alone cannot provide.

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?

The description is detailed yet front-loaded with the core purpose. Some repetition of the validation data appears twice, which could be streamlined, but overall it is efficient and informative.

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?

Given the tool has 6 parameters (only 1 required), no output schema, and moderate complexity, the description is complete. It explains the effect of each optional parameter (targetExpression, currentUtr, antiShineDalgarno), the return behavior (ranked candidates, baseline fold-change), and limitations (E. coli-like hosts, no absolute value meaning).

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%, so baseline 3 is appropriate. The description does not add significant semantic nuance beyond the schema; it mentions the leader and currentUtr parameters in context but doesn't elaborate on types or constraints.

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?

The description clearly states the tool designs a 5' UTR / ribosome binding site for a given CDS, using OSTIR scoring. It distinguishes itself from siblings like rbs_predict (which predicts for a given RBS) and other design tools by naming the specific method and output structure.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool: for translation initiation design in E. coli-like hosts, with notes on the predictive nature (Spearman ρ=0.39, not fitted to held-out data) and that it is for ranking within one construct, not absolute values. It also warns about rate limits (429/503) from shared ViennaRNA service.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rbs_predictPredict translation initiation rate (OSTIR)A
Read-onlyIdempotent
Inspect

Predict the translation initiation rate at each start codon in a bacterial mRNA using OSTIR, the open-source continuation of the Salis lab RBS Calculator, with ViennaRNA free energies. Returns the predicted rate plus the full thermodynamic breakdown (16S rRNA:mRNA hybridisation, mRNA unfolding, spacing, standby site, start-codon binding) for every start codon found. Rates are on an arbitrary scale — compare them as ratios, not as absolute expression levels. Runs ViennaRNA on a shared service and is therefore rate limited (see 429/503). PREDICTED, NOT MEASURED (Spearman ρ = 0.39 on two 5' UTR datasets it was not fitted to). Spearman ρ = 0.39 against measured expression on two 5' UTR datasets it was not fitted to (Gilliot & Gorochowski, Nucleic Acids Res 2024;52(13):e58). The widely quoted 53% within 2-fold / 91% within 10-fold are calibration residuals on the fitting set, not held-out validation. Valid for: translation INITIATION only, in E. coli-like Gram-negative hosts (the model is parameterised on the E. coli anti-Shine-Dalgarno sequence). Rankings within one construct context; the absolute value has no units and no meaning.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoOptional 1-based position; only consider start codons beginning at or before it.
startNoOptional 1-based position; only consider start codons beginning at or after it.
sequenceYesmRNA sequence, raw or FASTA — the 5' UTR plus at least the start of the CDS. DNA (T) and RNA (U) are both accepted and scored identically. A, C, G, T/U only. Max 3,000 nt.
antiShineDalgarnoNoOptional anti-Shine-Dalgarno sequence (the 16S rRNA 3' end) to model a non-E. coli host. Omit to use OSTIR's own E. coli default.

TDQS

A4.5/5.0
Behavior5/5

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

Goes far beyond annotations (readOnlyHint, idempotentHint) by disclosing rate limiting (429/503 errors), shared service usage, return content (thermodynamic breakdown), the predictive accuracy (Spearman ρ=0.39), and the pitfalls of commonly cited statistics (calibration residuals). No contradiction with annotations.

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

Conciseness3/5

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

The description is comprehensive but verbose (~150 words). It is front-loaded with the main action and each sentence adds value, but it repeats the Spearman correlation and could be trimmed without losing meaning. Adequate but not optimally concise.

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 prediction tool with 4 parameters and no output schema, the description thoroughly explains what the tool returns (full thermodynamic breakdown), its limitations (arbitrary scale, validation stats), rate limits, and acceptable inputs. No gaps in context given the complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All four parameters have schema descriptions (100% coverage). The tool description adds meaning beyond schema by specifying sequence requirements (5' UTR + CDS, DNA/RNA accepted, max 3000 nt) and explaining how antiShineDalgarno models non-E. coli hosts. This extra context raises it above the baseline of 3.

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?

The description clearly states it predicts translation initiation rate using OSTIR for bacterial mRNA, specifying the start codons, return value (rate and thermodynamic breakdown), and distinguishes it from sibling tools like rbs_design by emphasizing prediction over design.

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?

Provides clear context on when to use (translation initiation only, E. coli-like hosts, rankings within a construct) and limitations (arbitrary scale, predicted vs measured, validation caveats). However, it lacks explicit differentiation from alternatives like rbs_design or gene_expression, and does not state when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

repeat_instabilityRepeat instability (what the construct can delete)A
Read-onlyIdempotent
Inspect

Find the exact direct repeats in a construct that make it deletable, and build the molecule each pair would collapse to. Two copies of the same terminator or promoter in a multi-gene assembly let the DNA between them recombine out — silently, so the clone grows and the map looks right until it is sequenced. Returns each repeat pair's coordinates plus the resulting sequence(s), ordered by repeat length and spacer, the two factors that govern how readily a pair recombines. Reports no deletion RATE: none is derivable from sequence alone. Feed a deletion product to diagnostic_digest to screen for it.

ParametersJSON Schema
NameRequiredDescriptionDefault
circularNoTreat as a plasmid. A circular construct is searched across its own arbitrary start, so a repeat straddling position 1 is not missed, and each pair reports BOTH circles the recombination makes.
maxPairsNoCap on reported pairs, most recombinogenic first. The pre-cap count is always reported as pairsFound.
sequenceYesThe construct, raw or FASTA. Max 500,000 bp.
minRepeatLengthNoShortest repeat to report, in bp (default 20). Below about 20 bp homologous recombination has little to work with and chance matches multiply.
includeSequencesNoReturn the full product sequences. Turn off for a coordinates-only summary over a large construct.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description doesn't need to restate those. It adds valuable behavioral context: the biological mechanism (silent recombination), the ordering of results 'by repeat length and spacer', and a key limitation ('Reports no deletion RATE'). This goes beyond the structured annotations and helps the agent understand what to expect from the tool's output.

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?

The description is five sentences, each serving a distinct purpose: purpose, biological context, output specifics, limitation, and workflow recommendation. It is front-loaded with the main function and stays under ~120 words without fluff or repetition. This is appropriately concise for the tool's complexity.

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 no output schema, the description explains the return format ('coordinates plus the resulting sequence(s)') and the ordering. It also provides context about the biological significance and next-step validation. The schema covers parameter details like defaults and circular behavior, so the description doesn't need to repeat those. It is complete enough for effective use, though it doesn't explicitly mention the pairsFound field (which is in the schema for maxPairs).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage for all 5 parameters, so the baseline is 3. The description adds extra meaning by explaining the sorting logic ('ordered by repeat length and spacer') which directly relates to maxPairs and minRepeatLength. It also mentions circular behavior implicitly through 'each pair would collapse to', complementing the schema's detailed description of circular. This enriches the parameter semantics beyond the schema.

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?

The description clearly states the tool's function: 'Find the exact direct repeats in a construct that make it deletable, and build the molecule each pair would collapse to.' The verb 'Find' and resource 'construct' are specific, and the title 'Repeat instability (what the construct can delete)' further clarifies the purpose. It distinguishes itself from siblings like diagnostic_digest by describing the predictive nature of the tool and suggesting a downstream validation step.

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?

The description provides clear usage context: it explains the tool identifies deletable repeats and mentions a specific workflow ('Feed a deletion product to diagnostic_digest to screen for it'). It also sets expectations by stating 'Reports no deletion RATE: none is derivable from sequence alone', which excludes a potential misuse. However, it does not explicitly say when to avoid this tool in favor of alternatives beyond diagnostic_digest.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

restriction_sitesRestriction sitesB
Read-onlyIdempotent
Inspect

Find restriction enzyme recognition sites in a DNA sequence.

ParametersJSON Schema
NameRequiredDescriptionDefault
enzymesNoEnzyme names to scan; omit to scan the curated common-enzyme set. A name is resolved against the curated set, the Type IIS cutters and the generated REBASE table, case-, punctuation- and HF/v2-variant-insensitively, so "ecori", "EcoRI-HF", "BsaI" and "BsmFI" all resolve. A name that resolves to nothing is REJECTED rather than dropped — an unscanned enzyme reported as having no sites is indistinguishable from one that genuinely does not cut.
circularNoTreat the sequence as circular (plasmid) so sites spanning the origin are found.
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).

TDQS

B3.3/5.0
Behavior3/5

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

The description does not contradict the annotations; readOnlyHint and idempotentHint already communicate that this is a safe, read-only operation. It adds no additional behavioral context such as output shape or edge cases, but the annotations carry most of that burden, leaving it minimally adequate.

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?

A single sentence with no filler; the verb and object are front-loaded. It is appropriately sized for the simple operation it describes.

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?

The schema and annotations cover the parameters and safety profile, so an agent can invoke the tool correctly. What is missing is guidance on selecting this tool over similar siblings and any indication of what the result structure looks like, since there is no output 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?

All three parameters have schema descriptions, so the baseline is 3. The tool description itself says nothing about parameters, but the schema compensates fully; therefore no penalty or extra credit beyond baseline is warranted.

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 uses a specific verb ('find') and a well-defined resource ('restriction enzyme recognition sites in a DNA sequence'), so the core operation is clear. It does not, however, contrast with sibling tools such as diagnostic_digest or double_digest, so it misses some differentiation that would make it 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 Guidelines2/5

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

The description gives no guidance on when to use this tool rather than a sibling, nor any exclusions or prerequisites. While the schema explains the optional enzyme list and circular mode, it does not address selection among related restriction/digest tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reverse_complementReverse ComplementA
Read-onlyIdempotent
Inspect

Reverse, complement and reverse complement of a DNA or RNA sequence.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNodna
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe, idempotent behavior. The description adds value by detailing the specific operations (reverse, complement, reverse complement) and the accepted sequence types (DNA/RNA), providing context beyond annotations.

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?

The description is a single, well-front-loaded sentence with no filler. Every word earns its place, conveying the core functionality efficiently.

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?

The tool is simple, but the description omits output details (e.g., format, whether all three operations are returned or one). No output schema exists, so the description should hint at the return structure. It is adequate for a basic transformation but leaves room for confusion about what the agent receives.

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 50%: the 'sequence' parameter has a functional description, but the 'type' parameter (enum) lacks description. The tool description mentions operations but does not clarify how to specify which operation output is desired. This ambiguity leaves the parameter semantics moderately clear but incomplete.

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?

The description clearly states the tool performs reverse, complement, and reverse complement operations on DNA or RNA sequences. It uses specific verbs and resource (nucleotide sequence) and distinguishes itself from sibling tools that focus on other sequence analyses.

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?

No explicit guidance on when to use this tool vs. alternatives. The description implies its use for basic sequence transformations, but fails to mention exclusions or prerequisites. Among many sibling tools, this one is unique in its operation, but the lack of usage context slightly hinders selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reverse_translateReverse TranslateA
Read-onlyIdempotent
Inspect

Back-translate a protein to DNA (most-frequent codon per organism, or degenerate IUPAC consensus).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNofrequent
proteinYesProtein sequence (one-letter codes; * for stop).
organismNoCodon-usage host (ignored in degenerate mode).ecoli

TDQS

A4/5.0
Behavior4/5

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

Annotations (readOnlyHint, idempotentHint) already indicate safety. Description adds that the tool uses organism-specific codon usage and that degenerate mode ignores organism, providing useful behavioral context beyond annotations.

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?

Single sentence efficiently conveys core purpose and mode distinction. Every word is meaningful, no filler.

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?

Given the tool has 3 parameters and no output schema, the description adequately covers when to use each mode and the role of organism. However, it does not specify the output format (DNA sequence) or any constraints on protein sequence length.

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 already describes 2 of 3 parameters (protein, organism). The description adds overall context by explaining the two modes and how they work, but does not add specific meaning for the mode parameter beyond what the enum implies.

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?

Description clearly states verb (back-translate), resource (protein to DNA), and distinguishes two modes: most-frequent codon per organism and degenerate IUPAC consensus. Sibling tools like 'translate' perform forward translation, so this tool is well-differentiated.

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?

No explicit guidance on when to use reverse_translate vs alternatives like codon_optimize or translate. The description implies two modes but does not explain when to choose one over the other or any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rna_foldRNA Secondary Structure (MFE)A
Read-onlyIdempotent
Inspect

Predict an RNA secondary structure by minimum free energy (MFE) using a Zuker dynamic program with Turner 1999 nearest-neighbor stacking energies (no pseudoknots). Returns the dot-bracket structure, the estimated MFE (kcal/mol), and the list of base pairs. A from-scratch, in-browser implementation (there is no usable browser ViennaRNA); the simplified loop energy model makes the MFE a good comparative estimate, not a lab-grade absolute. PREDICTED, NOT MEASURED. No held-out skill statistic is claimed for this implementation. The loop model omits terminal mismatches, dangling ends, coaxial stacking and special hairpins that ViennaRNA and RNAstructure include, so the MFE is a comparative estimate between candidates rather than a lab-grade absolute. Valid for: a single strand up to 600 nt at a fixed 37 °C. No pseudoknots, no two-strand hybridisation, and no temperature dependence — a structure predicted here is not a structure at your annealing temperature.

ParametersJSON Schema
NameRequiredDescriptionDefault
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already provide readOnlyHint and idempotentHint, but the description adds significant behavioral context: it is an in-browser implementation with a simplified loop model, the MFE is a comparative estimate not lab-grade, and it explicitly states 'PREDICTED, NOT MEASURED'. This goes well beyond the annotations.

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

Conciseness3/5

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

The description is front-loaded with the core function and outputs, but it is verbose and contains some redundancy (e.g., the MFE comparative estimate is mentioned twice). While informative, it could be more concise without losing essential caveats.

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?

Given the tool has only one parameter and no output schema, the description fully explains the input requirements, output contents, and critical limitations. It covers valid ranges, conditions, and accuracy caveats, making it complete for an agent to use 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?

The schema already provides 100% coverage for the single parameter 'sequence' (description: 'Nucleotide sequence (raw or FASTA; IUPAC accepted).'). The tool description adds no additional parameter-specific details beyond restating the general purpose, so the baseline score of 3 is appropriate.

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?

The description clearly states the tool predicts RNA secondary structure by minimum free energy using the Zuker algorithm with Turner 1999 energies. It specifies the output types (dot-bracket, MFE, base pairs) and distinguishes it from more complex tools like ViennaRNA/RNAstructure, making the purpose unambiguous.

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?

The description explicitly lists valid inputs (single strand up to 600 nt, 37°C) and limitations (no pseudoknots, no two-strand hybridization, no temperature dependence), which helps the agent decide when to use this tool. However, it does not mention alternative tools from the sibling list (e.g., oligo_cofold for two strands) for comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sanger_indel_spectrumSanger indel spectrum (editing efficiency without NGS)A
Read-onlyIdempotent
Inspect

Quantify CRISPR editing from a pair of Sanger traces — an unedited control and the edited pool — by decomposing the edited trace onto shifted copies of the control. Returns the indel spectrum (how much of the pool carries each insertion or deletion size), the unedited fraction, and the R² of the decomposition, which is the number that says whether the model fits your traces at all. Non-negative least squares, so no allele is ever assigned a negative share. Does not work for base editing, which makes a mixed base rather than a shift. PREDICTED, NOT MEASURED. Every run reports its own R²: how much of the observed window the shifted-control basis actually explains. That is a measured adequacy of the model on YOUR traces, and a low value means the assumption is wrong here rather than that the edit is weak. On accuracy against a reference method for real samples, none is published for this implementation — the underlying decomposition is TIDE's, whose authors report their own concordance with amplicon sequencing, and that number does not transfer to this code so it is not quoted. This implementation's exact recovery of synthetic mixtures is deliberately not offered as validation either: it tests the arithmetic, not whether the model fits a real trace. Valid for: A pool of alleles that differ from one control read by simple insertions or deletions at a known cut site, where both reads come from the same amplicon and chemistry and both extend well past the cut. NOT valid for substitution-only edits — base editing produces a mixed base, not a shift, and this model cannot see it — nor for a knock-in whose insert is novel sequence rather than a frame shift of the control, nor for any run whose R² comes back low.

ParametersJSON Schema
NameRequiredDescriptionDefault
guardNoBases skipped immediately after the cut, where the trace is least reliable.
offsetNoOverride the alignment offset between the reads. By default it is found from the base calls upstream of the cut, which is reported back along with the identity achieved.
maxIndelNoLargest indel to include in the basis, in bp (max 20). Every shift from −maxIndel to +maxIndel is fitted.
cutPositionYes1-based position of the expected cut, in CONTROL read coordinates.
editedBasesYesBase calls of the edited pool's read.
controlBasesYesBase calls of the UNEDITED control read.
windowLengthNoBases downstream of the cut used for the decomposition (20-300). Longer is better conditioned but needs more clean read.
editedChannelsYesPer-base [A, C, G, T] intensities of the edited read, same convention.
controlChannelsYesPer-base [A, C, G, T] intensities of the control read, one row per called base, read at that base's peak location (trace arrays are indexed by scan, not by base).

TDQS

A4.3/5.0
Behavior5/5

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

This description goes far beyond the readOnlyHint and idempotentHint annotations. It discloses the model's exact method (non-negative least squares on shifted-control copies), that results are 'PREDICTED, NOT MEASURED', how to interpret R² ('a low value means the assumption is wrong here rather than the edit is weak'), and explicitly states that synthetic recovery tests are not offered as validation. This is rich, honest behavioral disclosure.

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

Conciseness3/5

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

The description is front-loaded with a clear purpose but is probe-heavy and repetitious, repeating the base-editing limitation at least twice and the phrase 'PREDICTED, NOT MEASURED' multiple times. While the details are valuable, the same content could be edited into a tighter structure.

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 model with 9 params, a detailed algorithm, and no output schema, the description captures all necessary context: what the tool returns (indel spectrum, unedited fraction, R²), what R² means, when the model is expected, and explicit validity-limitation sections. It also explains the lack of external validation clearly, making the tool safe to invoke in a research context.

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?

The input schema has 100% description coverage—each of the 9 params has its own detailed description, including data formats and defaults. The main tool description adds no param-specific detail beyond the schema, so it stays at the baseline 3 rather than pushing higher.

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?

The description opens with 'Quantify CRISPR editing from a pair of Sanger traces... by decomposing the edited trace onto shifted copies of the control', which is a specific verb + resource + method. It clearly distinguishes this tool from siblings by explicitly stating it handles simple indels at a cut site and does not work for base editing, preventing confusion with other CRISPR design tools.

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?

The description gives an explicit when/where-not scope: 'VALID for' and 'NOT valid for' clauses covering base editing, knock-ins, and low R² runs. However, it does not name an alternative sibling tool to use in those cases (e.g., base editing tools or sanger_vs_reference), so it falls short of the full explicit- alternatives 5 level.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sanger_knockin_quantKnock-in / prime-edit rate from Sanger tracesA
Read-onlyIdempotent
Inspect

Measure the rate of a SPECIFIC intended edit from a pair of Sanger traces — an unedited control and the edited pool — by decomposing the edited trace onto three things at once: the wild-type allele, the intended edited allele, and the unintended indels. Serves both readouts that need this: HDR knock-in rate (what fraction of the pool carries the donor's edit, including an insert of novel sequence), and prime editing (the pegRNA's intended substitution, insertion, deletion or replacement as the intended column, and the indel byproducts at the nick as the shift columns). This is what sanger_indel_spectrum cannot do: that tool's basis is indexed by indel LENGTH, so an intended 6 bp knock-in and an accidental 6 bp NHEJ deletion are one column there. Returns knock-in / wild-type / unintended-indel percentages, the byproduct spectrum by shift, and the R² that says whether the model fits your traces at all. Non-negative least squares, so no allele is ever assigned a negative share. For a substitution or replacement the reference allele you name is checked against the control read before anything is fitted; an insertion and a deletion name no reference bases, so there only the position can be range-checked. PREDICTED, NOT MEASURED. Every run reports its own R²: how much of the observed window the basis actually explains, measured on YOUR traces, where a low value means the model is wrong here rather than that the edit is weak. On agreement with a reference method for real samples — amplicon sequencing or clonal genotyping — none is published for this implementation. The underlying decomposition is TIDE/TIDER's, whose authors report their own concordance, and that number does not transfer to this code so it is not quoted. This implementation's near-exact recovery of synthetic mixtures is deliberately not offered as validation: a synthetic mixture is built from the same idealised one-hot peaks the basis assumes, so recovering it tests the arithmetic and cannot test the assumption. Valid for: A pool whose intended edit is known EXACTLY, read against a control amplicon of the same locus and chemistry, with both reads extending well past the edit. The novel inserted bases of a knock-in carry an assumed peak shape rather than a measured one (returned as constructedPositions) — the more of the window they occupy, the more of the fit is testing that assumption. NOT valid when the reported R² is low; nor for separating an intended pure DELETION from an unintended indel of the same net length ANYWHERE in the window, not only one at the same site (the tool reports which case it is in sameShiftByproduct: when that column is not fitted, knockinPercent is the sum of the two); nor for telling an on-target knock-in from a random integration of the same donor; nor for resolving haplotypes, since a Sanger trace of a pool has no phase information.

ParametersJSON Schema
NameRequiredDescriptionDefault
offsetNoOverride the alignment offset between the reads (whole number, −40 to 40). By default it is found from the base calls upstream of the edit. upstreamIdentity is always measured AT the offset used, so an override that is wrong shows up as a failed same-amplicon check rather than borrowing the auto-detected offset's score.
editKindYesShape of the intended edit, spelled as prime_editing_design spells it. "substitution" replaces bases one for one; "insertion" adds novel bases and replaces none; "deletion" removes bases and adds none; "replacement" is the general case where the two lengths differ.
maxIndelNoLargest unintended indel to fit, in bp (1-20; out of range is rejected, not clamped). Every shift from −maxIndel to +maxIndel is included except 0, which is wild-type. The intended edit's OWN net shift is included too whenever its column is measurably different from the intended-edit column — it is dropped only when the two are the same vector, which happens for a pure deletion whose cut is at the edit. See sameShiftByproduct in the result for which of the two happened.
altAlleleNoThe bases the edit installs in their place (substitution and replacement).
refAlleleNoThe control bases the edit replaces (substitution and replacement). Checked against the control read: a mismatch is rejected, because building the intended-edit column at the wrong position yields a confident, meaningless number.
cutPositionNo1-based CONTROL position where UNINTENDED indels start — the nuclease cut or the PE nick. Defaults to the edit start. Separate from editPosition because a byproduct allele is wild-type up to the cut and shifted after it, so a wrong cut position makes those columns wrong over the first part of the window.
editedBasesYesBase calls of the edited pool's read.
insertedSeqNoThe novel bases inserted (insertion only).
controlBasesYesBase calls of the UNEDITED control read.
editPositionYes1-based position of the edit in CONTROL read coordinates: the first base the edit replaces. An insertion replaces nothing, so there it is the base the insert lands immediately BEFORE — one MORE than the VCF/HGVS anchor, which names the base before an insertion. The rule is uniform across all four kinds on purpose; a spec transcribed from VCF needs +1 on an insertion.
windowLengthNoBases from the edit site downstream used for the decomposition (20-300; out of range is rejected, not clamped). Unlike sanger_indel_spectrum there is no guard region: the edited positions themselves are the only signal separating a substitution from wild-type.
deletedLengthNoHow many bases are deleted (deletion only).
editedChannelsYesPer-base [A, C, G, T] intensities of the edited read, same convention.
controlChannelsYesPer-base [A, C, G, T] intensities of the control read, one row per called base, read at that base's peak location (trace arrays are indexed by scan, not by base).

TDQS

A4.9/5.0
Behavior5/5

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

Despite readOnlyHint=true and idempotentHint=true, the description adds substantial behavioral disclosure beyond annotations: it returns knock-in/wild-type/unintended percentages and R², uses non-negative least squares, reports predicted-not-measured fit quality, exposes that synthetic-mixture validation is deliberately not offered, and warns that constructedPositions assume peak shape. It also discloses that no concordance with amplicon sequencing/clonal genotyping is published for this implementation. No contradiction with annotations.

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?

The description is dense and comprehensive, and every major sentence carries information, but it is one very long paragraph that mixes core purpose, return values, validation caveats, and validity exclusions. It is appropriately detailed for a complex 14-parameter analysis tool, yet not tightly structured—headings or a clearer separation of 'what it returns' and 'when not to use' would improve scannability.

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?

With no output schema, the description carries the burden of explaining return values, and it does: knock-in/wild-type/unintended percentages, byproduct spectrum by shift, R², constructedPositions, sameShiftByproduct, and the meaning of a low R². It also covers the two-sided pitfalls (pure deletions vs indels, insertion anchors, reference checks) that are essential for a correct call. For a tool of this complexity, nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, yet the description adds crucial semantics beyond the schema: editPosition uses a uniform VCF/HGVS +1 convention for insertions, refAllele is checked against the control read, cutPosition defaults to edit start and independently shifts byproduct columns, maxIndel includes the intended edit's own shift unless collinear, and windowLength has no guard region unlike sanger_indel_spectrum. This materially improves correct invocation.

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?

The description opens with a precise verb and resource: 'Measure the rate of a SPECIFIC intended edit from a pair of Sanger traces'. It names the two intended readouts (HDR knock-in rate and prime editing) and explicitly contrasts itself with sanger_indel_spectrum, calling out the dimensional difference between edit identity and indel length. An agent can immediately distinguish it from its nearest sibling.

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

Usage Guidelines5/5

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

The description states exactly when to use it ('Serves both readouts that need this'), what it can do that sanger_indel_spectrum cannot, and gives an explicit validity/environment section: exact edit known, control amplicon of same locus/chemistry, reads extending past the edit. It also lists NOT-valid cases (low R², pure deletions confounded with same-length indels, random integration, haplotypes). This is model usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sanger_plate_verifySanger plate clone verdictsA
Read-onlyIdempotent
Inspect

Judge a whole plate of Sanger reads against one construct and return one row per clone: PASS, POINT_MUTATION, INDEL, VECTOR_ONLY (the insert is absent), WRONG_INSERT (the backbone matches and the insert does not), LOW_COVERAGE, or AMBIGUOUS. Reads are grouped into clones from their FASTA/FASTQ record names (facility conventions like PlateA_A01_pXY-1_M13F, pXY-1_T7-F, 2026-08-01_pXY_clone3_R), and every read's assignment is reported with a confidence so a grouping can be corrected rather than trusted. Each clone's reads are piled up in reference coordinates, so a difference one read reports where other covering reads read the reference is reported as the sequencing error it is, not as a mutation — and a position no read covered is never PASS. Every verdict cites the positions it rests on. Give insertStart/insertEnd to have clones judged over the insert alone, which is also what VECTOR_ONLY and WRONG_INSERT need.

ParametersJSON Schema
NameRequiredDescriptionDefault
readsYesAll the plate's reads as FASTA or FASTQ (auto-detected). The record name is what the clone grouping is read from. Up to 384 reads / 400,000 total bases, and (reference length x total read bases) must stay under 200,000,000 — split a 96-clone plate across calls.
circularNoTreat the construct as a plasmid, so a read crossing its arbitrary linear start is aligned through the join instead of having its tail discarded.
groupingNoHow reads become clones. "auto" parses the record names; "one-clone" treats every read as being of one clone (use when the names carry nothing); "per-read" judges each read on its own.auto
insertEndNo1-based last base of that stretch.
referenceYesThe intended construct (raw or FASTA). Up to 20,000 bp.
insertLabelNoWhat to call it in the verdicts. Default "the insert".
insertStartNo1-based first base of the stretch that has to be right (the insert). With insertEnd, every clone is judged over this span alone — the only honest framing when one 900 bp read cannot cover a 6 kb plasmid — and VECTOR_ONLY/WRONG_INSERT become reachable. May be greater than insertEnd on a circular construct, meaning the span crosses the origin.
qualityOffsetNoASCII offset of the FASTQ quality string. 33 for anything modern, 64 for pre-1.8 Illumina.
trimThresholdNoPhred threshold for trimming both ends of a read (BWA's rule). Only applies to FASTQ input, which is the only input that carries quality.

TDQS

A4.8/5.0
Behavior5/5

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

The description goes beyond the annotations by detailing how reads are grouped from record names, how coverage affects verdicts (e.g., 'a position no read covered is never PASS'), how insertStart/insertEnd restrict analysis to the insert, and how trimming follows BWA's rule. It also explains the confidence reporting for per-read assignments and the treatment of differences as sequencing errors. This is highly transparent and adds significant behavioral context beyond the readOnlyHint and idempotentHint annotations.

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?

The description is dense but well-structured. It front-loads the core purpose and verdict list, then explains grouping, coverage, and constraints in a logical flow. Each sentence adds essential information, from the definition of verdicts to the honest framing of insertStart/insertEnd. Despite its length, there is no fluff or redundancy—every sentence earns its place.

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?

Given the complexity of the tool and the absence of an output schema, the description provides sufficient context: it explains the return format (one row per clone with verdicts), the per-read confidence reporting, and edge cases like low coverage and insert-span handling. It also addresses practical limitations and usage parameters, making the description complete for an agent to understand what to expect and how to call the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema already provides descriptions for all parameters, the tool description adds crucial details: specific size limits for reads (384 reads/400,000 bases) and a computational constraint (reference length x total read bases < 200,000,000), the meaning of insertStart/insertEnd in relation to VECTOR_ONLY/WRONG_INSERT, and the rationale for the 'one-clone' grouping mode. These enrich the parameter semantics beyond the basic schema descriptions.

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?

The description clearly states the tool's purpose: 'Judge a whole plate of Sanger reads against one construct and return one row per clone' with a specific list of verdicts. It distinguishes itself from similar tools like sanger_vs_reference by focusing on a plate-level analysis and explicitly describing the grouping and coverage logic.

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?

The description gives clear usage context: it is for whole-plate analysis, and it provides practical guidance like splitting a 96-clone plate across calls due to computational limits. It also explains the 'one-clone' grouping alternative for when record names carry no information. However, it does not explicitly name sibling tools or state when to prefer this over them, though the plate-focused language makes the intended use clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sanger_vs_referenceSanger vs ReferenceA
Read-onlyIdempotent
Inspect

Align a Sanger ABIF read to a reference and report identity plus every mismatch, insertion and deletion.

ParametersJSON Schema
NameRequiredDescriptionDefault
readNoSanger read as FASTA or raw text (alternative to uploading an ABIF trace). Also the per-record field for plate-batch runs via /api/v1/batch.
fileNameNoOptional original file name (echoed back).
referenceYesExpected reference sequence (FASTA or raw).
fileBase64NoThe binary ABIF (.ab1 / .abi) trace file, base64-encoded.
minCoverageNoFraction of the reference the read must span before a PASS is meaningful; below this the verdict is 'ambiguous_low_coverage' regardless of identity. Lower it when the reference is intentionally just the region/junction being checked.

TDQS

A3.7/5.0
Behavior3/5

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

The description adds the key behavioral trait of reporting mismatches, insertions, and deletions beyond what annotations provide (readOnlyHint, idempotentHint). However, it does not disclose the meaning of the ambiguous_low_coverage verdict or batch behavior. Annotations already indicate safety (read-only, idempotent), so the description provides moderate additional value.

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?

The description is a single sentence, front-loading the key functionality. Every word is impactful with no redundancy. It is well-structured for quick comprehension.

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?

While the description explains the main output, it lacks details on batch processing (mentioned in the read parameter description), the meaning of the PASS/ambiguous_low_coverage verdicts, and the interplay between read and fileBase64 parameters. Given the tool's complexity (5 parameters, batch mode), the description could be more comprehensive.

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?

The input schema already has 100% coverage with descriptions for all 5 parameters. The tool description adds no parameter-specific details beyond the schema. Therefore, it does not enhance parameter understanding beyond the baseline expected from the schema.

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?

The description clearly states the action ('Align'), the input type ('Sanger ABIF read'), the reference, and the output ('report identity plus every mismatch, insertion and deletion'). This distinguishes it from sibling tools like parse_sanger_trace which only extracts data without alignment, and pairwise_alignment which is for general sequences.

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 description does not provide explicit guidance on when to use this tool versus alternatives such as pairwise_alignment or batch. It implicitly targets Sanger reads, but no explicit when-not or alternative recommendations. Thus, it lacks proactive usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

seqfile_statsFASTA/FASTQ StatsA
Read-onlyIdempotent
Inspect

Statistics for a FASTA or FASTQ file: count, length distribution, N50, GC content and (FASTQ) mean quality.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesFASTA or FASTQ text (raw sequence is treated as single-record FASTA).
qualityOffsetNoFASTQ Phred ASCII offset (33 = Sanger/Illumina 1.8+, 64 = Illumina 1.3–1.7).

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 and idempotentHint=true, indicating safe, non-destructive behavior. The description adds context about the outputs but does not contradict annotations. With annotations covering safety, a 3 is appropriate.

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?

Single sentence with a clear list of outputs. No extraneous words, highly efficient.

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?

Tool has few parameters and no output schema; description lists all computed statistics. However, it does not specify the return format (e.g., dictionary) or constraints like input size limits, leaving minor ambiguity.

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 (input handling, qualityOffset enum) are already comprehensive. The tool description adds no additional parameter-specific meaning beyond what the schema provides.

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?

Description explicitly lists computed statistics (count, length distribution, N50, GC content, mean quality) for FASTA/FASTQ files, clearly distinguishing from siblings like gc_content (which only computes GC content) and fastq_qc_report (which is broader).

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?

No guidance on when to use this tool vs alternatives such as fastq_qc_report or gc_content. The description mentions FASTA/FASTQ but does not specify prerequisites, limitations, or cases where another tool would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sequence_fetchFetch sequence by accessionA
Read-onlyIdempotent
Inspect

Fetch a public DNA/protein record by accession from NCBI Nucleotide, NCBI Protein, UniProt, or Ensembl (e.g. NM_000546, NP_000537, P04637, ENSG00000141510). Only the accession is sent upstream. Use sequence_search first if you only know a gene/organism name, not an accession. For an Ensembl transcript ID this returns spliced cDNA; for a gene ID it returns the full genomic locus (introns included) — Ensembl's own default for each ID type.

ParametersJSON Schema
NameRequiredDescriptionDefault
dbNoDatabase to query; auto-detects from the accession format.auto
formatNoOutput format (GenBank is only available for NCBI accessions — UniProt and Ensembl are FASTA-only).fasta
accessionYesGenBank/RefSeq accession (e.g. NM_000546), UniProtKB accession (e.g. P04637), or Ensembl stable ID (e.g. ENSG00000141510, ENST00000335137).

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already indicate read-only and idempotent behavior. The description adds valuable behavioral context, such as 'Only the accession is sent upstream' (privacy) and the detailed behavior for Ensembl IDs (spliced cDNA vs. genomic locus). No contradiction with annotations.

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?

The description is three sentences, each earning its place: main purpose with examples, privacy note, and usage guidance with Ensembl nuance. Front-loaded and efficiently written without redundancy.

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 tool with 3 parameters and no output schema, the description covers core behavior, databases, usage scenario, and a special case for Ensembl. It is sufficiently complete given the annotations and schema richness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds extra meaning beyond the schema by explaining that 'auto' db detects from format and that GenBank format is only available for NCBI. This enhances parameter understanding.

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?

The description clearly states the tool's verb ('Fetch'), resource ('DNA/protein record'), and scope ('by accession from NCBI Nucleotide, NCBI Protein, UniProt, or Ensembl'), with concrete examples. It also distinguishes itself from the sibling 'sequence_search' by specifying the precondition of having an accession.

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

Usage Guidelines5/5

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

The description explicitly advises to use 'sequence_search' if only a gene/organism name is known instead of an accession, providing clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sequence_format_convertSequence Format ConverterA
Read-onlyIdempotent
Inspect

Convert between FASTA and GenBank (whole sequence, CDS or protein), or export to TSV.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoOutput format. fasta-cds / fasta-protein extract CDS features (GenBank input only). GenBank in and 'genbank' out rewrites the record with its features, qualifiers and topology intact — it is a rewrite, not a re-annotation.fasta
fromNoInput format; 'auto' sniffs it from the first meaningful line.auto
inputYesA FASTA or GenBank record to convert.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already provide readOnlyHint and idempotentHint, so the safety profile is covered. The description adds no additional behavioral context, such as how 'genbank' output preserves features or that CDS extraction is GenBank-only—that detail lives in the schema parameter description instead. There is no contradiction with annotations, but the description itself contributes little beyond what structured fields already state.

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?

The description is a single efficient sentence that leads with the core function and its options. There is no fluff, no repetition of schema details, and it is appropriately short for a simple conversion tool. Every word earns its place.

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 tool with three parameters and no output schema, the description is adequate but leaves some gaps. It does not mention the return format (e.g., a string or file), error handling for invalid input, or how multiple records are treated. Given the simplicity and the strong schema coverage, this is sufficient for basic use, but an agent might need to infer expected output shape from tool naming conventions.

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%, with detailed parameter descriptions for 'to' and 'from' already present, including the rewrite-vs-reannotation nuance. The tool description does not add any parameter-specific meaning beyond what the schema provides. The baseline of 3 applies because the schema does the heavy lifting.

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 clearly states the action by naming the formats involved (FASTA, GenBank, TSV) and the specific options (whole sequence, CDS, protein). However, it does not explicitly distinguish itself from siblings like format_sequence or parse_genbank, which likely have overlapping purposes. The verb 'Convert' is specific, but the lack of sibling differentiation keeps it from 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 Guidelines3/5

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

Usage is implied—it converts between formats—but there is no explicit guidance on when to choose this tool over alternatives such as format_sequence or parse_genbank. No when-not or exclusion conditions are given. The description relies on the user to infer that this is the go-to for format conversion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sequence_reportSequence reportA
Read-onlyIdempotent
Inspect

One-click DNA analysis: composition, ORFs, restriction-enzyme scan (single cutters) and end-primer Tm composed into a single report with a copyable text block.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxOrfsNoMaximum number of ORFs to return, longest first.
minOrfAaNoMinimum ORF length in amino acids.
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).
endPrimerLengthNoLength of the naive end primers taken from each end.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, covering safety. The description adds that the output is a 'copyable text block', but no additional behavioral traits beyond what annotations provide.

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?

The description is a single sentence that effectively front-loads the core value proposition. It is concise but slightly long; each clause serves a purpose without unnecessary words.

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?

The description lists all major components of the report and mentions the output format (copyable text block). Given the lack of an output schema, this is adequate. However, limitations like sequence length are not covered, but the tool is fairly complete for its scope.

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%, so the input schema already documents all parameters. The description does not add significant new meaning beyond contextualizing the components of the report, but that does not improve parameter understanding.

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?

The description clearly states the tool performs a 'one-click DNA analysis' generating a combined report with composition, ORFs, restriction-enzyme scan, and end-primer Tm. This specific verb+resource distinguishes it from sibling tools that perform only individual analyses.

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 description implies usage for a quick combined analysis, but does not explicitly state when to use this tool versus alternatives like individual analysis tools. No when-not or alternative naming is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sequencing_readback_verifySequencing read-back verificationA
Read-onlyIdempotent
Inspect

Align raw Sanger or NGS reads (FASTA or FASTQ) back onto a claimed reference sequence using minimap2, and report per-read mapping identity plus exact variant positions (substitutions/insertions/deletions), with a consensus view across reads and a corrected consensus sequence (the reference with every consensus-supported edit applied). Each alignment also reports how much of the READ was used (queryCoveragePct/clippedBases), since identity is measured over the aligned portion only and a partially-used read would otherwise score perfectly. Set circular: true for a plasmid so reads crossing the reference's arbitrary linear start are aligned through the join rather than cut short at it. Also calls STRUCTURAL variants from split alignments — a large deletion, tandem duplication, inversion or backbone rearrangement never appears as a run of mismatches, only as one read aligning at several distant reference positions, so per-base calling reports a perfect clone — and returns a coverage depth profile with the regions no read reached at all, since "never read" is not "correct". On a circular reference one junction cannot always tell an event of length d from one of length referenceLength − d the other way round; where the read's own blocks and the coverage profile settle it they do, and where they do not the call carries an alternateInterpretation with the other reading rather than presenting one as a finding. Set platform (nanopore/pacbio/illumina/sanger) to pick minimap2's preset; the preset used is reported back. Complements verify_construct/verify_assembly: those re-derive what a design SHOULD produce from its own stated inputs; this checks what a real sequencer actually read back.

ParametersJSON Schema
NameRequiredDescriptionDefault
readsYesRaw reads in FASTA or FASTQ format (auto-detected). Up to 2000 reads / 5,000,000 total bp per call.
circularNoTreat the reference as a circular molecule (plasmid). Reads that straddle its arbitrary linear start are then aligned right through the join instead of being cut short there, so variants in the part that would otherwise be clipped away are actually called. Turn this on for whole-plasmid data — the reads begin wherever the molecule was cut, so most of them cross the join. Reads longer than the reference still get clipped. It also governs structural-variant calling: on a circle an origin-crossing read is contiguous, and only this flag lets it be told apart from a whole-reference duplication.
platformNoRead type, which selects minimap2's alignment preset. "auto" (the default) passes no preset and uses minimap2's own defaults — whose parameters happen to be map-ont's, so nanopore data is already handled; setting "nanopore" makes that explicit and pins it. "pacbio" uses map-hifi and "illumina" uses sr, both of which materially change the result: under the ONT defaults gaps are cheap, so on accurate reads a cluster of mismatches can be reported as a spurious indel. "sanger" uses map-hifi with the minimum alignment score returned to 80, because map-hifi's own floor of 200 was chosen for 10-25 kb reads and would leave a short or partly-failed Sanger read unmapped. The preset actually used is reported back as minimap2Preset/alignerArgs so a run can be reproduced. Names are matched ignoring case and punctuation, and the obvious aliases resolve ("ONT" and "map-ont" to nanopore, "HiFi" to pacbio, "sr" to illumina); anything unrecognised is rejected rather than silently treated as "auto".auto
referenceYesThe claimed/expected reference sequence.
minSvLengthNoSmallest structural variant to report, in bp (default 50). Below this the per-base variant caller already reports the event from inside a single alignment, and on nanopore data the range is mostly the error profile.
minSvSupportNoDistinct reads that must agree on the same breakpoint before a structural variant (large deletion, duplication, inversion, insertion) is reported. Default 3 — stricter than minSupportingReads on purpose: a single split read is a library-prep chimera or a mapping artefact far more often than it is biology, and chimeras are common enough that two agreeing by chance is likelier than two matching base errors.
minSupportingReadsNoMinimum number of reads agreeing on a variant position for it to count as a consensus (candidate real) variant rather than single-read noise.
breakpointToleranceNoHow far apart two reads' breakpoints may sit and still count as the same event, in bp (default 50). Long-read breakpoints are fuzzy, and microhomology at a real junction moves the split legitimately.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already indicate readOnlyHint and idempotentHint, and the description adds substantial behavioral nuance beyond that: identity is measured over aligned portion only, split alignments are needed for structural variants, unread regions are reported as 'never read' rather than correct, and circular-reference ambiguity yields alternateInterpretation rather than a single finding. No contradiction with annotations.

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?

The description is dense and front-loaded with the core purpose, and every section earns its place by conveying behavior not available in the schema. It is longer than strictly necessary, but the tool is complex and the extra length is mostly justified by important caveats about circular references, split alignments, coverage, and platform presets.

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?

There is no output schema, so the description carries the burden of explaining return values, and it does: per-read mapping identity, exact variant positions, consensus view, corrected consensus, queryCoveragePct/clippedBases, coverage depth profile, alternateInterpretation, and minimap2Preset/alignerArgs. With 8 parameters and no output schema, the description is sufficiently complete for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds genuine semantic value beyond the schema by explaining why minSvSupport defaults stricter than minSupportingReads, why platform choice matters for gap penalties, and why circular mode affects both alignment and structural-variant interpretation. It does not simply restate parameter names or types.

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?

The description opens with a specific verb and resource: aligning raw Sanger/NGS reads back onto a claimed reference using minimap2, and enumerates concrete outputs (per-read identity, exact variant positions, consensus view, corrected consensus). It also differentiates itself from verify_construct/verify_assembly by stating that this tool checks real sequencer output rather than re-deriving expected design output.

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

Usage Guidelines5/5

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

The description explicitly names the sibling tools it complements and states what they do versus what this tool does. It also gives concrete usage guidance, such as setting circular: true for plasmids so reads crossing the linear start are aligned through the join, and selecting platform to pick minimap2's preset.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_createCreate a design sessionAInspect

Start a scratch session that holds several named sequences/values (e.g. vector, insert, forward/reverse primer) for use across multiple tool calls via session_run, instead of re-pasting them into every call. Sessions expire after 24 hours.

ParametersJSON Schema
NameRequiredDescriptionDefault
entriesNoInitial named entries, e.g. {"vector": "...", "insert": "..."}. Optional — you can also add entries later with session_set.

TDQS

A4.7/5.0
Behavior5/5

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

The description adds critical behavioral context beyond annotations: sessions expire after 24 hours. Annotations only provide readOnlyHint=false, so no contradiction; this is transparent about a key limitation.

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?

Two concise sentences, front-loaded with the core action, no redundant information. Every sentence adds value.

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 simple tool with one optional parameter and no output schema, the description fully covers purpose, usage, and behavior (including expiration), making it complete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter described in schema), baseline 3. The description enhances meaning by providing an example usage (vector, insert) and noting that entries can be added later via session_set, adding practical value.

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?

The description clearly states the tool starts a scratch session to hold named sequences/values for reuse across multiple calls via session_run, distinguishing it from related tools by emphasizing the session concept and its purpose.

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?

The description explains when to use the tool (to avoid re-pasting values) and mentions a sibling (session_run), but does not explicitly state when not to use it or mention alternatives like session_set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_getRead a design sessionA
Read-onlyIdempotent
Inspect

Fetch named entries from a session. Prefer session_run for actually USING the values — it keeps raw sequences out of your context. Use this mainly to inspect or debug what a session currently holds.

ParametersJSON Schema
NameRequiredDescriptionDefault
namesNoOnly return these entries; omit to return all of them.
sessionIdYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate read-only and idempotent behavior. The description adds useful context that entries are fetched for inspection/debugging, enhancing transparency without contradicting annotations.

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?

The description is two sentences, concise and front-loaded with the primary action, no redundant 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?

For a simple read-only tool with 2 parameters and no output schema, the description covers purpose, usage, and filtering behavior. Minor gap: no explanation of sessionId context, but siblings provide general session understanding.

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 covers 50% of parameters with descriptions (names). The description mentions 'named entries' but does not explain sessionId or add format details beyond the schema. Baseline score appropriate given partial coverage.

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?

The title 'Read a design session' and description 'Fetch named entries from a session' clearly state the verb and resource. The description further distinguishes from siblings like session_run by specifying 'inspect or debug' use case.

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

Usage Guidelines5/5

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

Description explicitly advises preferring session_run for using values and restricts usage of this tool to inspection/debug, providing clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_runRun a tool using session entriesAInspect

Run any SeqBench tool, resolving selected arguments from a session's named entries instead of pasting them inline, and optionally store selected result fields back into the session by name. This is the main way to chain a multi-part design (vector + insert + primers) across calls without shuttling raw sequences through your own context.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoAdditional literal arguments, merged with the ones resolved from the session.
toolYesName of any non-meta SeqBench tool (not batch, workflow, or another session_* tool).
sessionIdYes
writeBackNoMap of { resultFieldName: sessionEntryName } — stores selected fields of the result back into the session under these names.
fromSessionNoMap of { toolArgName: sessionEntryName } — resolves each named tool argument from the session before running.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations indicate mutation (readOnlyHint=false) and no idempotency. Description adds details on how arguments are resolved from session and optional write-back of results, which clarifies behavior beyond annotations. No contradiction.

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?

Two-sentence description that is concise and front-loaded: first sentence explains mechanism, second gives typical use case. No unnecessary words, efficient for agent understanding.

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?

Given complexity of a meta-tool with 5 parameters and no output schema, description provides a solid overview of purpose and mechanism. Could mention error handling or required permissions, but adequately covers the main workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema provides 80% parameter descriptions. Description adds context by explaining the chaining use case and how fromSession/writeBack work, giving meaning beyond raw schema. For sessionId, schema lacks description but description implies its role in session identification.

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?

Clearly states verb 'Run', resource 'SeqBench tool', and explains core feature of resolving arguments from session entries. Differentiates from other tools by describing it as the main chaining method and specifying it applies to non-meta tools.

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?

Explicitly states when to use: for chaining multi-part designs without shuttling raw sequences. Implies alternatives (inline pasting) but does not explicitly list when not to use or alternative tools. Good context but could be more precise.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_setWrite to a design sessionBInspect

Add or overwrite named entries in an existing session.

ParametersJSON Schema
NameRequiredDescriptionDefault
entriesYesNamed entries to add/overwrite, e.g. {"insert": "..."}.
sessionIdYes

TDQS

B3.3/5.0
Behavior3/5

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

The description confirms the mutating nature of the tool ('add or overwrite') consistent with readOnlyHint=false. It adds context that operations apply to an 'existing session', but does not disclose side effects beyond overwriting, nor permissions or error scenarios. Annotations already cover basic behavioral traits.

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?

The description is a single, efficient sentence with no extraneous information. Every word is necessary to convey the core action and context.

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

Completeness2/5

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

Given the tool's complexity (mutation with nested object parameter, no output schema), the description is too brief. It omits important details like return value, error behavior when the session does not exist, and a fuller explanation of the entries structure. The high number of sibling tools also demands more context for differentiation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (only entries has a description). The description adds minimal value by mentioning 'named entries', but does not explain the sessionId parameter or clarify the entries format beyond the schema's example. It insufficiently compensates for the missing schema description.

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?

The description uses a specific verb ('Add or overwrite') and resource ('named entries in an existing session'), making the tool's purpose clear. It distinguishes from sibling tools like session_create, session_get, and session_run by focusing on writing to an existing session.

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 provides no guidance on when to use this tool versus alternatives, such as session_create or session_run. It does not mention prerequisites (session must exist) or situations where this tool should not be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sirna_designsiRNA / shRNA DesignerA
Read-onlyIdempotent
Inspect

Design siRNA duplexes against an mRNA target using the established Reynolds (2004) 8-criteria score and the Ui-Tei (2004) rules, plus the siDirect seed-duplex Tm off-target flag (≥21.5 °C, computed on siDirect's own RNA/RNA scale: Freier 1986 nearest-neighbour parameters, helix initiation A = −10.8, CT = 100 µM, 100 mM Na⁺). Returns ranked candidates with sense/guide oligos (with UU 3' overhangs) and, per candidate, a ready shRNA cassette (sense–loop–antisense–Pol III terminator). Heuristic sequence rules only — no RNA-folding accessibility model and no transcriptome-wide off-target search. PREDICTED, NOT MEASURED. These are rule counts, not a regression, and no skill statistic is claimed for the ranking. Target-site accessibility is not modelled (no folding) and no transcriptome-wide off-target search is performed, so a top-ranked candidate is a starting point for a knockdown panel, not a predicted knockdown level. Valid for: mRNA targets. The seed Tm is computed on siDirect's own RNA/RNA scale (Freier 1986 parameters, helix initiation A = -10.8, CT = 100 µM, 100 mM Na+) and is not comparable with the DNA/DNA Tm reported elsewhere in the toolkit.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesNucleotide sequence (raw or FASTA; IUPAC accepted).
shRnaLoopNoLoop sequence used when assembling the shRNA cassette.TTCAAGAGA
minReynoldsNoMinimum Reynolds score (0–8) to keep; falls back to best-ranked if none qualify.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations (readOnlyHint, idempotentHint) indicate safe, deterministic operation. The description adds substantial behavioral context: disclaimers ('PREDICTED, NOT MEASURED'), absence of RNA-folding accessibility and off-target search, details on scoring and seed Tm computation on a custom scale, and the note that no skill statistic is claimed. These disclosures go well beyond annotations and are critical for correct agent decision-making.

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?

The description is moderately long but every sentence adds value: purpose, method, output, limitations, and seed Tm details are all covered. It is well-structured, front-loading the core action and then providing necessary caveats. Minor wordiness (e.g., repeated seed Tm note) prevents a perfect score, but it remains efficient for the complexity.

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?

Given the tool has 3 parameters, no output schema, and 100% schema coverage, the description covers all essential aspects: what it designs, how it scores, what it returns (candidates with oligos and shRNA cassette), validity range, and key limitations. It is self-contained enough for an agent to understand when and how to invoke the tool without additional context.

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% with adequate descriptions for all three parameters (target, shRnaLoop, minReynolds). The description adds conceptual context (e.g., Reynolds scoring) but does not elaborate on parameter syntax or behavior beyond the schema. Baseline of 3 is appropriate; the description does not significantly enhance parameter understanding.

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?

The description clearly states 'Design siRNA duplexes against an mRNA target' with specific scoring methods (Reynolds, Ui-Tei, siDirect). It distinguishes from sibling tools (e.g., aso_design, crispr_grna_design) by explicitly focusing on siRNA/shRNA design and detailing what it does not do (no folding, no off-target search).

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?

The description specifies valid targets ('mRNA targets') and clarifies limitations (heuristic rules only, no folding, no off-target search), implying when not to rely on the tool. However, it does not explicitly name alternative tools for complementary analyses (e.g., folding models or transcriptome-wide checks) nor provide a when-not-to-use directive. Clear context but lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

site_directed_mutagenesisSite-directed mutagenesis designerA
Read-onlyIdempotent
Inspect

Design site-directed mutagenesis primers (QuikChange overlapping or Q5 back-to-back) for a base substitution, an amino-acid codon swap, or an insertion/deletion/delins. The edit can be given as fields or, more simply, by NAME in mutation: "E52K", "p.Glu52Lys", "c.155A>G", "c.76_78del", "c.76_77insGGA", "c.76_78dup". A named mutation is checked against the template — if the reference allele it states is not what is actually at that position, the call is refused and the real base or residue is quoted back, because a coordinate belonging to a different transcript or the other strand yields perfectly well-formed primers for the wrong base. interpretedAs in the response says which reading was designed.

ParametersJSON Schema
NameRequiredDescriptionDefault
mgMMNoDivalent cation [Mg2+] (mM).
naMMNoMonovalent cation [Na+]/[K+] (mM).
styleNoMutagenic primer style.quikchange
dntpMMNoTotal [dNTP] (mM), chelates Mg2+.
insertNoBases to put in place of the deleted span (delins edit). Omit for a pure deletion. NOTE the convention when deleteLength is 0: the insert lands immediately BEFORE `position`, so position 101 + insert "GGA" is the same edit as mutation: "c.100_101insGGA" — HGVS names the two flanking bases, this names the base the insert sits in front of. `interpretedAs` states which bases the insert ended up between.
newBaseNoReplacement base (nt edit).
oligoNMNoTotal strand concentration (nM).
residueNo1-based residue number to change (aa edit).
editKindNoEdit level. Normally omitted — it is inferred from the fields you send (newBase means nt, targetAa means aa, insert/deleteLength means delins).
mutationNoThe edit by name — "E52K", "p.Glu52Lys", "Q100*", "c.155A>G", "A155G", "c.76_78del", "c.76_77insGGA", "c.76_78dup", "c.76delinsAA". Replaces the field-by-field forms below. An unprefixed "A123G" is a legal reading at BOTH levels; it is resolved by which one matches the template, and refused if both do.
organismNoCodon-usage table for choosing the new codon (aa edit). Latin names and common strain/cell-line names are accepted.ecoli
positionNo1-based position to substitute (nt), or the first base of the span to replace (delins). Required for those forms — it is never assumed. For a pure insertion (deleteLength 0) it is the base the insert goes in FRONT of.
targetAaNoTarget amino acid, one-letter code incl '*' (aa edit).
templateYesNucleotide sequence (raw or FASTA; IUPAC accepted).
frameStartNo1-based position of the first base of codon 1. Needed whenever the coding sequence does not start at base 1 of the template — a residue number means nothing without it.
armTmTargetNoTarget Tm (°C) for each template-binding arm.
deleteLengthNoTemplate bases to remove, starting at `position` (delins edit). 0 with `insert` set is a pure insertion, placed immediately before `position`.

TDQS

A4.8/5.0
Behavior5/5

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

With readOnlyHint=true and idempotentHint=true already in annotations, the description adds genuinely useful behavioral context: mismatched reference alleles cause a refusal with the actual base or residue quoted back, and the reason is explained (wrong transcript or strand would still produce well-formed primers). It also points to `interpretedAs` in the response so the agent can confirm which reading was designed. This goes well beyond the annotations and is not contradictory.

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?

Although long, the description is front-loaded with the core purpose and every subsequent sentence resolves a real ambiguity: nomenclature handling, strand/transcript validation, refusal behavior, and insertion placement. There is no filler or repetition of schema content.

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?

With 17 parameters, no output schema, and a complex domain, the description covers the highest-risk ambiguities: mutation naming, insertion conventions, template validation, and residue-number frameStart. It also gives the agent a response hook (`interpretedAs`) so results can be checked. Nothing critical needed for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema parameter coverage is 100%, so the baseline is already 3. The description adds substantial value on top of the schema by explaining HGVS and shorthand mutation-name syntax, the ambiguous 'A123G' dual-level reading and its refusal condition, the insert-before-position convention for deleteLength 0, and the role of frameStart. These clarifications are crucial for the most error-prone parameters.

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?

The description opens with a specific verb and resource: 'Design site-directed mutagenesis primers (QuikChange overlapping or Q5 back-to-back)'. It enumerates the supported edit types and the two primer styles, which clearly distinguishes this tool from general-purpose primer_design and other primer-related siblings in the tool list.

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?

The description makes the intended use clear: it should be used whenever site-directed mutagenesis primers are needed for nucleotide, amino-acid, or indel edits, and it explains the template-checking behavior that accompanies named mutations. It does not explicitly name when NOT to use it or compare itself with alternative primer-design tools, so it just misses the top score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

translateTranslateA
Read-onlyIdempotent
Inspect

Translate a nucleotide sequence to protein (single frame or all six frames; standard code).

ParametersJSON Schema
NameRequiredDescriptionDefault
frameNo
toStopNoStop at the first stop codon.
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations declare readOnly and idempotent hints; description adds behavioral context about translation frames and standard code, going beyond the structured data.

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?

Single sentence with no wasted words, effectively communicates core purpose.

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 3-parameter tool without output schema, the description covers input and purpose but omits output format (e.g., protein sequence string) and does not resolve the mismatch about all six frames.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning beyond the schema (e.g., frames, standard code) but contradicts the schema by mentioning 'all six frames' when the schema only allows frame parameters 1, 2, or 3.

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?

The description clearly states the action (translate), input (nucleotide sequence), output (protein), and options (single frame or all six frames). It distinguishes from sibling tools like reverse_translate.

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 description mentions single vs. all six frames but does not provide explicit guidance on when to use this tool over alternatives like reverse_translate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

variant_annotateVariant AnnotatorA
Read-onlyIdempotent
Inspect

One-box variant lookup against MyVariant.info: accepts an rsID, chrom:pos:ref:alt, genomic HGVS ("chr17:g.7676154G>C"), or transcript HGVS c. ("NM_000546.6:c.215C>G" / "TP53:c.215C>G", bridged via the hgvs_convert tool). Returns a ClinVar significance summary, gnomAD exome/genome allele frequencies, and CADD/SIFT/PolyPhen2/REVEL pathogenicity predictor scores — each section explicitly null when that source has no data, never silently omitted. See the result's own "caveats" for real data-freshness limits (frozen gnomAD/CADD snapshots, periodic ClinVar snapshot).

ParametersJSON Schema
NameRequiredDescriptionDefault
variantYesAn rsID ("rs1042522"), chrom:pos:ref:alt ("17:7676154:G:C", single-base substitutions only), genomic HGVS ("chr17:g.7676154G>C" or "17:g.7676154G>C"), or transcript HGVS c. ("NM_000546.6:c.215C>G" or "TP53:c.215C>G").
assemblyNoGenome build for rsID/chrom-pos-ref-alt/genomic-HGVS lookups (MyVariant.info's native default is hg19). Ignored for transcript "c." input, which is always bridged via GRCh38/hg38 (hgvs_convert's own coordinate space).hg19

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds that missing data is explicitly null (never silently omitted) and directs users to a 'caveats' section for data freshness. No contradiction with annotations.

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?

Single paragraph with logical flow: purpose, input formats, output content, and data handling. No redundant sentences, but could be slightly more streamlined by separating input and output into bullet points. Still very efficient.

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?

Given no output schema, the description covers key results (fields returned) and behavior (null handling, caveats). It is sufficient for a read-only lookup tool. Lacks specification of pagination or limits, but these are likely unnecessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters. The description enhances the 'variant' parameter by enumerating all accepted formats with examples and clarifies the assembly parameter's behavior depending on input type. This adds meaningful context beyond the schema.

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?

Clearly states it is a variant lookup tool returning annotations from MyVariant.info. Lists all accepted input formats (rsID, chrom:pos:ref:alt, genomic HGVS, transcript HGVS) and output content (ClinVar, gnomAD, pathogenicity scores). Distinguishes itself from sibling tools like hgvs_convert and variant_comparator through explicit input format handling and output scope.

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?

Provides clear context that this is a single-variant lookup tool and mentions the need to use hgvs_convert for transcript HGVS inputs. However, it does not explicitly state when to avoid this tool or mention alternatives for comparing variants, though sibling names imply differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

variant_comparatorVariant ComparatorB
Read-onlyIdempotent
Inspect

Align a query to a reference and call variants (substitutions, insertions, deletions) in HGVS g. notation, with optional coding effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesQuery / variant sequence (raw or FASTA).
codingNoTreat as a coding sequence and report amino-acid effects.
referenceYesReference / wild-type sequence (raw or FASTA).
frameStartNo1-based reading-frame start (used when coding is true).

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 and idempotentHint=true, indicating the tool is safe and deterministic. The description adds that the tool produces variant calls in HGVS g. notation, which is consistent. However, it does not disclose details about alignment type (global/local), handling of reverse complement, or performance characteristics. The description does not contradict annotations, but it adds minimal behavioral context beyond what annotations provide.

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?

The description is a single sentence of 28 words that efficiently conveys the core functionality. It is front-loaded with the primary actions (align and call variants) and includes key output details (HGVS g. notation, optional coding effects). No extraneous information is present, and the structure is optimal for quick scanning.

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

Completeness2/5

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

The description lacks important context such as the expected output format (list of variant objects vs. string), whether the alignment is global or local, and details about parameter interactions (e.g., frameStart only used when coding is true). No output schema is provided, so the description should compensate, but it does not fully address the return values or behavioral constraints. Given the tool's complexity (4 parameters, 2 required), the description is incomplete for effective agent use.

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 all parameters have descriptions in the input schema. The tool description adds only the context of 'HGVS g. notation' and 'coding effects,' which aligns with the 'coding' parameter. No additional parameter semantics are provided beyond the schema. According to the guidelines, baseline is 3 when coverage is high, and the description does not exceed that bar.

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?

The description clearly states the tool's purpose: aligning a query to a reference and calling variants (substitutions, insertions, deletions) in HGVS g. notation, with optional coding effects. The verb 'align' and 'call variants' combined with the resource (query vs reference) and output format (HGVS g. notation) make the purpose unambiguous. This tool is distinct from sibling tools like 'pairwise_alignment' (which only aligns) and 'hgvs_convert' (which converts notation), as it generates variant calls.

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 does not provide explicit guidance on when to use this tool versus alternatives. Sibling tools such as 'pairwise_alignment' or 'variant_annotate' are not mentioned, and no conditions or exclusions are given. Users must infer from the purpose when to choose this tool, which is insufficient for effective agent decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

variant_to_constructVariant to construct to genotyping bridgeA
Read-onlyIdempotent
Inspect

Turn one variant into one buildable plan: verify the reference allele actually sits where the coordinate says, apply the edit, design site-directed mutagenesis primers to install it, design KASP/ARMS allele-specific primers to genotype it afterwards, and consolidate everything into a single oligo order table. Takes either a construct sequence with a 1-based position and ref/alt alleles (offline, deterministic), or an HGVS "c." description resolved through the MANE crosswalk and a live Ensembl exon map. A mismatched reference allele is refused with the bases that were actually found there, because a coordinate that is right for another isoform yields a perfectly valid primer set for the wrong base. Bases shared by both alleles are trimmed first, so a VCF-anchored pair is designed as the substitution or indel it actually is. Mutagenesis covers every class (a substitution, an insertion, a deletion and a multi-base replacement are all one interval replacement); KASP needs a single-base substitution's 3'-terminal base, so for an indel the genotyping half comes back as a named omission with the reason and the readout that does work, never as an empty list.

ParametersJSON Schema
NameRequiredDescriptionDefault
flankNoNETWORK MODE. Bases of genomic context fetched either side of the variant (60-1000). Needs to cover the allele-specific core upstream and the genotyping amplicon downstream.
labelNoName stem for the ordered oligos. Defaults to the HGVS string (network mode) or a positional label like "A100G" (offline).
styleNoMutagenic primer style: overlapping (QuikChange) or back-to-back (Q5/KLD).quikchange
variantNoNETWORK MODE. A full HGVS "c." description, e.g. "NM_000546.6:c.215C>G" or "TP53:c.215C>G". Resolved through the bundled MANE crosswalk and a live Ensembl exon map, then a genomic window is fetched around it. Mutually exclusive with "sequence".
positionNoOFFLINE MODE. 1-based position of the first base of refAllele on `sequence`. For a pure insertion (empty refAllele) the alternate bases are inserted immediately BEFORE this position.
sequenceNoOFFLINE MODE. The reference/construct sequence the variant is described against (raw or FASTA). Mutually exclusive with "variant".
altAlleleNoOFFLINE MODE. Bases installed. Use "-" or "" for a pure deletion.
refAlleleNoOFFLINE MODE. Bases replaced, as they appear on `sequence` — checked against it and refused if they differ. Use "-" or "" for a pure insertion. A VCF-style anchored pair (both alleles carrying a shared flanking base, e.g. refAllele "T" / altAllele "TGGATCC", or "TG" / "AG") is accepted and trimmed to its minimal form before anything is designed; the trimmed coordinates are reported as `minimal`.
armTmTargetNoTarget Tm (°C) for each mutagenic primer's template-binding arm (45-80; the arm is grown between 10 and 30 nt, so a target outside that range is refused rather than clamped to the shortest or longest arm).
maxAmpliconNoMaximum genotyping amplicon length. Refused below 36 bp, the shortest KASP product that can exist (an 18 nt core plus an 18 nt reverse primer), and refused below minAmplicon — both are unsatisfiable for every reference, and left unchecked they came back as "no common reverse primer could be placed; provide more 3' flanking sequence".
minAmpliconNoMinimum genotyping amplicon length, measured from the allele-specific primer's 5' end (which sits one core-length upstream of the variant) to the reverse primer's 5' end. Must not exceed maxAmplicon.
targetCoreTmNoTarget Tm (°C) for the allele-specific genotyping core, before the universal tail (45-80; the core is chosen between 18 and 27 nt, so a target outside that range is refused rather than clamped).
addSecondaryMismatchNoEngineer the ARMS destabilising mismatch 3 nt from the allele-specific primer's 3' end.

TDQS

A4.5/5.0
Behavior5/5

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

Far beyond the readOnly/idempotent/openWorld annotations, the description discloses that a mismatched reference allele is refused with the bases actually found, that shared allele bases are trimmed to minimal form, that mutagenesis treats all variant classes as one interval replacement, and that indel genotyping returns a named omission with the reason — never an empty list. These behaviors are also consistent with readOnlyHint=true since the tool produces a plan rather than mutating state.

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?

The description is dense but every sentence carries operational content: mode selection, isoform-coordinate risk, allele trimming, primer-class coverage, and output refusal behavior. It earns its length for a 13-parameter, two-mode tool, though presenting it as one continuous paragraph slightly reduces scannability compared to a structured breakdown.

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 no output schema, the description carries the burden of defining return behavior and largely succeeds: a consolidated oligo order table, minimal trimmed coordinates, refusal with the bases actually found, and a named omission with a working readout for indels. Remaining gaps — the exact field structure of the order table and network-mode failure behavior — are minor given that the safety profile is already covered by annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter description is already rich (bounds, refusal conditions, mode tagging, even a quoted error message). The main description adds the cross-parameter semantics the schema cannot express alone: that KASP requires a single-base substitution's 3'-terminal base, linking the ref/alt inputs to the shape of the genotyping output, and tying the trimming behavior to how anchored VCF pairs are interpreted.

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?

The description opens with a specific verb+resource: 'Turn one variant into one buildable plan' and enumerates the complete pipeline — verifying the reference allele, applying the edit, designing site-directed mutagenesis primers, designing KASP/ARMS genotyping primers, and consolidating into a single oligo order table. This clearly distinguishes it from sibling tools like site_directed_mutagenesis or kasp_primer_design, which cover only one stage of that pipeline.

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?

The description clearly delimits the two mutually exclusive input modes (offline sequence+position vs network HGVS resolved through MANE/Ensembl) and the refusal/omission conditions that govern when results come back. It does not explicitly name sibling alternatives or state 'use X instead when you only need one stage,' but the consolidated 'bridge' purpose makes the scope reasonably inferable from context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vector_library_getGet a vector with its annotationA
Read-onlyIdempotent
Inspect

Return one vector from the library: its GenBank accession and version, length, topology, organism/definition, complete sequence, and the full annotated feature table (type, label, 1-based inclusive start/end, strand, spliced length, and the location descriptor as the record wrote it). Accepts the library id, the vector name, or the accession. An unrecognised id is an error carrying the closest names — never an empty result.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLibrary id (e.g. "pbr322"), vector name ("pBR322"), or accession ("J01749" / "J01749.1").
includeSequenceNoSet false for the annotation only — useful for a large BAC where the bases are not the point.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark the operation read-only and idempotent, and the description adds significant behavioral detail beyond that: exact error semantics, the explicit list of returned fields, and the coordinate/location conventions (1-based inclusive, strand, spliced length, original location descriptor). This is genuinely useful transparency for an agent deciding how to interpret results.

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?

The description is dense but well-structured: it opens with the core action, lists return contents compactly, then covers accepted identifiers and error behavior. Every sentence adds operational value, and nothing is wasted.

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 single-record read operation with no output schema, the description covers all the essentials: what is returned field-by-field, what identifiers are accepted, how errors behave, and the effect of the optional parameter is already in the schema. No critical gap remains for an agent to invoke or interpret the tool 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?

Input schema coverage is 100%, and the schema already documents both parameters, including examples for id and the use case for includeSequence=false. The tool description reinforces the identifier alternatives but does not add meaning beyond the schema. Baseline 3 is appropriate because the schema carries the parameter documentation burden.

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?

The description states a specific verb and resource ('Return one vector from the library') and enumerates exactly what is included, from accession and sequence to the full feature table. Its singular scope and explicit content list clearly set it apart from sibling search tools like vector_library_search without needing to name them.

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?

The description clearly indicates when to use the tool: to retrieve a single known vector by library id, name, or accession. It also gives behavioral guidance on error handling — unrecognised ids produce a closest-names error rather than an empty result. It does not explicitly list alternatives or exclusion cases, but the exact-identifier framing is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_assemblyVerify a full assembly recipeA
Read-onlyIdempotent
Inspect

Deterministic self-check: given the same method/parts cloning_simulate would use (restriction-ligation, Gibson, Golden Gate, LIC, SLIC or In-Fusion/CPEC — optionally deriving a part by in-silico PCR first), re-derive the expected WHOLE product and diff it against a claimed final sequence. Returns pass/fail plus the exact position and nature of any discrepancy — not an opinion, the same deterministic simulation SeqBench already runs, run a second time as a check. A recipe that can give more than one molecule is checked against ALL of them and matchedCandidate names the one the claim matched: a non-directional ligation really does put the insert in both ways round (half the plate carries each), a vector cut more than twice offers more than one backbone, and a Gibson junction whose fragments already share terminal sequence has two honest readings (one homology arm, or a tandem repeat present twice). See verify_construct for a narrower, insert-only check that doesn't require declaring the vector/enzymes/method.

ParametersJSON Schema
NameRequiredDescriptionDefault
namesNoOptional labels for each fragment.
codingNoReport amino-acid effects of any mismatch, assuming claimedConstruct is (or contains) a coding sequence.
enzymeNoType IIS enzyme for Golden Gate — one of BsaI, BbsI, Esp3I (BsmBI); "BsmBI" also resolves to Esp3I, and NEB's variant names (BsaI-HFv2, BbsI-HF, BsmBI-v2) fold to the parent enzyme. Any other name fails the verification outright rather than being substituted.BsaI
insertNoInsert sequence (restriction and lic methods). Omit if insertPcr is given.
methodYesAssembly method used. restriction/gibson/goldengate are the primer-and-enzyme methods; lic and slic re-run the T4-polymerase chew-back (sequence-defined and time-stopped respectively) and infusion is In-Fusion/CPEC. Anything else is refused rather than substituted — see the note on "topo".
vectorNoVector sequence (restriction and lic methods; for lic, the LINEARISED vector). Omit if vectorPcr is given.
enzyme3NoInsert 3′ enzyme (restriction method).BamHI
enzyme5NoInsert 5′ enzyme (restriction method).EcoRI
circularNoTreat the product/claimed construct as circular (most plasmids are).
fragmentsNoFragments (5′→3′), assembled head-to-tail (gibson/goldengate/slic/infusion). BARE parts only — for gibson do NOT include the homology arms, which are added by the assembly primers and merged (so the product is fragment1+…+fragmentN). The convention is the OPPOSITE for slic and infusion: there the homology must already BE on the fragments (it arrived on the PCR primer tails), and infusion derives the ORDER from those homologies, so the order listed here is ignored. Use "" as a placeholder for any fragment supplied instead via the matching fragmentPcrs[i].
insertPcrNoDerive the insert by PCR instead: {template, forwardPrimer, reversePrimer, maxMismatches? (0-10), circular?}.
vectorPcrNoDerive the vector by PCR instead: {template, forwardPrimer, reversePrimer, maxMismatches? (0-10), circular?}.
frameStartNo1-based reading-frame start on claimedConstruct, used when coding is true.
overlapLenNoGibson homology-arm length (bp) that the assembly PRIMERS add at each junction. Since the fragments themselves must not carry their arms, this describes the junction/primer design only — it does not change the predicted product length or the verdict.
armTmTargetNoTarget annealing Tm (°C) for primer arms.
chewBackLenNoslic method: nucleotides removed from each 3′ end. A SLIC chew-back has no dNTP to arrest it and is stopped by time, so this is an input rather than a property of the sequence. 0 (default) models the intended reaction — chewed to the full homology and no further.
homologyLenNoinfusion method: terminal homology required at every junction, in bp. At least 15 — the junction is annealed and extended by a polymerase with no exonuclease to widen it and no ligase to seal it, so a shorter overlap is a different chemistry rather than a weaker version of this one.
fragmentPcrsNoParallel to fragments, same length: null (or omit) to use fragments[i] directly, or a PCR spec {template, forwardPrimer, reversePrimer, maxMismatches? (0-10), circular?} to derive that fragment instead.
vectorEnzyme3NoVector 3′ enzyme (restriction method); defaults to enzyme3.
vectorEnzyme5NoVector 5′ enzyme (restriction method); defaults to enzyme5. Set a different, compatible enzyme (e.g. BglII for a BamHI insert) to verify heterologous-overhang cloning.
claimedConstructYesThe sequence you claim you ended up with.
insertNucleotideNolic method: the single dNTP the INSERT's chew-back was run with. Normally the COMPLEMENT of vectorNucleotide (the classic pair is dTTP on the vector, dATP on the insert).
vectorNucleotideNolic method: the single dNTP the VECTOR's chew-back was run with (T for dTTP…). Required — T4 pol's exonuclease stops at the first occurrence of this base reading inward from each 3′ end, so there is no product to check against without it.
mergePreAddedArmsNoGibson only. When two fragments already share terminal sequence, count that share ONCE (the default — the fragments already carry their arm) or set false to concatenate it twice, which is the right reading when the shared block is a genuine tandem repeat. You should rarely need this: the check tries BOTH readings and reports which one matched in `matchedCandidate`. Setting it restricts the check to one.
dephosphorylateVectorNoThe linearised vector was CIP/rSAP-dephosphorylated (restriction method). Affects the self-ligation background warnings, not the product.

TDQS

A4.7/5.0
Behavior5/5

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

Beyond annotations (readOnly, idempotent), the description discloses deterministic behavior, handling of ambiguous assemblies (checks against ALL possible molecules and reports matchedCandidate), and the nature of output (pass/fail plus exact position and nature of discrepancy). It also describes edge cases like non-directional ligation and Gibson junction ambiguity, adding substantial 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?

The description is dense but front-loaded: it opens with purpose, then behavior, then the alternative. Every sentence adds value—no filler. The length is justified given the complexity (25 params, nested objects), and the structure guides an agent from core action to caveats to sibling differentiation.

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 tool with 25 params and no output schema, the description covers the core behavior, return type, ambiguity handling, and relationships to siblings (cloning_simulate, verify_construct). It provides sufficient context for an agent to invoke it correctly, with remaining details in the schema. Nothing critical is missing.

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% with detailed parameter descriptions (e.g., fragments, method enum, chewBackLen, homologyLen), so the baseline is 3. The tool description adds little beyond the schema; it mentions high-level conventions (e.g., fragments for gibson vs slic/infusion) but these are already in the param comments. It does not introduce additional param semantics.

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?

The description clearly states a deterministic verification tool that re-derives the expected whole product and diffs it against a claimed sequence, returning pass/fail with discrepancy details. It explicitly distinguishes from verify_construct by scope (whole vs insert-only) and references cloning_simulate as the basis, making it easy for an agent to know what it does.

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

Usage Guidelines5/5

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

It explicitly names verify_construct as a narrower alternative and the condition for choosing it ('insert-only check that doesn't require declaring the vector/enzymes/method'). It also frames the tool as a second run of cloning_simulate for verification, implying when to use it (checking a claimed construct). No ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_constructVerify a claimed constructA
Read-onlyIdempotent
Inspect

Re-derive a construct's insert from the PCR (template + primers) claimed to have produced it, then check — independently of that claim — whether the expected insert actually appears (either orientation) in the claimed final construct, at what identity, and with exact mismatch positions if not. Optionally also checks for a premature stop in a declared reading frame. Primers may carry a non-templated 5' tail (a restriction site, a Gibson arm, a tag): a construct missing ONLY tail bases still passes, since that is exactly what digesting a tailed amplicon removes before ligation — see match.templateCoveragePct and match.unalignedIsTailOnly, and note the pass does not establish that the right enzyme made the cut. This re-derives from the claim's own stated inputs; it does not review the claim's prose.

ParametersJSON Schema
NameRequiredDescriptionDefault
insertTemplateYesPCR template the insert was amplified from.
claimedConstructYesThe final sequence claimed to have been built.
templateCircularNoTreat insertTemplate as circular (e.g. amplifying from a plasmid).
expectedFrameStartNo1-based position in claimedConstruct where the intended reading frame begins. If given, flags a premature stop before the end of the aligned insert region.
insertForwardPrimerYesForward primer used to amplify the insert, 5'→3'.
insertReversePrimerYesReverse primer used to amplify the insert, 5'→3'.
maxPrimerMismatchesNoMismatches tolerated per primer during PCR prediction (0–10).

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly and idempotent annotations, the description discloses important behavioral nuances: tail-bases-only mismatches are allowed, the pass does not confirm the correct enzyme was used, and it references output fields (match.templateCoveragePct, match.unalignedIsTailOnly). This is rich additional 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?

The description is dense but every sentence contributes: core action, optional frame check, tail handling caveat, and the non-review of prose. It front-loads the primary purpose and expands into edge cases, earning its length.

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?

Despite no output schema, the description conveys the verification logic, acceptable mismatch interpretation, optional frame check, and output field hints. This is sufficient for an agent to decide whether and how to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining how primer tails are interpreted and that expectedFrameStart flags premature stops, giving deeper meaning to those parameters than the schema alone. This pushes it to a 4.

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?

The description states a specific verb ('re-derive', 'check') and resource (construct insert from PCR), and clarifies the independence of the verification from the claim's prose. This distinguishes it from other verification tools like verify_assembly without needing to open the schema.

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?

Provides clear context: use when a claimed construct needs verification against PCR template and primers. It also gives an explicit exclusion ('it does not review the claim's prose'), but it does not name specific alternative tools or conditions for when to prefer them, so it falls short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

virtual_gelVirtual gelA
Read-onlyIdempotent
Inspect

Predict restriction-digest fragment sizes and their gel migration positions against a chosen DNA ladder.

ParametersJSON Schema
NameRequiredDescriptionDefault
ladderNoDNA ladder to plot alongside the sample lane.1 kb
enzymesNoEnzyme names to digest with, from the curated common-enzyme set (see restriction_sites for the full list). An unrecognised name is rejected rather than skipped, so an empty band pattern always means "no sites".
circularNoTreat the sequence as circular (plasmid).
sequenceYesNucleotide sequence (raw or FASTA; IUPAC accepted).

TDQS

A4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint and idempotentHint, so the description doesn't need to repeat safety info. The description adds the key behavioral aspect (predicts fragment sizes and positions) but does not disclose output format or edge-case behavior. However, no contradictions with annotations.

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?

The description is a single, focused sentence that gets straight to the point without extraneous details.

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?

The tool has no output schema, but the description conveys the core purpose and the parameter schema covers inputs thoroughly. It lacks explicit return-value details, but the purpose statement sufficiently covers what the tool produces for an agent to understand high-level behavior.

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%, with detailed descriptions for all four parameters including enum values and error semantics for enzymes. The description itself adds no parameter-level detail, so the baseline of 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?

The description clearly states the tool's function with a specific verb ('Predict') and resource ('restriction-digest fragment sizes and their gel migration positions'), and distinguishes it from sibling tools like 'double_digest' and 'restriction_sites' by its focus on gel migration against a chosen ladder.

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?

The description implies the use case (simulating a gel with a chosen ladder) but does not explicitly state when to prefer this over alternatives like 'restriction_sites' or 'double_digest'. There are no exclusions or alternative references, but the context is clear enough for an agent to infer when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

volcano_plot_dataVolcano plot dataA
Read-onlyIdempotent
Inspect

Validate a differential-expression table (gene, log2 fold-change, p-value/FDR) and compute -log10(p) plus up/down/non-significant counts at conventional default thresholds (|log2FC|>=1, p<=0.05), for the Volcano Plot visualization. Invalid rows (non-finite log2FC, or p-value outside (0,1]) are dropped and reported rather than failing the whole batch.

ParametersJSON Schema
NameRequiredDescriptionDefault
rowsYesDifferential expression rows, one per gene.

TDQS

A4.4/5.0
Behavior4/5

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

The description adds behavioral context beyond the annotations by explicitly stating that invalid rows are dropped and reported rather than causing failure. This complements the readOnlyHint and idempotentHint annotations, which already indicate safe, non-destructive operation.

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?

The description is exceptionally concise—two sentences that front-load the main action and include necessary details about validation behavior. Every sentence adds value.

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?

The tool has only one parameter and no output schema. The description covers input validation, thresholds, and error handling. It does not describe the output format, but given the simplicity of the tool and the presence of annotations, the description is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description is not required to explain parameters. However, it provides additional value by specifying the default thresholds (|log2FC|>=1, p<=0.05) used in the computation, which are not in the schema.

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?

The description uses specific verbs ('Validate', 'compute') and clearly states the resource ('differential-expression table') and outputs ('-log10(p)', counts). It distinctly positions the tool for volcano plot data preparation, differentiating it from siblings.

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?

The description explains when to use the tool (to prepare data for volcano plot visualization) and what it does, but does not explicitly state when not to use or mention alternatives. However, the sibling list contains no similar volcano-related tools, so the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

workflowBatch workflow (multi-tool pipeline)B
Read-onlyIdempotent
Inspect

Run a multi-tool pipeline over many records. steps is an ordered list of { tool, args?, from? }; each step's chained sequence feeds the next by default. input is multi-FASTA or one sequence per line.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesMulti-FASTA or one sequence per line.
stepsYes

TDQS

B3.4/5.0
Behavior2/5

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

Annotations declare readOnlyHint=true and idempotentHint=true, but the description says 'Run a multi-tool pipeline' which hints at execution, creating ambiguity about side effects. The description adds no additional behavioral context (e.g., what gets destroyed, auth needs, rate limits). It does not clarify the read-only nature, and the term 'Run' may mislead.

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?

Two sentences with no wasted words. The first sentence front-loads the purpose, the second provides key parameter details. Efficient and clear.

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?

Given the tool's complexity (multi-step pipeline), the description covers core behavior and basic parameter structure but omits error handling, failure behavior, output format, and edge cases. No output schema exists, so this gap is notable. Adequate but incomplete for a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning beyond the schema: it explains that `steps` is an ordered list with structure { tool, args?, from? } and that chained sequences feed the next by default. This clarifies chaining behavior not present in the schema. Schema coverage is low (only `from` described), so description compensates partially.

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 clearly states it 'Run[s] a multi-tool pipeline over many records', identifying the verb and resource. The title reinforces 'Batch workflow (multi-tool pipeline)'. However, it does not explicitly differentiate from sibling tools like individual analysis tools, though unique in being a pipeline runner.

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 description explains that steps is an ordered list and that each step feeds the next, implying chaining behavior. It also specifies input format. No explicit when-to-use or when-not-to-use guidance or alternatives are mentioned, relying on the user to infer from sibling context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool update
    • Changedprotein_properties3 fields changed
      • changedInput schema / properties / chargeStep / description
        Previous value: -"pH step for the net-charge titration curve (0–14)."New value: +"pH step along the net-charge titration curve, which always spans pH 0-14. Between 0.001 and 14."
      • addedInput schema / properties / chargeStep / maximum
        Added value: +14
      • addedInput schema / properties / chargeStep / minimum
        Added value: +0.001
  2. 1 tool update
    • Changedparse_sanger_trace1 field changed
      • addedInput schema / properties / includeTraces
        Added value: +{
        +  "default": false,
        +  "description": "Include the four raw dye-channel arrays and peakLocations. They are 93% of the response — a 900-base read is 122 kB with them and 8 kB without (measured) — and they are only useful for DRAWING the chromatogram. Everything you would reason about (base calls, quality, the run's labels) is returned either way, so leave this off unless you are rendering.",
        +  "type": "boolean"
        +}
  3. 3 tool updates
    • Changeddna_molarity3 fields changed
      • addedInput schema / properties / targetConcentration
        Added value: +{
        +  "description": "Optional: the concentration you need. Supplying it (with volumeUl, so there is a stock concentration to dilute FROM) returns a `dilution` plan — µL of stock and µL of diluent — instead of leaving C1V1 = C2V2 to be done by hand. The stock and the target may be quoted in different units; the molar mass converts between them.",
        +  "type": "number"
        +}
      • addedInput schema / properties / targetUnit
        Added value: +{
        +  "default": "nM",
        +  "description": "Unit for targetConcentration.",
        +  "enum": [
        +    "nM",
        +    "uM",
        +    "ngPerUl"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / targetVolumeUl
        Added value: +{
        +  "default": 20,
        +  "description": "Final volume of the diluted sample, in µL.",
        +  "type": "number"
        +}
    • Addedoligo_pool_screen
    • Changedsite_directed_mutagenesis2 fields changed
      • changedInput schema / properties / insert / description
        Previous value: -"Bases to put in place of the deleted span (delins edit). Omit for a pure deletion."New value: +"Bases to put in place of the deleted span (delins edit). Omit for a pure deletion. NOTE the convention when deleteLength is 0: the insert lands immediately BEFORE `position`, so position 101 + insert \"GGA\" is the same edit as mutation: \"c.100_101insGGA\" — HGVS names the two flanking bases, this names the base the insert sits in front of. `interpretedAs` states which bases the insert ended up between."
      • changedInput schema / properties / position / description
        Previous value: -"1-based position to substitute (nt), or the first base of the span to replace (delins)."New value: +"1-based position to substitute (nt), or the first base of the span to replace (delins). Required for those forms — it is never assumed. For a pure insertion (deleteLength 0) it is the base the insert goes in FRONT of."
  4. 7 tool updates
    • Addedbase_edit_quant
    • Addedediting_plate_quantify
    • Changedin_silico_pcr3 fields changed
      • addedInput schema / properties / maxProductLength
        Added value: +{
        +  "default": 50000,
        +  "description": "Ignore predicted products longer than this (bp). A SEARCH WINDOW, not a claim about what amplifies: whole-plasmid inverse PCR — the reaction a q5-style site_directed_mutagenesis design is run as — makes one product the size of the plasmid, so raise this for a construct over 50 kb. `suppressedByLength` in the response counts what the window discarded.",
        +  "maximum": 500000,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • changedInput schema / properties / reversePrimer / description
        Previous value: -"Primer 2, 5'→3' (order does not matter)."New value: +"Primer 2, 5'→3' (order does not matter). Optional: one primer alone is accepted and reports the products it makes on its own — none, unless the template carries inverted sites it can prime from both ends."
      • changedInput schema / required
        Previous value: -[
        -  "template",
        -  "forwardPrimer",
        -  "reversePrimer"
        -]New value: +[
        +  "template"
        +]
    • Addedsanger_knockin_quant
    • Changedsequencing_readback_verify5 fields changed
      • addedInput schema / properties / breakpointTolerance
        Added value: +{
        +  "default": 50,
        +  "description": "How far apart two reads' breakpoints may sit and still count as the same event, in bp (default 50). Long-read breakpoints are fuzzy, and microhomology at a real junction moves the split legitimately.",
        +  "type": "integer"
        +}
      • changedInput schema / properties / circular / description
        Previous value: -"Treat the reference as a circular molecule (plasmid). Reads that straddle its arbitrary linear start are then aligned right through the join instead of being cut short there, so variants in the part that would otherwise be clipped away are actually called. Turn this on for whole-plasmid data — the reads begin wherever the molecule was cut, so most of them cross the join. Reads longer than the reference still get clipped."New value: +"Treat the reference as a circular molecule (plasmid). Reads that straddle its arbitrary linear start are then aligned right through the join instead of being cut short there, so variants in the part that would otherwise be clipped away are actually called. Turn this on for whole-plasmid data — the reads begin wherever the molecule was cut, so most of them cross the join. Reads longer than the reference still get clipped. It also governs structural-variant calling: on a circle an origin-crossing read is contiguous, and only this flag lets it be told apart from a whole-reference duplication."
      • addedInput schema / properties / minSvLength
        Added value: +{
        +  "default": 50,
        +  "description": "Smallest structural variant to report, in bp (default 50). Below this the per-base variant caller already reports the event from inside a single alignment, and on nanopore data the range is mostly the error profile.",
        +  "type": "integer"
        +}
      • addedInput schema / properties / minSvSupport
        Added value: +{
        +  "default": 3,
        +  "description": "Distinct reads that must agree on the same breakpoint before a structural variant (large deletion, duplication, inversion, insertion) is reported. Default 3 — stricter than minSupportingReads on purpose: a single split read is a library-prep chimera or a mapping artefact far more often than it is biology, and chimeras are common enough that two agreeing by chance is likelier than two matching base errors.",
        +  "type": "integer"
        +}
      • addedInput schema / properties / platform
        Added value: +{
        +  "default": "auto",
        +  "description": "Read type, which selects minimap2's alignment preset. \"auto\" (the default) passes no preset and uses minimap2's own defaults — whose parameters happen to be map-ont's, so nanopore data is already handled; setting \"nanopore\" makes that explicit and pins it. \"pacbio\" uses map-hifi and \"illumina\" uses sr, both of which materially change the result: under the ONT defaults gaps are cheap, so on accurate reads a cluster of mismatches can be reported as a spurious indel. \"sanger\" uses map-hifi with the minimum alignment score returned to 80, because map-hifi's own floor of 200 was chosen for 10-25 kb reads and would leave a short or partly-failed Sanger read unmapped. The preset actually used is reported back as minimap2Preset/alignerArgs so a run can be reproduced. Names are matched ignoring case and punctuation, and the obvious aliases resolve (\"ONT\" and \"map-ont\" to nanopore, \"HiFi\" to pacbio, \"sr\" to illumina); anything unrecognised is rejected rather than silently treated as \"auto\".",
        +  "enum": [
        +    "auto",
        +    "nanopore",
        +    "pacbio",
        +    "illumina",
        +    "sanger"
        +  ],
        +  "type": "string"
        +}
    • Changedsite_directed_mutagenesis12 fields changed
      • addedInput schema / properties / deleteLength
        Added value: +{
        +  "description": "Template bases to remove, starting at `position` (delins edit). 0 with `insert` set is a pure insertion, placed immediately before `position`.",
        +  "type": "integer"
        +}
      • removedInput schema / properties / editKind / default
        Removed value: -"aa"
      • changedInput schema / properties / editKind / description
        Previous value: -"Edit at the nucleotide or amino-acid level."New value: +"Edit level. Normally omitted — it is inferred from the fields you send (newBase means nt, targetAa means aa, insert/deleteLength means delins)."
      • changedInput schema / properties / editKind / enum
        Previous value: -[
        -  "nt",
        -  "aa"
        -]New value: +[
        +  "nt",
        +  "aa",
        +  "delins"
        +]
      • changedInput schema / properties / frameStart / description
        Previous value: -"1-based position of the first base of codon 1 (editKind='aa')."New value: +"1-based position of the first base of codon 1. Needed whenever the coding sequence does not start at base 1 of the template — a residue number means nothing without it."
      • addedInput schema / properties / insert
        Added value: +{
        +  "description": "Bases to put in place of the deleted span (delins edit). Omit for a pure deletion.",
        +  "type": "string"
        +}
      • addedInput schema / properties / mutation
        Added value: +{
        +  "description": "The edit by name — \"E52K\", \"p.Glu52Lys\", \"Q100*\", \"c.155A>G\", \"A155G\", \"c.76_78del\", \"c.76_77insGGA\", \"c.76_78dup\", \"c.76delinsAA\". Replaces the field-by-field forms below. An unprefixed \"A123G\" is a legal reading at BOTH levels; it is resolved by which one matches the template, and refused if both do.",
        +  "type": "string"
        +}
      • changedInput schema / properties / newBase / description
        Previous value: -"Replacement base (editKind='nt')."New value: +"Replacement base (nt edit)."
      • changedInput schema / properties / organism / description
        Previous value: -"Codon-usage table for choosing the new codon (editKind='aa')."New value: +"Codon-usage table for choosing the new codon (aa edit). Latin names and common strain/cell-line names are accepted."
      • changedInput schema / properties / position / description
        Previous value: -"1-based position to substitute (editKind='nt')."New value: +"1-based position to substitute (nt), or the first base of the span to replace (delins)."
      • changedInput schema / properties / residue / description
        Previous value: -"1-based residue number to change (editKind='aa')."New value: +"1-based residue number to change (aa edit)."
      • changedInput schema / properties / targetAa / description
        Previous value: -"Target amino acid, one-letter code incl '*' (editKind='aa')."New value: +"Target amino acid, one-letter code incl '*' (aa edit)."
    • Addedvariant_to_construct
  5. 8 tool updates
    • Addedcloning_diagnose
    • Changedcloning_simulate10 fields changed
      • addedInput schema / properties / chewBackLen
        Added value: +{
        +  "default": 0,
        +  "description": "slic method: nucleotides removed from each 3′ end. A SLIC chew-back has no dNTP to arrest it and is stopped by time, so this is an input rather than a property of the sequence. 0 (default) models the intended reaction — chewed to the full homology and no further; any positive value is checked against each junction's own homology, and both overrunning it and falling short of meeting the chew-back coming the other way are reported.",
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • changedInput schema / properties / fragments / description
        Previous value: -"Fragments (5′→3′), assembled head-to-tail. Used by gibson/goldengate."New value: +"Fragments (5′→3′). Used by gibson/goldengate/slic/infusion. gibson and goldengate assemble them head-to-tail in the order given and add the junctions by primer; slic needs the homology already ON the fragments and keeps the order given; infusion needs it on the fragments too but derives the order from the homologies, so the order listed here is ignored. slic and infusion take at most 24."
      • addedInput schema / properties / fragments / maxItems
        Added value: +24
      • addedInput schema / properties / homologyLen
        Added value: +{
        +  "default": 15,
        +  "description": "infusion method: terminal homology required at every junction, in bp. At least 15 — the junction is annealed and extended by a polymerase with no exonuclease to widen it and no ligase to seal it, so a shorter overlap is a different chemistry rather than a weaker version of this one.",
        +  "minimum": 15,
        +  "type": "integer"
        +}
      • changedInput schema / properties / insert / description
        Previous value: -"Insert sequence (restriction method)."New value: +"Insert sequence (restriction, topo and lic methods)."
      • addedInput schema / properties / insertNucleotide
        Added value: +{
        +  "description": "lic method: the single dNTP the INSERT's chew-back was run with. Normally the COMPLEMENT of vectorNucleotide (the classic pair is dTTP on the vector, dATP on the insert) — with the same base for both, each junction's shared block would have to avoid that base and its complement at once.",
        +  "enum": [
        +    "A",
        +    "C",
        +    "G",
        +    "T"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / method / description
        Previous value: -"Assembly method."New value: +"Assembly method. gibson/goldengate design the junction primers for bare fragments; restriction and topo build a product from a vector and an insert; lic and slic model T4-polymerase chew-back (sequence-defined and time-stopped respectively); infusion is In-Fusion/CPEC, 15 bp terminal homology with no exonuclease, and works out the fragment ORDER for itself."
      • changedInput schema / properties / method / enum
        Previous value: -[
        -  "gibson",
        -  "goldengate",
        -  "restriction",
        -  "topo"
        -]New value: +[
        +  "gibson",
        +  "goldengate",
        +  "restriction",
        +  "topo",
        +  "lic",
        +  "slic",
        +  "infusion"
        +]
      • changedInput schema / properties / vector / description
        Previous value: -"Vector sequence (restriction method)."New value: +"Vector sequence (restriction, topo and lic methods; for lic, the LINEARISED vector)."
      • addedInput schema / properties / vectorNucleotide
        Added value: +{
        +  "description": "lic method: the single dNTP the VECTOR's chew-back was run with (T for dTTP…). Required — T4 pol's exonuclease stops at the first occurrence of this base reading inward from each 3′ end, so there is no answer without it.",
        +  "enum": [
        +    "A",
        +    "C",
        +    "G",
        +    "T"
        +  ],
        +  "type": "string"
        +}
    • Addedparts_library_search
    • Addedsanger_plate_verify
    • Changedsequence_format_convert1 field changed
      • changedInput schema / properties / to / description
        Previous value: -"Output format. fasta-cds / fasta-protein extract CDS features (GenBank input only)."New value: +"Output format. fasta-cds / fasta-protein extract CDS features (GenBank input only). GenBank in and 'genbank' out rewrites the record with its features, qualifiers and topology intact — it is a rewrite, not a re-annotation."
    • Addedvector_library_get
    • Addedvector_library_search
    • Changedverify_assembly10 fields changed
      • addedInput schema / properties / chewBackLen
        Added value: +{
        +  "default": 0,
        +  "description": "slic method: nucleotides removed from each 3′ end. A SLIC chew-back has no dNTP to arrest it and is stopped by time, so this is an input rather than a property of the sequence. 0 (default) models the intended reaction — chewed to the full homology and no further.",
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • changedInput schema / properties / fragments / description
        Previous value: -"Fragments (5′→3′), assembled head-to-tail (gibson/goldengate). BARE parts only — for gibson do NOT include the homology arms, which are added by the assembly primers and merged (so the product is fragment1+…+fragmentN). Use \"\" as a placeholder for any fragment supplied instead via the matching fragmentPcrs[i]."New value: +"Fragments (5′→3′), assembled head-to-tail (gibson/goldengate/slic/infusion). BARE parts only — for gibson do NOT include the homology arms, which are added by the assembly primers and merged (so the product is fragment1+…+fragmentN). The convention is the OPPOSITE for slic and infusion: there the homology must already BE on the fragments (it arrived on the PCR primer tails), and infusion derives the ORDER from those homologies, so the order listed here is ignored. Use \"\" as a placeholder for any fragment supplied instead via the matching fragmentPcrs[i]."
      • addedInput schema / properties / fragments / maxItems
        Added value: +24
      • addedInput schema / properties / homologyLen
        Added value: +{
        +  "default": 15,
        +  "description": "infusion method: terminal homology required at every junction, in bp. At least 15 — the junction is annealed and extended by a polymerase with no exonuclease to widen it and no ligase to seal it, so a shorter overlap is a different chemistry rather than a weaker version of this one.",
        +  "minimum": 15,
        +  "type": "integer"
        +}
      • changedInput schema / properties / insert / description
        Previous value: -"Insert sequence (restriction method). Omit if insertPcr is given."New value: +"Insert sequence (restriction and lic methods). Omit if insertPcr is given."
      • addedInput schema / properties / insertNucleotide
        Added value: +{
        +  "description": "lic method: the single dNTP the INSERT's chew-back was run with. Normally the COMPLEMENT of vectorNucleotide (the classic pair is dTTP on the vector, dATP on the insert).",
        +  "enum": [
        +    "A",
        +    "C",
        +    "G",
        +    "T"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / method / description
        Previous value: -"Assembly method used."New value: +"Assembly method used. restriction/gibson/goldengate are the primer-and-enzyme methods; lic and slic re-run the T4-polymerase chew-back (sequence-defined and time-stopped respectively) and infusion is In-Fusion/CPEC. Anything else is refused rather than substituted — see the note on \"topo\"."
      • changedInput schema / properties / method / enum
        Previous value: -[
        -  "restriction",
        -  "gibson",
        -  "goldengate"
        -]New value: +[
        +  "restriction",
        +  "gibson",
        +  "goldengate",
        +  "lic",
        +  "slic",
        +  "infusion"
        +]
      • changedInput schema / properties / vector / description
        Previous value: -"Vector sequence (restriction method). Omit if vectorPcr is given."New value: +"Vector sequence (restriction and lic methods; for lic, the LINEARISED vector). Omit if vectorPcr is given."
      • addedInput schema / properties / vectorNucleotide
        Added value: +{
        +  "description": "lic method: the single dNTP the VECTOR's chew-back was run with (T for dTTP…). Required — T4 pol's exonuclease stops at the first occurrence of this base reading inward from each 3′ end, so there is no product to check against without it.",
        +  "enum": [
        +    "A",
        +    "C",
        +    "G",
        +    "T"
        +  ],
        +  "type": "string"
        +}
  6. 5 tool updates
    • Changedcloning_simulate1 field changed
      • addedInput schema / properties / mergePreAddedArms
        Added value: +{
        +  "default": true,
        +  "description": "Gibson only. When two fragments already share terminal sequence, count that share ONCE (the default — it is a homology arm the fragments already carry) or set false to concatenate it twice. The second reading is the right one when the shared block is a genuine tandem repeat, e.g. a 2x tag or enhancer split between its copies: nothing in the two fragments can tell the two apart, so the choice belongs to the caller. Either way the share is reported in preAddedArms and both readings are returned in `readings`.",
        +  "type": "boolean"
        +}
    • Changedgolden_gate_from_parts5 fields changed
      • changedInput schema / properties / enzyme / description
        Previous value: -"Type IIS enzyme (BsaI, BsmBI, BbsI, SapI)."New value: +"Type IIS enzyme (BsaI, BsmBI, BbsI, SapI). NEB's variant names (BsaI-HFv2, BbsI-HF, BsmBI) fold to the parent enzyme; any other name is rejected rather than substituted, since site, spacer and overhang length are all enzyme-specific."
      • addedInput schema / properties / enzyme / enum
        Added value: +[
        +  "BsaI",
        +  "BsmBI",
        +  "BbsI",
        +  "SapI"
        +]
      • changedInput schema / properties / parts / description
        Previous value: -"The part plasmids: [{ name, sequence, circular }]. Each needs two Type IIS sites facing INWARDS at the part. `circular` defaults to true, which is what a level-0 part plasmid is."New value: +"The part plasmids: [{ name, sequence, circular }]. Each needs two Type IIS sites facing INWARDS at the part. `circular` defaults to true, which is what a level-0 part plasmid is. 2-24 parts, each at most 30,000 bp and 200,000 bp in total."
      • addedInput schema / properties / parts / maxItems
        Added value: +24
      • addedInput schema / properties / parts / minItems
        Added value: +2
    • Changedprimer_specificity1 field changed
      • addedInput schema / properties / intendedTemplate
        Added value: +{
        +  "description": "The template these primers are meant to amplify. Only their annealing footprints are read from it, so an amplicon, a plasmid or a cassette is always enough (at most 1,000,000 bp). Passing it is what makes closestCompetitorMargin true for a primer carrying a 5' tail: a tail is non-templated by definition, so nothing about the oligo says where it ends, and without a template the screen has to assume the whole oligo anneals — which credits the intended reaction with a duplex the tail cannot form ANYWHERE and inflates every margin by that tail's own free energy. Searched on both strands as given; a primer that cannot be found on it is an error rather than a silent fall back to the whole oligo.",
        +  "type": "string"
        +}
    • Changedrestriction_sites1 field changed
      • changedInput schema / properties / enzymes / description
        Previous value: -"Enzyme names to scan; omit to scan all curated enzymes."New value: +"Enzyme names to scan; omit to scan the curated common-enzyme set. A name is resolved against the curated set, the Type IIS cutters and the generated REBASE table, case-, punctuation- and HF/v2-variant-insensitively, so \"ecori\", \"EcoRI-HF\", \"BsaI\" and \"BsmFI\" all resolve. A name that resolves to nothing is REJECTED rather than dropped — an unscanned enzyme reported as having no sites is indistinguishable from one that genuinely does not cut."
    • Changedverify_assembly6 fields changed
      • addedInput schema / properties / dephosphorylateVector
        Added value: +{
        +  "default": false,
        +  "description": "The linearised vector was CIP/rSAP-dephosphorylated (restriction method). Affects the self-ligation background warnings, not the product.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / enzyme3 / description
        Previous value: -"3′ enzyme (restriction method)."New value: +"Insert 3′ enzyme (restriction method)."
      • changedInput schema / properties / enzyme5 / description
        Previous value: -"5′ enzyme (restriction method)."New value: +"Insert 5′ enzyme (restriction method)."
      • addedInput schema / properties / mergePreAddedArms
        Added value: +{
        +  "default": true,
        +  "description": "Gibson only. When two fragments already share terminal sequence, count that share ONCE (the default — the fragments already carry their arm) or set false to concatenate it twice, which is the right reading when the shared block is a genuine tandem repeat. You should rarely need this: the check tries BOTH readings and reports which one matched in `matchedCandidate`. Setting it restricts the check to one.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / vectorEnzyme3
        Added value: +{
        +  "description": "Vector 3′ enzyme (restriction method); defaults to enzyme3.",
        +  "type": "string"
        +}
      • addedInput schema / properties / vectorEnzyme5
        Added value: +{
        +  "description": "Vector 5′ enzyme (restriction method); defaults to enzyme5. Set a different, compatible enzyme (e.g. BglII for a BamHI insert) to verify heterologous-overhang cloning.",
        +  "type": "string"
        +}
  7. 1 tool update
    • Addedgolden_gate_from_parts
  8. 1 tool update
    • Addedligation_setup
  9. 6 tool updates
    • Addedassembly_outcomes
    • Addedband_traceback
    • Addeddiagnostic_digest
    • Addedmultiplex_panel_design
    • Addedrepeat_instability
    • Addedsanger_indel_spectrum
  10. 2 tool updates
    • Addedoligo_cofold
    • Addedprime_editing_efficiency
  11. 1 tool update
    • Changedsequencing_readback_verify1 field changed
      • addedInput schema / properties / circular
        Added value: +{
        +  "default": false,
        +  "description": "Treat the reference as a circular molecule (plasmid). Reads that straddle its arbitrary linear start are then aligned right through the join instead of being cut short there, so variants in the part that would otherwise be clipped away are actually called. Turn this on for whole-plasmid data — the reads begin wherever the molecule was cut, so most of them cross the join. Reads longer than the reference still get clipped.",
        +  "type": "boolean"
        +}
  12. 2 tool updates
    • Addedrbs_design
    • Addedrbs_predict
  13. 10 tool updates
    • Changedcloning_simulate1 field changed
      • changedInput schema / properties / enzyme / description
        Previous value: -"Type IIS enzyme for Golden Gate (e.g. BsaI, BbsI, Esp3I (BsmBI))."New value: +"Type IIS enzyme for Golden Gate — one of BsaI, BbsI, Esp3I (BsmBI); \"BsmBI\" also resolves to Esp3I. Any other name is rejected rather than substituted."
    • Changedcodon_optimize2 fields changed
      • addedInput schema / properties / inputType
        Added value: +{
        +  "default": "auto",
        +  "description": "How to read `protein`. 'auto' guesses from the alphabet (>90% ACGTUN reads as DNA), which mis-files genuine Ala/Cys/Gly/Thr/Asn-only peptides — set 'protein' or 'dna' to force it.",
        +  "enum": [
        +    "auto",
        +    "protein",
        +    "dna"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / protein / description
        Previous value: -"Protein sequence (one-letter codes). Coding DNA/RNA is accepted and translated (frame +1) first."New value: +"Protein sequence (one-letter codes). Coding DNA/RNA is accepted and translated in frame +1 up to the first stop codon (residues after an in-frame stop are NOT optimised)."
    • Changedconstruct_qc1 field changed
      • changedInput schema / properties / avoidEnzymes / description
        Previous value: -"Enzyme names whose internal sites should be flagged as errors."New value: +"Enzyme names whose internal sites should be flagged as errors. Matched against the curated common-enzyme set plus the Golden Gate Type IIS enzymes (BsaI, BbsI, Esp3I/BsmBI); an unrecognised name is rejected, never skipped."
    • Changedcrispr_offtarget_check3 fields changed
      • changedInput schema / properties / maxMismatches / description
        Previous value: -"Mismatches tolerated between the protospacer and a candidate genomic site. Does not affect runtime — candidate sites come from exact seed matches."New value: +"Mismatches tolerated between the protospacer and a candidate genomic site. Max 4 — a complete search seeds on maxMismatches+1 non-overlapping blocks, and past that the blocks are too short to be selective against a multi-Mb genome (a site that mismatched more would not be cut anyway)."
      • addedInput schema / properties / maxMismatches / maximum
        Added value: +4
      • addedInput schema / properties / maxMismatches / minimum
        Added value: +0
    • Changedexpression_heatmap_cluster1 field changed
      • changedInput schema / properties / zScoreRows / description
        Previous value: -"Row-wise z-score each gene's values before returning (the conventional 'relative expression' heatmap normalization)."New value: +"Row-wise z-score each gene's values before clustering and returning (the conventional 'relative expression' heatmap normalization — the dendrograms are computed on the same scaled matrix the heatmap shows, as in seaborn's clustermap(z_score=0) / pheatmap's scale=\"row\")."
    • Changedkasp_primer_design2 fields changed
      • changedInput schema / properties / snpPosition / description
        Previous value: -"1-based position of the SNP on the forward strand."New value: +"1-based position of the SNP on the forward strand. Must be 18 or greater: the allele-specific primers end on the SNP, so they need at least 17 bp of upstream template to build a core from."
      • addedInput schema / properties / snpPosition / minimum
        Added value: +18
    • Changedpairwise_alignment4 fields changed
      • changedInput schema / properties / gap / description
        Previous value: -"Linear gap penalty (per gap position)."New value: +"Affine gap EXTEND penalty, charged per gap position (including the first)."
      • addedInput schema / properties / gapOpen
        Added value: +{
        +  "description": "Extra one-off penalty charged on top of gap for a gap's first position. Defaults to 1.5 * gap, so a k-base gap costs gap * (k + 1.5) and one contiguous k-base indel is cheaper than k scattered 1-base gaps. Pass 0 for a purely linear penalty.",
        +  "type": "number"
        +}
      • addedInput schema / properties / mode / description
        Added value: +"\"global\" penalises end gaps in both sequences; \"local\" returns the best-scoring subalignment; \"semiglobal\" is a fitting alignment — seqB is consumed end to end while seqA's terminal overhangs are free and are not emitted, so a partial read placed on a longer reference is not smeared across it."
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "global",
        -  "local"
        -]New value: +[
        +  "global",
        +  "local",
        +  "semiglobal"
        +]
    • Changedprimer_specificity3 fields changed
      • changedInput schema / properties / maxMismatches / description
        Previous value: -"Mismatches tolerated per primer against a reference genome."New value: +"Mismatches tolerated per primer against a reference genome. Capped at 4 — past that a primer would not extend anyway. No primer length is refused for raising this: the pigeonhole seed just gets shorter and less selective, so more candidate sites are verified and the call takes longer (an 18-mer over the bundled genomes runs in ~0.1 s at 0 and ~1.5 s at 4). A short primer at a high setting can still exceed the binding-site pairing limit and come back \"unsupported\" — a 13-mer at 4 binds too many places to pair up, where an 18-mer screens fine — and either primer under 13 nt is not screened at all (ambiguousSeed: true, no amplicons)."
      • addedInput schema / properties / maxMismatches / maximum
        Added value: +4
      • addedInput schema / properties / maxMismatches / minimum
        Added value: +0
    • Changedverify_assembly3 fields changed
      • changedInput schema / properties / enzyme / description
        Previous value: -"Type IIS enzyme for Golden Gate."New value: +"Type IIS enzyme for Golden Gate — one of BsaI, BbsI, Esp3I (BsmBI); \"BsmBI\" also resolves to Esp3I, and NEB's variant names (BsaI-HFv2, BbsI-HF, BsmBI-v2) fold to the parent enzyme. Any other name fails the verification outright rather than being substituted."
      • changedInput schema / properties / fragments / description
        Previous value: -"Fragments (5′→3′), assembled head-to-tail (gibson/goldengate). Use \"\" as a placeholder for any fragment supplied instead via the matching fragmentPcrs[i]."New value: +"Fragments (5′→3′), assembled head-to-tail (gibson/goldengate). BARE parts only — for gibson do NOT include the homology arms, which are added by the assembly primers and merged (so the product is fragment1+…+fragmentN). Use \"\" as a placeholder for any fragment supplied instead via the matching fragmentPcrs[i]."
      • changedInput schema / properties / overlapLen / description
        Previous value: -"Gibson homology-arm length (bp)."New value: +"Gibson homology-arm length (bp) that the assembly PRIMERS add at each junction. Since the fragments themselves must not carry their arms, this describes the junction/primer design only — it does not change the predicted product length or the verdict."
    • Changedvirtual_gel1 field changed
      • changedInput schema / properties / enzymes / description
        Previous value: -"Enzyme names to digest with."New value: +"Enzyme names to digest with, from the curated common-enzyme set (see restriction_sites for the full list). An unrecognised name is rejected rather than skipped, so an empty band pattern always means \"no sites\"."
  14. 5 tool updates
    • Changedcrispr_offtarget_check3 fields changed
      • changedInput schema / properties / maxMismatches / description
        Previous value: -"Mismatches tolerated between the protospacer and a candidate genomic site."New value: +"Mismatches tolerated between the protospacer and a candidate genomic site. Does not affect runtime — candidate sites come from exact seed matches."
      • changedInput schema / properties / protospacer / description
        Previous value: -"The guide's protospacer sequence, 5'→3' (no PAM)."New value: +"The guide's protospacer sequence, 5'→3' (no PAM). Max 32 nt — every supported nuclease uses a 20–23 nt guide."
      • addedInput schema / properties / protospacer / maxLength
        Added value: +32
    • Changedin_silico_pcr3 fields changed
      • changedInput schema / properties / maxMismatches / description
        Previous value: -"Mismatches tolerated per primer."New value: +"Mismatches tolerated per primer (0–10)."
      • addedInput schema / properties / maxMismatches / maximum
        Added value: +10
      • addedInput schema / properties / maxMismatches / minimum
        Added value: +0
    • Changedprimer_design2 fields changed
      • addedInput schema / properties / lenMax / maximum
        Added value: +100
      • addedInput schema / properties / lenMax / minimum
        Added value: +1
    • Changedverify_assembly3 fields changed
      • changedInput schema / properties / fragmentPcrs / description
        Previous value: -"Parallel to fragments, same length: null (or omit) to use fragments[i] directly, or a PCR spec {template, forwardPrimer, reversePrimer, maxMismatches?, circular?} to derive that fragment instead."New value: +"Parallel to fragments, same length: null (or omit) to use fragments[i] directly, or a PCR spec {template, forwardPrimer, reversePrimer, maxMismatches? (0-10), circular?} to derive that fragment instead."
      • changedInput schema / properties / insertPcr / description
        Previous value: -"Derive the insert by PCR instead: {template, forwardPrimer, reversePrimer, maxMismatches?, circular?}."New value: +"Derive the insert by PCR instead: {template, forwardPrimer, reversePrimer, maxMismatches? (0-10), circular?}."
      • changedInput schema / properties / vectorPcr / description
        Previous value: -"Derive the vector by PCR instead: {template, forwardPrimer, reversePrimer, maxMismatches?, circular?}."New value: +"Derive the vector by PCR instead: {template, forwardPrimer, reversePrimer, maxMismatches? (0-10), circular?}."
    • Changedverify_construct3 fields changed
      • changedInput schema / properties / maxPrimerMismatches / description
        Previous value: -"Mismatches tolerated per primer during PCR prediction."New value: +"Mismatches tolerated per primer during PCR prediction (0–10)."
      • addedInput schema / properties / maxPrimerMismatches / maximum
        Added value: +10
      • addedInput schema / properties / maxPrimerMismatches / minimum
        Added value: +0
  15. 1 tool update
    • Changedplasmid_deep_annotate1 field changed
      • changedInput schema / properties / sequence / description
        Previous value: -"Nucleotide sequence (raw or FASTA; IUPAC accepted)."New value: +"Nucleotide sequence (raw or FASTA). A, C, G, T, N only — other IUPAC codes are rejected rather than silently dropped, because pLannotate's search engines discard them and every coordinate after would shift. Max 30,000 bp."
  16. 1 tool update
    • Changedrestriction_sites1 field changed
      • addedInput schema / properties / circular
        Added value: +{
        +  "default": false,
        +  "description": "Treat the sequence as circular (plasmid) so sites spanning the origin are found.",
        +  "type": "boolean"
        +}

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI-assisted molecular biology experiment design with tools for qPCR primer design, cloning strategy optimization, TaqMan probe design, and multiplex compatibility analysis.
    6
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server offering verified bioinformatics tools for sequence utilities and statistics, backed by BioPython/scipy. Enables AI agents to perform accurate GC content, translation, ORF finding, motif scanning, and statistical tests through natural language.
    11
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation4/5

Most tools have highly specific purposes (e.g., crispr_grna_design vs base_editing_design vs prime_editing_design). However, there is some overlap in sequence analysis tools (characterize_sequence, sequence_report) and plasmid annotation tools (plasmid_annotate vs plasmid_deep_annotate) which could cause confusion.

Naming Consistency3/5

The naming pattern is largely consistent with snake_case verb_noun or noun_descriptor (e.g., primer_design, plasmid_annotate, fastq_trim). However, there are exceptions like 'batch', 'workflow', 'gc_content', and 'cloning_diagnose' which don't follow the verb_noun pattern consistently. Also, some names are phrases like 'golden_gate_from_parts'.

Tool Count2/5

With 101 tools, this server is extremely large and likely overwhelming for agents. Even for a comprehensive bioinformatics toolkit, this exceeds a manageable scope, risking agent confusion and inefficient tool selection. A more modular approach would be advisable.

Completeness4/5

The tool surface covers a wide range of bioinformatics workflows including sequence analysis, primer design, cloning, CRISPR, NGS, expression analysis, and data export. There are minor gaps such as lack of a dedicated protein structure prediction tool and limited off-target genome coverage, but overall the set is impressively complete for its domain.

Resources