Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.seqbench/workbench

REMOTE · SEQBENCH.COM · SCANNED SEP 24

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

Available components

0 this week 78 Trust /100

Recent critical change

Authorization (15 Sept 2026). See the changelog before you install this server.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability75
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 43409 tokens (~333/item across 130 items; 130 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 96% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 130 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 131 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the com.seqbench/workbench MCP server?

com.seqbench/workbench is a hosted endpoint at https://seqbench.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · seqbench.com

# add to Claude Code
claude mcp add --transport http com-seqbench-workbench 'https://seqbench.com/api/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-seqbench-workbench": {
      "url": "https://seqbench.com/api/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-seqbench-workbench": {
      "type": "http",
      "url": "https://seqbench.com/api/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-seqbench-workbench]
url = "https://seqbench.com/api/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-seqbench-workbench": {
      "type": "remote",
      "url": "https://seqbench.com/api/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-seqbench-workbench --url 'https://seqbench.com/api/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-seqbench-workbench:
    url: "https://seqbench.com/api/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-seqbench-workbench": {
      "Transport": "http",
      "Url": "https://seqbench.com/api/mcp"
    }
  }
}
# add to Vellum
assistant mcp add com-seqbench-workbench -t streamable-http -u 'https://seqbench.com/api/mcp'
// mcp.json
{
  "mcpServers": {
    "com-seqbench-workbench": {
      "type": "http",
      "url": "https://seqbench.com/api/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “rbs_design” rewrote its description, which is the text the model reads security
    • Tool “rbs_library_design” rewrote its description, which is the text the model reads security
    • Tool “rbs_predict” rewrote its description, which is the text the model reads security
    • Tool “synthesis_complexity” rewrote its description, which is the text the model reads security
    • New tool “barcode_audit” functional
    • New tool “barcode_design” functional
    • New tool “riboswitch_states” functional
  • 19 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “multiple_sequence_alignment” rewrote its description, which is the text the model reads security
    • Tool “rbs_design” rewrote its description, which is the text the model reads security
    • Tool “rbs_predict” rewrote its description, which is the text the model reads security
    • Schema quality: 38105 → 42027 ▼ functional
    • New tool “elsa_capacity” functional
    • New tool “elsa_design” functional
    • New tool “nonrepetitive_parts_design” functional
    • New tool “nonrepetitive_parts_find” functional
    • New tool “operon_design” functional
    • New tool “operon_scan” functional
    • New tool “promoter_library_design” functional
    • New tool “rbs_library_design” functional
    • New tool “rbs_occlusion” functional
    • New tool “synthesis_complexity” functional
    • “characterize_sequence” reworded the description of “sequence” cosmetic
    • “multiple_sequence_alignment” reworded the description of “input” cosmetic
  • 18 Sept 26 0
    • Tool “rbs_design” rewrote its description, which is the text the model reads security
    • Tool “rbs_predict” rewrote its description, which is the text the model reads security
  • 15 Sept 26 0
    • Authorization: unverified → fail ▼ critical
    • The server rewrote its instructions, which are the text every model session reads security
    • The server changed its declared name: SeqBench MCP → com.seqbench/workbench security
    • Tool “assembly_outcomes” rewrote its description, which is the text the model reads security
    • Tool “base_edit_quant” rewrote its description, which is the text the model reads security
    • Tool “batch” rewrote its description, which is the text the model reads security
    • Tool “cloning_simulate” rewrote its description, which is the text the model reads security
    • Tool “codon_optimize” rewrote its description, which is the text the model reads security
    • Tool “crispr_ontarget” rewrote its description, which is the text the model reads security
    • Tool “golden_gate_design” rewrote its description, which is the text the model reads security
    • Tool “melting_temperature” rewrote its description, which is the text the model reads security
    • Tool “oligo_analysis” rewrote its description, which is the text the model reads security
    • Tool “oligo_cofold” rewrote its description, which is the text the model reads security
    • Tool “oligo_pool_screen” rewrote its description, which is the text the model reads security
    • Tool “parse_snapgene” rewrote its description, which is the text the model reads security
    • Tool “prime_editing_efficiency” rewrote its description, which is the text the model reads security
    • Tool “primer_specificity” rewrote its description, which is the text the model reads security
    • Tool “rbs_design” rewrote its description, which is the text the model reads security
    • Tool “rbs_predict” rewrote its description, which is the text the model reads security
    • Tool “rna_fold” rewrote its description, which is the text the model reads security
    • Tool “sirna_design” rewrote its description, which is the text the model reads security
    • Tool “vector_library_get” rewrote its description, which is the text the model reads security
    • Tool “vector_library_search” rewrote its description, which is the text the model reads security
    • Tool “workflow” rewrote its description, which is the text the model reads security
    • Tool “save_permalink” is now declared destructive security
    • Tool “session_run” is now declared destructive security
    • Tool “session_set” is now declared destructive security
    • MCP protocol: Implements a current MCP spec version (2026-07-28). functional
    • MCP protocol version: 2025-11-25 → 2026-07-28 functional
    • Server version: 1.1.0 → 2.0.0 functional
    • New tool “primer_site_accessibility” functional
    • New tool “promoter_predict” functional
    • New tool “trace_diagnose” functional
    • “base_edit_quant” reworded the description of “targetPosition” cosmetic
    • “batch” reworded the description of “input” cosmetic
    • “batch” reworded the description of “tool” cosmetic
    • “cloning_diagnose” reworded the description of “annealingTempC” cosmetic
    • “cloning_diagnose” reworded the description of “enzymes” cosmetic
    • “cloning_next_observation” reworded the description of “annealingTempC” cosmetic
    • “cloning_next_observation” reworded the description of “enzymes” cosmetic
    • “cloning_simulate” reworded the description of “vector” cosmetic
    • “codon_optimize” reworded the description of “protein” cosmetic
    • “construct_qc” reworded the description of “avoidEnzymes” cosmetic
    • “diagnostic_digest” reworded the description of “enzymes” cosmetic
    • “editing_plate_quantify” reworded the description of “controlChannels” cosmetic
    • “golden_gate_design” reworded the description of “dataset” cosmetic
    • “kasp_primer_design” reworded the description of “addSecondaryMismatch” cosmetic
    • “oligo_cofold” reworded the description of “b” cosmetic
    • “pairwise_alignment” reworded the description of “mode” cosmetic
    • “sequencing_readback_verify” reworded the description of “minSvSupport” cosmetic
    • “sequencing_readback_verify” reworded the description of “platform” cosmetic
    • “variant_to_construct” reworded the description of “addSecondaryMismatch” cosmetic
    • “verify_assembly” reworded the description of “dephosphorylateVector” cosmetic
    • “verify_assembly” reworded the description of “vector” cosmetic
    • “virtual_gel” reworded the description of “enzymes” cosmetic
    • “workflow” reworded the description of “input” cosmetic
    • Tool “codon_adaptation_index” changed its title: CAI analyser → CAI analyzer cosmetic
    • Tool “codon_optimize” changed its title: Codon optimiser → Codon optimizer cosmetic
  • 14 Sept 26 0
    • Tool “id_map_submit” rewrote its description, which is the text the model reads security
    • Tool “protease_digestion” rewrote its description, which is the text the model reads security
    • “id_map_submit” reworded the description of “ids” cosmetic
    • “plasmid_deep_annotate” reworded the description of “sequence” cosmetic
    • “rbs_design” reworded the description of “cds” cosmetic
    • “rbs_predict” reworded the description of “sequence” cosmetic
  • 13 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “crispr_grna_design” rewrote its description, which is the text the model reads security
    • Schema quality: 33840 → 37769 ▼ functional
    • New tool “cloning_next_observation” functional
    • New tool “crispr_ontarget” functional
    • New tool “golden_gate_design” functional
    • New tool “outcome_deconvolve” functional
    • New tool “read_placement_plan” functional
    • New tool “sanger_assemble” functional
    • New tool “trace_secondary_peaks” functional
    • “primer_design” added an optional parameter “excludedRegions” cosmetic
    • “primer_design” added an optional parameter “gcClamp” cosmetic
    • “primer_design” added an optional parameter “maxPolyX” cosmetic
    • “primer_design” added an optional parameter “minThreePrimeDG” cosmetic
    • “sequence_format_convert” reworded the description of “to” cosmetic
  • 12 Sept 26 0
    • “sequencing_readback_verify” reworded the description of “reference” cosmetic

    1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.

  • 11 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “variant_annotate” rewrote its description, which is the text the model reads security
    • New tool “parse_snapgene” functional
    • “variant_annotate” reworded the description of “variant” cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 24 Sept 2026 · Probed https://seqbench.com/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=seqbench.com CN=YE2,O=Let's Encrypt,C=US 9 Aug 2026 7 Nov 2026 ECDSA 256 ECDSA-SHA384 66cea47aa65f5bcb38969e5c2581ea8989a
SANs: seqbench.com
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of seqbench.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
seqbench.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://seqbench.com/api/mcp Verified 200
http (plaintext) http://seqbench.com/api/mcp HTTPS enforced 301 https://seqbench.com/api/mcp
MCP tools · 130 exposed · ~43,273 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
alphafold_lookup ~73

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.

NameTypeReqDescription
accessionstringyesUniProt accession, e.g. "P04637".

No output schema declared.

No examples provided.

aso_design ~190

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.

NameTypeReqDescription
lengthinteger–Total gapmer length (nt). A real RNase H1 gapmer is 12-25.
targetstringyesNucleotide sequence (raw or FASTA; IUPAC accepted).
winginteger–Modified-wing length on each side (nt); the central gap = length − 2×wing, so 2×wing must be less than length.

No output schema declared.

No examples provided.

assembly_outcomes ~366

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-circularized — 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.

NameTypeReqDescription
circularboolean–Circular product. Only circular assemblies are covered — a linear product's leading end is a free terminus, not a junction.
datasetstring–Which ligation dataset to read overhang cross-talk from (Golden Gate only).
enzymestring–Golden Gate only — the Type IIS enzyme, which fixes the overhang length (BsaI, BbsI, Esp3I (BsmBI)).
fragmentsarrayyesThe parts in assembly order, raw or FASTA — the same list cloning_simulate takes. 2-8 parts.
maxAlternativesnumber–Cap on returned alternatives, most accessible first. The pre-cap count is always reported as alternativesEnumerated.
methodstring–How the parts are joined. Golden Gate junctions are the Type IIS fusion overhangs; Gibson junctions are the homology arms.
namesarray–Optional labels for the parts, in the same order ("backbone", "promoter", "CDS"). Used in every outcome label.
overlapLennumber–Gibson only — homology arm length, which must match what the assembly was designed with.

No output schema declared.

No examples provided.

band_traceback ~336

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.

NameTypeReqDescription
circularboolean–Template is circular (a plasmid).
forwardPrimerstringyesForward primer, 5'→3'.
maxCandidatesnumber–Cap on returned candidates, best-anchored first.
maxMismatchesnumber–Mismatches tolerated per primer while looking for sites (max 6). Higher finds more explanations and more coincidences.
observedSizenumberyesThe band size you measured off the gel, in bp.
reversePrimerstringyesReverse primer, 5'→3'.
templatestringyesThe template you amplified, raw or FASTA. Max 200,000 bp.
toleranceBpnumber–Override the tolerance with a fixed window in bp.
tolerancePercentnumber–How 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.

No output schema declared.

No examples provided.

barcode_audit ~218

Take a set of barcodes and report the minimum edit distance in it, which pairs sit at that distance, any duplicates, the GC range and the longest homopolymer. The pairs are the point: 'minimum distance 2' is a number, and 'these two barcodes are one substitution apart' is something to fix. Use before committing a pool you inherited or assembled by hand — a single close pair makes two constructs indistinguishable in the data and nothing downstream can detect it.

NameTypeReqDescription
barcodesstringyesThe barcodes, as FASTA, one per line, or comma-separated. Max 1,000, because every pair is compared.
metricstring–'levenshtein' counts substitutions, insertions and deletions — the right choice for nanopore or PacBio, and the safe default. 'hamming' counts substitutions only, which is faster and adequate when th…

No output schema declared.

No examples provided.

barcode_design ~489

Build a set of DNA barcodes that are pairwise at least a chosen edit distance apart, so a read error cannot turn one barcode in the pool into another. Honours a GC window, a homopolymer cap and excluded motifs (the restriction sites you clone with) during the search rather than filtering afterwards, and can extend a set you already have rather than replacing it. Reports the distance ACHIEVED — re-derived over the finished pool, not assumed from the search — plus how many read errors that distance lets you correct and detect. Deterministic given a seed. Returns fewer barcodes than asked, with a reason, when the constraints leave no room.

NameTypeReqDescription
countinteger–How many barcodes to design (max 1000). A plate is 96 or 384.
excludearray–Motifs no barcode may contain, checked on both strands — the restriction sites you clone with. Literal ACGT only.
existingarray–Barcodes you already use. They are held fixed and the new ones are kept distant from them, so a second plate does not collide with the first.
gcMaxnumber–Highest GC% a barcode may have.
gcMinnumber–Lowest GC% a barcode may have.
lengthinteger–Barcode length in bases (default 12). Longer barcodes make a given distance far easier to reach.
maxHomopolymerinteger–Longest run of one base allowed (default 3). Homopolymers miscall on every platform and are the one composition rule worth keeping tight.
metricstring–'levenshtein' counts substitutions, insertions and deletions — the right choice for nanopore or PacBio, and the safe default. 'hamming' counts substitutions only, which is faster and adequate when th…
minDistanceinteger–Minimum edit distance between any two barcodes (default 3). Distance 3 corrects one read error and detects two; distance 5 corrects two. Distance 1 only means 'not identical' and corrects nothing.
seedinteger–Seeds the search. Change it for a different set from the same constraints; keep it to reproduce one.

No output schema declared.

No examples provided.

base_edit_quant ~1,380

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 characterized. The bias is dire…

NameTypeReqDescription
controlBasesstringyesBase calls of the UNEDITED control read.
controlChannelsarrayyesPer-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).
editedBasesstringyesBase calls of the edited pool's read.
editedChannelsarrayyesPer-base [A, C, G, T] intensities of the edited read, same convention.
editorstring–Base 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 argume…
fromstring–Explicit-window mode: the base the editor converts, as READ on the control strand (C for a CBE read forward, G for one read reverse).
offsetnumber–Override 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…
protospacerstring–The 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…
targetPositionnumber–1-based CONTROL position of the intended edit. Give it when you know it: without it the most-edited significant position is labeled the target and the rest become bystanders, which relabels a bystand…
targetProtospacerPositionnumber–1-based protospacer position of the intended edit (PAM-distal = 1). Editor mode only.
tostring–Explicit-window mode: the base it converts to, as READ on the control strand.
windowEndnumber–Explicit window end, 1-based inclusive, in CONTROL coordinates. Window length is capped at 40.
windowStartnumber–Explicit window start, 1-based in CONTROL read coordinates. Requires windowEnd, from and to.
zThresholdnumber–Significance 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 thre…

No output schema declared.

No examples provided.

base_editing_design ~259

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).

NameTypeReqDescription
editorstring–Base editor: be3/be4max (CBE, C→T) or abe7.10/abe8e (ABE, A→G).
frameStartinteger–Optional 1-based CDS reading-frame start, to classify each edit's amino-acid consequence.
targetstringyesNucleotide sequence (raw or FASTA; IUPAC accepted).
targetPositioninteger–Optional 1-based forward-strand position of the base you intend to edit; only guides whose window covers it are returned.

No output schema declared.

No examples provided.

batch ~78

Run one batchable SeqBench tool over many records. Returns a table of per-record results and typed failures.

NameTypeReqDescription
argsobject–Shared arguments applied to every record.
inputstringyesMulti-FASTA or one sequence/identifier per line.
toolstringyesBatchable tool name (for example gc_content or translate).

No output schema declared.

No examples provided.

characterize_sequence ~137

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.

NameTypeReqDescription
endPrimerLengthinteger–Length of the naive end primers taken from each end.
maxOrfsinteger–Maximum number of ORFs to return, longest first.
minOrfAainteger–Minimum ORF length in amino acids (nucleotide input only).
sequencestringyesNucleotide or protein sequence (raw or FASTA; IUPAC accepted). The alphabet is detected.

No output schema declared.

No examples provided.

cloning_diagnose ~1,159

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.

NameTypeReqDescription
agarosePercentnumber–Agarose percentage of the gel. Snapped to the nearest tabulated value; decides the resolving window a band is placed against.
annealingTempCnumber–Annealing temperature actually used, °C. Compared against each primer's own nearest-neighbor Tm.
coloniesnumber–Colonies on the experimental plate. Omitting this is different from giving 0.
enzymesarray–The 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 unrecognized name is rejected rather than skipped: every…
gelBandsObservedBparray–Band sizes read off the lane, bp. An empty array ("I looked and there was nothing") is not the same as omitting the field.
hostMethylationstring–Dam/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…
insertSourcestring–Where 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.
ladderRanboolean–Was the ladder itself visible in the same gel? A true here eliminates the whole stain-and-imaging branch in one observation.
methodstringyesHow the construct was made. Decides which cause set applies and which design checks can run.
noDnaControlColoniesnumber–Colonies from the same cells and plate with NO DNA added. Non-zero means the plate is not selecting.
noInsertControlColoniesnumber–Colonies from the identical reaction with the insert (or one part) left out.
overlapLennumber–Gibson only — the homology arm length the assembly was designed with.
partNamesarray–Labels for the parts, in the same order ("backbone", "promoter", "CDS"). Used in every fact that names a part.
partsarray–Parts 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.
phosphataseTreatedboolean–Was the cut vector dephosphorylated (rSAP/CIP) before ligation?
plateAntibioticstring–Antibiotic on the plate. amp and carbenicillin count as the same selection (both select bla).
positiveControlColoniesnumber–Colonies from an intact, uncut plasmid into the same cell aliquot. Non-zero eliminates "the cells never took up DNA".
positiveControlSameMarkerboolean–Did 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.
primerForwardstring–Forward primer, up to 200 nt.
primerReversestring–Reverse primer, up to 200 nt.
screenedobject–Screening 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 compar…
symptomstringyesThe 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 ba…
templatestring–PCR template, raw or FASTA.
templateCircularboolean–Treat the template as a plasmid, so a product across the origin is found.
transformationEfficiencyCfuPerUgnumber–cfu/µg from a control transformation, where it was measured.
uncutVectorControlColoniesnumber–Colonies from the digested but UNLIGATED vector. Measures intact vector that survived the digest, with no help from the ligase.
vectorMarkerstring–Selection marker on the vector. Compared against the plate's antibiotic by identity, not by guessing at free text.

No output schema declared.

No examples provided.

cloning_next_observation ~1,102

Rank every observation you have not yet made by how many open causes it settles WHICHEVER WAY IT COMES OUT, then return the smallest set of observations that settles all of them. Takes the same arguments as cloning_diagnose. The ranking is computed by re-running the diagnosis at each possible outcome of each observation and intersecting, so every count is a worst case rather than an average — and causes that no observation can settle are named, because those need a different experiment rather than more observing. No probabilities anywhere.

NameTypeReqDescription
agarosePercentnumber–Agarose percentage of the gel. Snapped to the nearest tabulated value; decides the resolving window a band is placed against.
annealingTempCnumber–Annealing temperature actually used, °C. Compared against each primer's own nearest-neighbor Tm.
coloniesnumber–Colonies on the experimental plate. Omitting this is different from giving 0.
enzymesarray–The 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 unrecognized name is rejected rather than skipped: every…
gelBandsObservedBparray–Band sizes read off the lane, bp. An empty array ("I looked and there was nothing") is not the same as omitting the field.
hostMethylationstring–Dam/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…
insertSourcestring–Where 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.
ladderRanboolean–Was the ladder itself visible in the same gel? A true here eliminates the whole stain-and-imaging branch in one observation.
methodstringyesHow the construct was made. Decides which cause set applies and which design checks can run.
noDnaControlColoniesnumber–Colonies from the same cells and plate with NO DNA added. Non-zero means the plate is not selecting.
noInsertControlColoniesnumber–Colonies from the identical reaction with the insert (or one part) left out.
overlapLennumber–Gibson only — the homology arm length the assembly was designed with.
partNamesarray–Labels for the parts, in the same order ("backbone", "promoter", "CDS"). Used in every fact that names a part.
partsarray–Parts 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.
phosphataseTreatedboolean–Was the cut vector dephosphorylated (rSAP/CIP) before ligation?
plateAntibioticstring–Antibiotic on the plate. amp and carbenicillin count as the same selection (both select bla).
positiveControlColoniesnumber–Colonies from an intact, uncut plasmid into the same cell aliquot. Non-zero eliminates "the cells never took up DNA".
positiveControlSameMarkerboolean–Did 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.
primerForwardstring–Forward primer, up to 200 nt.
primerReversestring–Reverse primer, up to 200 nt.
screenedobject–Screening 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 compar…
symptomstringyesThe 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 ba…
templatestring–PCR template, raw or FASTA.
templateCircularboolean–Treat the template as a plasmid, so a product across the origin is found.
transformationEfficiencyCfuPerUgnumber–cfu/µg from a control transformation, where it was measured.
uncutVectorControlColoniesnumber–Colonies from the digested but UNLIGATED vector. Measures intact vector that survived the digest, with no help from the ligase.
vectorMarkerstring–Selection marker on the vector. Compared against the plate's antibiotic by identity, not by guessing at free text.

No output schema declared.

No examples provided.

cloning_simulate ~1,107

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 modeled 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.

NameTypeReqDescription
armTmTargetnumber–Target annealing Tm (°C) for primer arms.
chewBackLeninteger–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…
circularboolean–Produce a circular product.
dephosphorylateVectorboolean–CIP/rSAP-dephosphorylate the vector to suppress self-ligation background (restriction method).
enzymestring–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.
enzyme3string–Insert 3′ enzyme (restriction method).
enzyme5string–Insert 5′ enzyme (restriction method).
fragmentsarray–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…
homologyLeninteger–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…
insertstring–Insert sequence (restriction, topo and lic methods).
insertNucleotidestring–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…
mergePreAddedArmsboolean–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 secon…
methodstringyesAssembly 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 (sequen…
namesarray–Optional labels for each fragment.
overlapLeninteger–Gibson homology-arm length (bp).
topoModestring–TOPO chemistry (topo method): TA (Taq 3′-A), blunt, or directional (pENTR/D-TOPO, needs 5′-CACC on the insert).
vectorstring–Vector sequence (restriction, topo and lic methods; for lic, the LINEARIZED vector).
vectorEnzyme3string–Vector 3′ enzyme (restriction method); defaults to enzyme3.
vectorEnzyme5string–Vector 5′ enzyme (restriction method); defaults to enzyme5. Set a different, compatible enzyme (e.g. BglII for a BamHI insert) to model heterologous-overhang cloning.
vectorNucleotidestring–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 output schema declared.

No examples provided.

codon_adaptation_index ~111

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

NameTypeReqDescription
frameStartinteger–1-based position to start reading codons.
organismstring––
rareThresholdnumber–Relative adaptiveness (w) below this flags a codon as rare.
sequencestringyesCoding sequence (DNA/RNA; should start in-frame at ATG).

No output schema declared.

No examples provided.

codon_optimize ~148

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

NameTypeReqDescription
inputTypestring–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.
organismstring––
proteinstringyesProtein 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 optimized).

No output schema declared.

No examples provided.

construct_autofix ~270

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.

NameTypeReqDescription
avoidEnzymesarray–Enzyme names whose internal sites should be removed (e.g. ["BsaI","BsmBI"] for Golden Gate domestication).
crypticOrfMinAainteger–Minimum peptide length (aa) for a hidden alternate-frame ORF to be flagged.
frameStartinteger–1-based nucleotide where the reading frame begins.
gcHighnumber––
gcLownumber––
gcWindowinteger––
homopolymerMininteger––
maxPassesinteger–Repeat full passes until clean or no further progress.
organismstring–Codon-usage table to prefer among synonymous options.
sequencestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).

No output schema declared.

No examples provided.

construct_qc ~235

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

NameTypeReqDescription
avoidEnzymesarray–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 unrecognized name is r…
crypticOrfMinAainteger–Minimum peptide length (aa) for a hidden alternate-frame ORF to be flagged.
frameStartinteger–1-based nucleotide where the reading frame begins.
gcHighnumber–GC% above this flags a GC-rich window.
gcLownumber–GC% below this flags an AT-rich window.
gcWindowinteger–Sliding-window size (nt) for GC-extreme scanning.
homopolymerMininteger–Minimum run length to flag a homopolymer.
sequencestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).

No output schema declared.

No examples provided.

crispr_grna_design ~358

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 by Rule Set 3 (DeWeirdt et al., Nat Commun 2022) and by DeepHF. Rule Set 3 IS now shipped here, as crispr_ontarget, and unlike these two it carries a held-out calibration: on an independent tiling library, 87.7% / 74.9% / 82.0% of its lowest-scoring guides landed in the bottom two activity quintiles. Prefer it for SpCas9 with an NGG PAM; DeepHF is still not shipped. Treat these two 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.

NameTypeReqDescription
minScorenumber–Only return guides with a heuristic score at least this high (0–100).
nucleasestring–Nuclease id. Omit to just list the available nucleases (no scan is performed).
searchReverseStrandboolean–Also scan the reverse strand for guides.
sequencestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).

No output schema declared.

No examples provided.

crispr_hdr_donor ~489

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.

NameTypeReqDescription
armLengthinteger–Homology arm length (bp) on each side. Use ~30–60 for an ssODN donor, ~500–1000 for a dsDNA donor plasmid.
blockPamboolean–When 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-c…
designGenotypingPrimersboolean–Also design a primer pair (on the original targetSequence) whose product spans the edit site.
editEndinteger–1-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.
editStartinteger–1-based start of the region being replaced. Omit to derive from guideStart/guideEnd/guideStrand instead.
frameStartinteger–Optional 1-based CDS reading-frame start; makes the PAM-blocking mutation synonymous where possible.
guideEndinteger–1-based forward-strand end of the guide's protospacer.
guideStartinteger–1-based forward-strand start of the guide's protospacer (alternative to editStart/editEnd, for an insertion exactly at the cut site).
guideStrandstring–Strand the guide's protospacer is on.
nucleasestring–Needed only when deriving the cut site from guideStart/guideEnd/guideStrand.
replacementstringyesSequence to insert/substitute ("" for a pure deletion).
targetSequencestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).

No output schema declared.

No examples provided.

crispr_offtarget_check ~469

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.

NameTypeReqDescription
maxMismatchesinteger–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 sele…
nucleasestring–Nuclease id — determines the PAM pattern/side required at each candidate site.
protospacerstringyesThe guide's protospacer sequence, 5'→3' (no PAM). Max 32 nt — every supported nuclease uses a 20–23 nt guide.

No output schema declared.

No examples provided.

crispr_ontarget ~696

Score SpCas9 guides for on-target activity with Rule Set 3 (DeWeirdt et al., Nat Commun 2022) — the current successor to the Doench 2014 and CRISPRscan scores crispr_grna_design reports. Give a target sequence to find and score every NGG guide in it, or give 30-mer contexts directly. The tracrRNA MATTERS and is not cosmetic: Rule Set 3 models it as a feature, and the paper measures its accuracy dropping when the wrong one is specified. Returns a z-scored activity, which ranks guides against each other; it is not a percentage and not a probability of editing. PREDICTED, NOT MEASURED. Held out six datasets (23,629 context sequences) from training; Rule Set 3 (Sequence) had the highest Spearman correlation on three of the six. On a separate tiling library generated for the paper, with every spacer any model had seen removed, it significantly outperformed all other models (p < 0.002) when the correct tracrRNA was given. Calibration on that independent set: of the lowest-scoring guides, 87.7% / 74.9% / 82.0% landed in the bottom two activity quintiles (Hsu / Chen / DeWeirdt tracrRNA), and of the highest-scoring, 77.0% / 69.0% / 75.5% landed in the top two. No single held-out Spearman is quoted here because the paper reports it per gene as a distribution rather than as one figure, and inventing a headline number from a figure would be the fit-residual mistake in a different costume. Valid for: SpCas9 with an NGG PAM and a 20 nt spacer, scored over a 30-mer (4 nt upstream + spacer + PAM + 3 nt downstream) — nothing is padded, so a guide without that flank is skipped rather than estimated. Knockout activity in mammalian pooled screens with a U6/Pol III promoter; the authors expect it to generalize less well to Pol II-transcribed sgRNAs, and in vitro transcribed sgRNAs (as used in zebrafish) are known to be poorly predicted by models trained this way. The tracrRNA must be the one you will actually use. This is Rule Set 3 (Sequence) only: the Sequence+Target model, which add…

NameTypeReqDescription
contextsarray–30-mer contexts to score directly: 4 nt upstream + 20 nt spacer + PAM + 3 nt downstream. Give this OR `sequence`.
sequencestring–Target DNA to find NGG guides in. Give this OR `contexts`.
tracrstring–Which tracrRNA the guides will be paired with. Hsu2013 is the one in lentiCRISPRv2 and most published libraries; Chen2013 is the sgRNA(F+E) scaffold used by the Sanger/Yusa libraries. If you use the…

No output schema declared.

No examples provided.

cross_dimer ~60

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

NameTypeReqDescription
sequenceAstringyesFirst oligo (5'→3').
sequenceBstringyesSecond oligo (5'→3').

No output schema declared.

No examples provided.

diagnostic_digest ~342

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.

NameTypeReqDescription
agarosePercentnumber–Agarose 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 se…
alternativesarrayyesThe wrong constructs to screen against, 1-12. assembly_outcomes emits these ready-made as `forDiagnosticDigest`.
circularboolean–Treat every candidate as a circular plasmid.
enzymesarray–Restrict the search to these enzymes (e.g. the ones on your bench). Default is the whole curated set of 49. An unrecognized name is rejected rather than skipped, so "does not discriminate" always mea…
includePairsstring–Whether to search double digests. "auto" adds them only when no single enzyme separates everything.
intendedstringyesThe construct you designed, raw or FASTA.
maxSuggestionsnumber–How many ranked options to return.

No output schema declared.

No examples provided.

dna_molarity ~270

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.

NameTypeReqDescription
lengthinteger–Length in bp (dsDNA) or nt (ssDNA/ssRNA). Ignored when a sequence is given.
massNgnumber–Mass in nanograms.
sequencestring–Optional sequence — overrides length and gives an exact molar mass from base composition.
targetConcentrationnumber–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 C1V…
targetUnitstring–Unit for targetConcentration.
targetVolumeUlnumber–Final volume of the diluted sample, in µL.
typestring–Molecule type.
volumeUlnumber–Volume in microlitres (0 = unknown; needed for concentration).

No output schema declared.

No examples provided.

double_digest ~64

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

NameTypeReqDescription
enzymeAstringyesFirst enzyme name (e.g. EcoRI).
enzymeBstringyesSecond enzyme name (e.g. BamHI).

No output schema declared.

No examples provided.

editing_plate_quantify ~1,789

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-inv…

NameTypeReqDescription
altAllelestring–knockin mode: the bases installed in their place.
controlBasesstringyesBase calls of the ONE untreated control read (raw or FASTA).
controlChannelsarrayyesPer-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 mu…
cutPositionnumber–indel 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…
deletedLengthnumber–knockin mode: how many bases are deleted (deletion only).
editKindstring–knockin 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" i…
editPositionnumber–knockin 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 V…
editorstring–base 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/win…
fromstring–base mode: the base the editor converts, as READ on the control strand.
guardnumber–indel 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.
insertedSeqstring–knockin mode: the novel bases inserted (insertion only).
maxIndelnumber–indel and knockin modes: largest indel to fit, in bp — a whole number, 1-20. Out of range is rejected, not clamped.
modestringyesWhich 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 conversio…
protospacerstring–base mode: the 20-nt spacer, located in the CONTROL read (either strand; must match exactly once).
refAllelestring–knockin mode: the control bases the edit replaces (substitution and replacement). Checked against the control read once, before any well is fitted.
samplesarrayyesThe 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-…
targetPositionnumber–base 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…
targetProtospacerPositionnumber–base mode: 1-based protospacer position of the intended edit (PAM-distal = 1). Editor mode only.
tostring–base mode: the base it converts to, as READ on the control strand.
windowEndnumber–base mode: explicit window end, 1-based inclusive. Window length is capped at 40.
windowLengthnumber–indel and knockin modes: bases downstream used for the decomposition — a whole number, 20-300. Out of range is rejected, not clamped.
windowStartnumber–base mode: explicit window start, 1-based in CONTROL coordinates. Requires windowEnd, from and to.
zThresholdnumber–base 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.

No output schema declared.

No examples provided.

elsa_capacity ~120

Report how many promoters, sgRNA handles and neutral spacers are available at each maximum-shared-length threshold, and therefore the longest extra-long sgRNA array that can be built without reusing a part. Ask this before designing: the answer is a property of the measured parts collection, not of your guides, and it is the constraint that decides the design. Deterministic — it is a selection over a fixed table.

NameTypeReqDescription
lmaxinteger–Report a single threshold. Omit to get the whole curve from 8 to 24.

No output schema declared.

No examples provided.

elsa_design ~351

Build a multiplexed CRISPR array that expresses many sgRNAs from one cassette and shares no long stretch with itself. Twenty sgRNAs built the obvious way carry twenty copies of the same Cas9 scaffold, promoter and terminator — a construct that recombines in the cell and that synthesis vendors refuse — so this draws each transcription unit's parts from the measured non-repetitive collection of Reis et al. (2019), selecting ACROSS promoters, handles and spacers at once rather than within each type, then re-measures the assembled molecule for repeats the junctions created. Returns the sequence, an annotated GenBank file and the pool usage. Takes guides; it does not choose or score them — use crispr_grna_design and crispr_offtarget_check for that.

NameTypeReqDescription
guidesarrayyesThe 20 nt protospacers, in array order, WITHOUT their PAM. Strings, or {name, sequence} objects to label each unit. Max 27 — the size of the handle collection.
includeGenbankboolean–Return the annotated GenBank file.
insulateboolean–Place a neutral spacer between transcription units. Turning it off frees the spacer pool from the selection, which can let a longer array fit at a low lmax.
lmaxinteger–Longest stretch any two parts in the array may share, in bp (default 12). Lower is more stable and leaves fewer parts to choose from: the handle pool offers 12 at lmax 12, 18 at 15 and 24 at 20. Run…
namestring–LOCUS name for the GenBank output.

No output schema declared.

No examples provided.

export_echo_picklist ~253

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.

NameTypeReqDescription
reactionsarrayyesOne entry per PCR reaction, up to 96 (a single 96-well plate).

No output schema declared.

No examples provided.

export_opentrons_protocol ~252

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.

NameTypeReqDescription
protocolNamestring–Optional protocol name (used in the script's metadata).
reactionsarrayyesOne entry per PCR reaction, up to 96 (a single 96-well plate).

No output schema declared.

No examples provided.

export_plate_layout ~126

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.

NameTypeReqDescription
reactionsarrayyesOne entry per PCR reaction, up to 96 (a single 96-well plate).

No output schema declared.

No examples provided.

expression_heatmap_cluster ~272

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.

NameTypeReqDescription
clusterColsboolean–Cluster (reorder) samples.
clusterRowsboolean–Cluster (reorder) genes.
distanceMetricstring–correlation = 1 - Pearson r (the standard expression-heatmap default); euclidean = straight-line distance.
genesarrayyesRow (gene) labels.
linkagestring–average = UPGMA (standard default), complete = farthest-neighbor, single = nearest-neighbor.
samplesarrayyesColumn (sample) labels.
valuesarrayyesgenes x samples numeric matrix — one row per gene, in the same order as `genes`.
zScoreRowsboolean–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…

No output schema declared.

No examples provided.

fastq_qc_report ~126

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.

NameTypeReqDescription
inputstringyesFASTQ text: records of an '@id' header, sequence, '+' separator and quality line (four lines each).
qualityOffsetinteger–ASCII offset of the FASTQ quality string. 33 for anything modern, 64 for pre-1.8 Illumina.

No output schema declared.

No examples provided.

fastq_trim ~187

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.

NameTypeReqDescription
inputstringyesFASTQ text: records of an '@id' header, sequence, '+' separator and quality line (four lines each).
minLengthinteger–Reads shorter than this after trimming are dropped.
qualityOffsetinteger–ASCII offset of the FASTQ quality string. 33 for anything modern, 64 for pre-1.8 Illumina.
qualityThresholdinteger–3' quality-trim threshold (Phred score).

No output schema declared.

No examples provided.

find_orfs ~116

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

NameTypeReqDescription
limitinteger–How many ORFs to return, longest first. `count` always reports every ORF found and `truncated` says whether the list was cut.
minAaLengthinteger–Minimum protein length (aa) to report.
requireStopboolean–Only report ORFs terminated by a stop codon.
sequencestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).

No output schema declared.

No examples provided.

format_sequence ~125

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

NameTypeReqDescription
caseModestring––
convertstring–DNA→RNA (T→U) or RNA→DNA (U→T).
reverseboolean–Reverse the sequence (no complement).
sequencestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).
stripNonLettersboolean–Remove digits, spaces and gaps (keep letters only).
widthinteger–Line-wrap width; 0 = single line.

No output schema declared.

No examples provided.

functional_enrichment ~239

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).

NameTypeReqDescription
backgroundarray–Custom 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 w…
collectionsarray–Which term collections to test. Defaults to all four.
genesarrayyesQuery gene symbols (human, e.g. "TP53"). Case-insensitive. Capped at 5000.
maxTermSizeinteger–Skip terms/pathways with more than this many background genes (matches clusterProfiler's default).
minTermSizeinteger–Skip terms/pathways with fewer than this many background genes.

No output schema declared.

No examples provided.

gc_content ~41

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

NameTypeReqDescription
sequencestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).

No output schema declared.

No examples provided.

gene_dossier ~154

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.

NameTypeReqDescription
genestringyesA human gene symbol ("TP53") or Ensembl gene ID ("ENSG00000141510").

No output schema declared.

No examples provided.

gene_expression ~77

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.

NameTypeReqDescription
genestringyesA human gene symbol ("TP53") or Ensembl gene ID ("ENSG00000141510").

No output schema declared.

No examples provided.

gene_model ~78

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.

NameTypeReqDescription
genestringyesA human gene symbol ("TP53") or Ensembl gene ID ("ENSG00000141510").

No output schema declared.

No examples provided.

golden_gate_design ~430

CHOOSE a set of 4-base Golden Gate/MoClo junction overhangs, rather than scoring one you already have. Maximizes the fidelity of the set's WEAKEST junction against the same published T4-ligase ligation data golden_gate_fidelity scores with, subject to every member actually ligating well — an overhang can score a perfect ratio simply because nothing was ever measured cross-reacting with it, and 94% of the ligation matrix is zeros. Pin the overhangs your vector already commits you to with `fixed`, forbid others with `forbidden`, and give `junctions` when the junctions sit at real positions in real sequence and may only slide a few bases. Reports whether the search was exhaustive (provably the best available) or budget-limited (the best found).

NameTypeReqDescription
countintegeryesHow many junctions the assembly has, INCLUDING any given in `fixed`.
datasetstring–Which real ligation dataset to optimize against.
fixedarray–Overhangs that must appear — typically the ones the destination vector already commits you to. Scored like any other member; simply not swappable.
forbiddenarray–Overhangs the design may not use, whatever they score.
junctionsarray–One entry per junction still to be chosen, as {sequence, position, slide}: the construct sequence, the 1-based first base of the preferred overhang, and how many bases either side the junction may mo…
minCorrectSignalnumber–Reject any overhang whose own correct-join signal is below this. Defaults to the chosen dataset's MEDIAN diagonal (2,694 for generic T4, 520 for BsaI-HFv2 — they differ five-fold, which is why this i…

No output schema declared.

No examples provided.

golden_gate_fidelity ~250

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).

NameTypeReqDescription
compareToNamedSetstring–Also score this published reference set (see namedSetsAvailable in the output) alongside your candidate set, for comparison.
datasetstring–Which real ligation dataset to score against — generic T4 ligase, or an enzyme-specific one-pot dataset if that matches your actual digestion enzyme.
overhangsarrayyesThe candidate 4-base overhangs for one assembly (e.g. ["GGAG","TACT","AATG"]). At least 2, no duplicates.
riskThresholdnumber–Flag a pair as risky when the cross-reaction is at least this fraction of that pair's own total signal.

No output schema declared.

No examples provided.

golden_gate_from_parts ~303

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.

NameTypeReqDescription
enzymestring–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 overha…
partsarrayyesThe 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…

No output schema declared.

No examples provided.

hgvs_convert ~234

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.

NameTypeReqDescription
variantstringyesA 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…

No output schema declared.

No examples provided.

id_map_poll ~69

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.

NameTypeReqDescription
jobIdstringyes–

No output schema declared.

No examples provided.

Common questions

What is the com.seqbench/workbench MCP server?

com.seqbench/workbench is an MCP server listed in the public MCP registry as com.seqbench/workbench. Hosted DNA/RNA/protein tools: primers, oligos, PCR, cloning, CRISPR, alignment, batch & pipelines. This page covers its hosted endpoint (https://seqbench.com/api/mcp).

Is the com.seqbench/workbench MCP server safe to use?

com.seqbench/workbench scores 78 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the com.seqbench/workbench MCP server expose?

com.seqbench/workbench exposes 130 tools: reverse_complement, gc_content, translate, find_orfs, format_sequence, and 125 more. Their descriptions and schemas cost roughly 43,273 tokens of context every time the server is loaded.

Does the com.seqbench/workbench MCP server require authentication?

No. We connected to com.seqbench/workbench without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the com.seqbench/workbench MCP server still maintained?

com.seqbench/workbench is still listed as active in the MCP registry. We last reached this channel on 24 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.