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
id_map_submit ~302

Submit up to 100,000 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.

NameTypeReqDescription
fromstringyesSource id type: "Gene_Name", "Ensembl", "GeneID", "RefSeq_Protein", or "UniProtKB_AC-ID". UniProt's mapping graph is hub-and-spoke — see the "to" note.
idsarrayyesThe ids to map, up to 100000 (e.g. gene symbols, UniProt accessions, Ensembl gene IDs, Entrez GeneIDs, or RefSeq protein accessions, depending on "from").
taxIdstring–NCBI taxonomy id to disambiguate a gene symbol (only used when from="Gene_Name"). Defaults to human (9606) if omitted.
tostringyesTarget 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…

No output schema declared.

No examples provided.

in_silico_pcr ~357

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.

NameTypeReqDescription
circularboolean–Treat the template as circular (plasmid).
forwardPrimerstring–Primer 1, 5'→3'.
maxMismatchesinteger–Mismatches tolerated per primer (0–10).
maxProductLengthinteger–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 — ma…
reversePrimerstring–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…
templatestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).

No output schema declared.

No examples provided.

kasp_primer_design ~377

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.

NameTypeReqDescription
addSecondaryMismatchboolean–Engineer the internal ARMS destabilizing mismatch near the 3' end.
alleleAstringyesFirst allele (single base) — gets the FAM tail.
alleleBstringyesSecond allele (single base) — gets the HEX tail.
maxAmpliconinteger–Maximum amplicon length for the common reverse primer.
minAmpliconinteger–Minimum amplicon length for the common reverse primer.
snpPositionintegeryes1-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.
targetstringyesNucleotide sequence (raw or FASTA; IUPAC accepted).
targetCoreTmnumber–Target Tm (°C) for the allele-specific primer core (before the universal tail).

No output schema declared.

No examples provided.

ligation_setup ~382

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.

NameTypeReqDescription
insertLengthBpinteger–Insert length in bp. Use `inserts` instead for a multi-fragment assembly.
insertNgPerUlnumber–Insert stock concentration, ng/µL.
insertsarray–Multi-fragment assembly: one entry per insert, each with its own length, stock and molar equivalents. Overrides insertLengthBp/insertNgPerUl/molarRatio when present.
molarRationumber–Molar 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.
reactionVolumeUlnumber–Total reaction volume, µL.
vectorLengthBpintegeryesBackbone length in bp.
vectorNgnumber–How much backbone to put in the reaction, ng. This is the quantity you fix; every insert mass follows from the ratio.
vectorNgPerUlnumberyesBackbone stock concentration, ng/µL.
vectorSequencestring–Optional backbone sequence — gives an exact molar mass from base composition instead of the 650 g/mol/bp average.

No output schema declared.

No examples provided.

melting_temperature ~220

Primer/oligo melting temperature: nearest-neighbor (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.

NameTypeReqDescription
dntpMMnumber–Total [dNTP] (mM), chelates Mg2+.
mgMMnumber–Divalent cation [Mg2+] (mM).
naMMnumber–Monovalent cation [Na+]/[K+] (mM).
oligoNMnumber–Total strand concentration (nM).
sequencestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).
targetTmnumber–Optional target Tm (°C). When given, the response includes a pass/fail gate.
tmTolerancenumber–Allowed +/- window (°C) around targetTm for the gate.

No output schema declared.

No examples provided.

motif_finder ~141

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

NameTypeReqDescription
limitinteger–How many matches to return. `count` always reports every hit found and `truncated` says whether the list was cut.
maxMismatchesinteger–Maximum allowed mismatches per match.
motifstringyesQuery motif; IUPAC ambiguity codes (R Y S W K M B D H V N) allowed.
searchReverseStrandboolean–Also search the reverse strand.
sequencestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).

No output schema declared.

No examples provided.

multiple_sequence_alignment ~76

Center-star multiple sequence alignment of a multi-FASTA input — nucleotide or protein, detected from the records and reported as `type` — with consensus and per-column conservation.

NameTypeReqDescription
inputstringyesTwo or more sequences in multi-FASTA format (>name / sequence), nucleotide or protein. Up to 25 are aligned.

No output schema declared.

No examples provided.

multiplex_panel_design ~383

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.

NameTypeReqDescription
agarosePercentnumber–Gel 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, wh…
ampliconMaxnumber–Panel-wide default product size ceiling.
ampliconMinnumber–Panel-wide default product size floor, for targets that set none.
candidatesPerTargetnumber–Candidate pairs considered per target (max 6). More finds a panel where fewer cannot, at the cost of a larger search.
dimerThresholdDGnumber–Δ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.
internalDimerThresholdDGnumber–The looser bar for a cross-dimer that pairs internally and only sequesters primer.
maxTmSpreadnumber–Widest Tm difference tolerated across every primer in the panel, in °C — one annealing temperature has to serve all of them.
targetsarrayyes2-8 targets to amplify in one reaction.

No output schema declared.

No examples provided.

nonrepetitive_parts_design ~412

Build a set of new genetic parts that match a degenerate (IUPAC) template and share more than a chosen length with nothing — not each other, not themselves, not a background sequence you supply. This is how a toolbox of promoters, RBSs, terminators or sgRNA handles is made large without making an assembly unstable. Honours a GC range and excluded motifs (restriction sites) during the search rather than filtering afterwards. Deterministic given a seed: the same inputs give the same toolbox. Returns fewer parts than asked, with a reason, when the constraints leave no room — it never invents a repetitive one to hit the count.

NameTypeReqDescription
backgroundarray–Sequences the new parts must also avoid sharing with — the host genome region, the vector, or a toolbox you already own.
bothStrandsboolean–Treat a stretch and its reverse complement as the same stretch.
constraintstringyesThe IUPAC template every part must match, e.g. "NNNNNNTTGACANNNNNNNNNNNNNNNNNTATAATNNNNNN" for a sigma-70 promoter library. N is any base; fixed letters are held. Max 1,000 nt.
countinteger–How many parts to build (max 500).
excludearray–Motifs no part may contain, checked on both strands: restriction sites you clone with, a terminator you do not want. Literal ACGT only — an IUPAC code is refused rather than silently half-matched.
gcMaxnumber–Highest GC% a part may have.
gcMinnumber–Lowest GC% a part may have.
lmaxinteger–Longest stretch any two parts may share, in bp (default 15).
seedinteger–Seeds the search. Change it for a different toolbox from the same constraints; keep it to reproduce one.

No output schema declared.

No examples provided.

nonrepetitive_parts_find ~311

Given a toolbox of genetic parts, return the largest subset in which no two parts share more than a chosen length of sequence — on either strand. Parts that share a long stretch recombine into each other in a multi-part assembly and are the single largest cause of DNA synthesis failure, and neither shows up when the parts are checked one at a time. Reports every conflicting pair and why each dropped part was dropped. Deterministic: no model, no rate, no score. Use nonrepetitive_parts_design to build new parts instead of selecting from existing ones.

NameTypeReqDescription
bothStrandsboolean–Count a shared stretch even when one part carries it reverse-complemented. Recombination and synthesis both see both strands, so leaving this on is almost always right.
lmaxinteger–Longest stretch two parts may share, in bp (default 15). Two parts conflict when they share MORE than this. Below 8 bp every pair of sequences matches by chance.
partsstringyesThe toolbox as (multi-)FASTA — each record's header becomes the part's name. Max 4,000 parts, 5,000 bp each.
strategystring–Which approximation picks the subset. Maximum independent set is NP-hard, so neither is guaranteed largest: '2apx' is the standard 2-approximation, 'greedy' repeatedly drops the most-conflicting part…

No output schema declared.

No examples provided.

oligo_analysis ~146

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

NameTypeReqDescription
dntpMMnumber–Total [dNTP] (mM), chelates Mg2+.
mgMMnumber–Divalent cation [Mg2+] (mM).
naMMnumber–Monovalent cation [Na+]/[K+] (mM).
oligoNMnumber–Total strand concentration (nM).
sequencestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).

No output schema declared.

No examples provided.

oligo_cofold ~442

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 program, so it cannot say whether a dimer will actually form in your tube.

NameTypeReqDescription
astringyesFirst oligo, 5'→3'. Max 200 nt.
alphabetstring–Which measured parameter set to use. This is not cosmetic — the same 20-mer can differ by several kcal/mol between them.
bstring–Second oligo. Omit to analyze hairpin structure in 'a' alone; pass the same sequence as 'a' for a homodimer.
partitionboolean–Also compute the ensemble free energy over all structures, not just the MFE one. Costs a second pass.
temperaturenumber–°C. Primer dimers matter at the annealing temperature, not at 37 °C.

No output schema declared.

No examples provided.

oligo_pool_screen ~449

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-neighbor calculation over the sequences supplied, not a prediction of what the reaction will do.

NameTypeReqDescription
dntpMMnumber–Total [dNTP] (mM), chelates Mg2+.
fastastring–The 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`.
internalThresholdDGnumber–The looser bar for a pairing that only sequesters primer internally, away from either 3' end.
maxConflictsinteger–Conflict rows returned, most stable first. The COUNTS are always complete.
mgMMnumber–Divalent cation [Mg2+] (mM).
naMMnumber–Monovalent cation [Na+]/[K+] (mM).
oligoNMnumber–Total strand concentration (nM).
oligosarray–The pool, as objects with a name and a sequence. Up to 384. Use this or `fasta`, not both.
threePrimeThresholdDGnumber–ΔG (kcal/mol) at or below which a pairing that involves a 3' END counts as a conflict.

No output schema declared.

No examples provided.

operon_design ~328

Build a polycistronic operon from a promoter, a list of CDSs with their RBSs, spacers and a terminator — optionally recoding every CDS for a host — then scan the ASSEMBLED molecule for internal promoters, Shine-Dalgarno sequences, terminators, out-of-frame start codons and repeats. Scanning the product rather than the parts is the point: these elements are very often created BY THE JOIN between two parts, so checking each part alone finds nothing. Returns the sequence, an annotated GenBank file, and every element found. Assigns no translation rate — use rbs_library_design to choose RBSs, then rbs_predict to rank the result.

NameTypeReqDescription
genesarrayyesThe genes, in order (max 12).
includeGenbankboolean–Return the annotated GenBank file.
namestring–LOCUS name for the GenBank output.
optimiseForstring–Recode every CDS with this host's most-frequent codons. The rewrite is checked to translate back to the same protein, and skipped for that gene if it does not. This is a determinate recoding, NOT a y…
promoterstring–Promoter placed at the 5' end.
spacerstring–Sequence inserted between one CDS and the next gene's RBS.
terminatorstring–Terminator placed at the 3' end.

No output schema declared.

No examples provided.

operon_scan ~276

Scan a multi-gene construct, on both strands, for the sequence that quietly breaks operons: promoter-like -35/-10 pairs (including ones pointing backwards, which make antisense RNA), Shine-Dalgarno sequences positioned in front of an internal start codon, terminator-shaped hairpins with a U-tract, out-of-frame start codons inside a declared CDS, and exact direct repeats. Reports what MATCHED and how far it sits from consensus — it does not score a match or claim it transcribes. For an estimated promoter strength use promoter_predict; for a translation rate use rbs_predict.

NameTypeReqDescription
cdsEndinteger–1-based end of that coding sequence.
cdsStartinteger–1-based start of a coding sequence. Given with cdsEnd, out-of-frame start codons inside it are reported — without them that check is skipped, because 'out of frame' has no meaning until a frame is de…
maxPromoterMismatchesinteger–Total mismatches allowed across both consensus boxes (default 1). 0 finds only perfect consensus, which real promoters rarely are; above 2 the hit rate on random DNA climbs fast.
sequencestringyesThe construct, raw, FASTA or GenBank. Max 100,000 bp.

No output schema declared.

No examples provided.

ortholog_map ~176

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.

NameTypeReqDescription
sourceSpeciesstring–Ensembl species slug the symbols belong to (e.g. "human", "mouse"). Defaults to "human".
symbolsarrayyesGene symbols to look up, up to 50 (e.g. ["TP53", "BRCA1"]).
targetSpeciesstringyesEnsembl species slug to find homologs in (e.g. "mouse", "rat", "zebrafish", "fruit_fly").
typestring–Homology type to return. Defaults to orthologues.

No output schema declared.

No examples provided.

outcome_deconvolve ~423

Decompose one Sanger trace into fractions over a set of candidate molecules — the intended construct, the empty backbone, a double insert, a flipped part — instead of onto a generic indel ladder. Non-negative least squares against the candidates' own sequences, so no molecule is ever assigned a negative share. Reports the R² of the fit, which is what says whether the tube holds anything outside the candidate set, and GROUPS candidates the read cannot tell apart rather than splitting their share between them. Feed it the alternatives from assembly_outcomes. PREDICTED, NOT MEASURED. Every run reports its own R²: how much of the observed per-position composition the candidate basis explains. That is a measured adequacy on YOUR trace, and a low value is a statement that the tube holds something the candidate set does not contain. No accuracy against a reference method is published for this implementation, and none is quoted. Exact recovery of synthetic mixtures is deliberately NOT offered as validation: it tests the arithmetic, not whether a real capillary trace behaves like the model. Valid for: One read, from one primer, over a set of candidate molecules that all contain that primer's site and differ from each other within the read. Fractions are reported per GROUP of candidates the read cannot tell apart, and that grouping is part of the answer. NOT valid when the read's anchor identity to a candidate is low (it does not share the primer region), nor when R² comes back low, nor for telling apart candidates that differ only outside the read.

NameTypeReqDescription
candidatesarrayyesThe molecules this reaction could have produced, as { id, label, sequence, circular? }. Between 2 and 24; assembly_outcomes' intended plus alternatives is the intended source.
readBasesstringyesBase calls of the read, e.g. from parse_sanger_trace.
readChannelsarrayyesPer-base [A, C, G, T] intensities, one row per called base, read at that base's peak location.

No output schema declared.

No examples provided.

pairwise_alignment ~278

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

NameTypeReqDescription
gapnumber–Affine gap EXTEND penalty, charged per gap position (including the first).
gapOpennumber–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…
matchnumber–Match score.
mismatchnumber–Mismatch penalty.
modestring–"global" penalizes 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 fre…
seqAstringyesFirst sequence (raw or FASTA; nucleotide or protein).
seqBstringyesSecond sequence (raw or FASTA; nucleotide or protein).

No output schema declared.

No examples provided.

parse_genbank ~47

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

NameTypeReqDescription
textstringyesA GenBank flat file (LOCUS … FEATURES … ORIGIN … //).

No output schema declared.

No examples provided.

parse_sanger_trace ~197

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

NameTypeReqDescription
fileBase64stringyesThe binary ABIF (.ab1 / .abi) trace file, base64-encoded.
fileNamestring–Optional original file name (echoed back).
includeTracesboolean–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 ch…

No output schema declared.

No examples provided.

parse_snapgene ~189

Read a SnapGene .dna file: sequence, topology, every feature with its span, strand, display color and qualifiers (spliced and origin-spanning features kept as such), and the saved primer list.

NameTypeReqDescription
featureLimitinteger–Cap on features returned (max 2000). featureCount always reports the true total and `truncated` says whether the list was cut.
fileBase64stringyesThe binary SnapGene .dna file, base64-encoded. A `data:...;base64,` prefix is accepted.
fileNamestring–Optional original file name (echoed back).
includeSequenceboolean–Include the full sequence. Turn it off to ask what is IN a construct without moving the bases: a 250 kb BAC is 244 kB of the response and length/topology/features answer most questions without it.

No output schema declared.

No examples provided.

parts_library_search ~289

Search a parts list harvested from the annotated features of the vector library — promoters, terminators, RBSs, polyA signals, origins, selection markers, affinity tags, reporters, linkers/MCSs — by name, kind or length. Nothing here is transcribed: every part is the exact sequence a GenBank record annotated, and each hit carries the accession and 1-based span it was cut from, plus every other library vector the same part was found in. Parts whose location is spliced or approximate are excluded, because their sequence is not fully determined.

NameTypeReqDescription
includeSequenceboolean–Include each part's bases (5'→3' on the part's own strand).
kindsarray–Restrict to these part kinds (promoter, terminator, origin, RBS, polyA, selection marker, affinity tag, reporter, linker/MCS, …). An unknown kind is an error.
limitinteger–Maximum hits to return. Capped at 100; asking for more is an error, not a silent truncation.
maxLengthinteger–Largest part length in bp.
minLengthinteger–Smallest part length in bp.
querystring–Substring of the part name (min 2 characters), e.g. "T7", "AmpR", "SV40 polyA".

No output schema declared.

No examples provided.

plasmid_annotate ~101

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.

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

No output schema declared.

No examples provided.

plasmid_deep_annotate ~292

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.

NameTypeReqDescription
circularboolean–Treat the sequence as a circular plasmid (vs. linear).
sequencestringyesNucleotide 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…

No output schema declared.

No examples provided.

plasmid_full_report ~163

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.

NameTypeReqDescription
circularboolean–Treat the query as a circular molecule (most plasmids are).
sequencestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).
topNinteger–How many top-ranked backbone candidates to report.

No output schema declared.

No examples provided.

plasmid_identify ~177

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.

NameTypeReqDescription
circularboolean–Treat the query as a circular molecule (most plasmids are).
sequencestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).
topNinteger–How many top-ranked backbone candidates to report.

No output schema declared.

No examples provided.

prime_editing_design ~466

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

NameTypeReqDescription
editEndintegeryes1-based inclusive end of the region being changed. For a pure insertion, set editEnd = editStart - 1.
editStartintegeryes1-based inclusive start of the region being changed.
frameStartinteger–Optional 1-based CDS reading-frame start, used only to annotate whether a PAM-blocking mutation would be silent.
insertedSeqstring–Replacement bases (forward strand). Empty string means a deletion.
pbsLengthinteger–Optional preferred PBS length to highlight; a full 8-17 nt sweep is always returned.
rttHomologyinteger–Homology length (nt) 3' of the edit that the RTT should include (typically 10-16).
targetstringyesForward-strand target DNA (raw or FASTA), with flanking sequence around the intended edit.

No output schema declared.

No examples provided.

prime_editing_efficiency ~512

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

NameTypeReqDescription
cellTypestring–Which 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.
sequencestringyesTarget 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,…
topNinteger–How many top-ranked pegRNAs to return, out of the hundreds enumerated. Max 50.
use5Foldsboolean–Average all five trained folds instead of the first. Modestly steadier scores for five times the compute, and it is charged five times as much.

No output schema declared.

No examples provided.

prime_editing_twin_design ~363

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

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

No output schema declared.

No examples provided.

primer_design ~481

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

NameTypeReqDescription
ampliconMaxinteger––
ampliconMininteger––
dntpMMnumber–Total [dNTP] (mM), chelates Mg2+.
excludedRegionsarray–Regions no primer may overlap, 1-based inclusive, as {start,end}. start > end is a region crossing the origin of a circular template.
gcClampinteger–Consecutive G/C required at the very 3' end (Primer3's PRIMER_GC_CLAMP). Omitted or 0 means no requirement.
gcMaxnumber––
gcMinnumber––
lenMaxinteger––
lenMininteger––
lenOptinteger––
maxPolyXinteger–Longest run of one base a primer may contain (Primer3's PRIMER_MAX_POLY_X). Omitted or 0 means no limit.
maxReturninteger–Number of best pairs to return.
mgMMnumber–Divalent cation [Mg2+] (mM).
minThreePrimeDGnumber–Floor on the NN ΔG37 (kcal/mol) of the five 3'-most bases; a more stable end than this is rejected. Deliberately not Primer3's max_end_stability, which is a different scale this model has not been ca…
naMMnumber–Monovalent cation [Na+]/[K+] (mM).
oligoNMnumber–Total strand concentration (nM).
targetEndinteger–1-based inclusive end of the target region (optional).
targetStartinteger–1-based inclusive start of a region the product must span (optional).
templatestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).
tmMaxnumber––
tmMaxDiffnumber–Max Tm difference within a pair (°C).
tmMinnumber––
tmOptnumber––

No output schema declared.

No examples provided.

primer_site_accessibility ~282

Fold the template around each place a primer binds, at the annealing temperature and under DNA parameters, and report how much of the primer's own footprint sits inside a helix. Primer design tools score the oligo — its Tm, its hairpin, its dimers — and leave the template unexamined, while a binding site buried in a stable stem is an ordinary reason a well-designed primer does not amplify. Returns the folded window, its free energy, the paired fraction of the footprint, and how many of the 3'-terminal five bases are paired.

NameTypeReqDescription
annealingTempnumber–The annealing temperature in Celsius. This is the whole reason the tool exists — structure at 37 C is not structure at 60 C, and the number changes the answer.
circularboolean–Wrap the window across the origin instead of clipping it.
maxMismatchesnumber–Mismatches allowed when locating the primer. Defaults to the binding scanner's own rate.
primerstringyesThe primer, 5'->3'.
templatestringyesThe template the primer has to bind — the region of interest, a plasmid, or an amplicon.
windowNtnumber–Template to fold around each site, centred on the footprint. 40-200 nt.

No output schema declared.

No examples provided.

primer_specificity ~881

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-neighbor Δ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-templa…

NameTypeReqDescription
forwardPrimerstringyesForward primer, 5'→3'.
intendedTemplatestring–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…
maxMismatchesinteger–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 short…
maxProductLengthinteger–Ignore candidate off-target products longer than this (bp) — a search-window cap, not a biological claim.
reversePrimerstringyesReverse primer, 5'→3'.

No output schema declared.

No examples provided.

promoter_library_design ~726

Build a set of sigma-70 promoters that (a) share no more than a chosen length of sequence with each other, so the library does not recombine with itself once integrated, and (b) span a range of predicted transcription rates, picked as an evenly log-spaced ladder. Variants are constructed deterministically from an IUPAC template holding the -35 and -10 consensus; their strengths are then estimated by the Promoter Calculator model. Rungs with no variant near them are reported as gaps rather than filled with the nearest thing. PREDICTED, NOT MEASURED: strengths carry R^2 = 0.45-0.60 against independent in vivo data, so treat the ladder as a ranked set to screen, not as calibrated numbers. PREDICTED, NOT MEASURED. R^2 = 0.45 and 0.60 against the two INDEPENDENT in vivo datasets the authors tested (Hossain et al., 4,350 promoters, Spearman rho = 0.69; Urtecho et al., 10,898 promoters, rho = 0.67). The widely quoted R^2 = 0.80 is a held-out tenth of the authors' OWN in vitro transcription data and is not the number to plan against: a promoter in a cell is the in vivo case, where between a third and a half of the variance is unexplained. Valid for: sigma-70 (housekeeping) promoters in E. coli. NOT valid for another sigma factor, another organism, a promoter under activator or repressor control, or anything about mRNA stability or translation — rbs_predict is the translation half, and neither speaks to the other.

NameTypeReqDescription
candidatePoolinteger–How many variants to build and score before selecting the ladder. A larger pool fills more rungs and costs one longer scan, not more round trips.
excludearray–Motifs no variant may contain, both strands — the restriction sites you clone with. Literal ACGT only.
gcMaxnumber–Highest GC% a variant may have.
gcMinnumber–Lowest GC% a variant may have.
librarySizeintegeryesHow many promoters the ladder should have (2 to 24). Required: every other argument has a defensible default, so this is the one statement of intent, and without it an empty call would build and scor…
lmaxinteger–Longest stretch any two promoters in the library may share, in bp (default 12). This is the property that stops the library recombining with itself.
seedinteger–Seeds variant construction; same seed, same variants.
targetMaxnumber–Strongest rung, same units. Omit with targetMin to use the variants' own range.
targetMinnumber–Weakest rung, in the model's arbitrary transcription-rate units. OMIT THIS and the range is taken from what the built variants actually score, which is usually right: the units have no absolute meani…
templatestring–IUPAC template every variant must match. Defaults to a sigma-70 layout holding TTGACA and TATAAT with a 17 nt spacer and randomised flanks. Change it to target a different architecture — but a templa…

No output schema declared.

No examples provided.

promoter_predict ~401

Scan DNA for E. coli sigma-70 promoters and estimate each one's transcription initiation rate, with the free-energy terms it is built from: the -35 and -10 boxes, the spacer, the discriminator, the extended -10 and the initial transcribed region. Pairs with rbs_predict — together they separate 'nothing is transcribed' from 'it is transcribed and not translated', which no single measurement on the sequence does. Both strands by default, because a promoter reading into your insert from the other strand is still a promoter. PREDICTED, NOT MEASURED. R^2 = 0.45 and 0.60 against the two INDEPENDENT in vivo datasets the authors tested (Hossain et al., 4,350 promoters, Spearman rho = 0.69; Urtecho et al., 10,898 promoters, rho = 0.67). The widely quoted R^2 = 0.80 is a held-out tenth of the authors' OWN in vitro transcription data and is not the number to plan against: a promoter in a cell is the in vivo case, where between a third and a half of the variance is unexplained. Valid for: sigma-70 (housekeeping) promoters in E. coli. NOT valid for another sigma factor, another organism, a promoter under activator or repressor control, or anything about mRNA stability or translation — rbs_predict is the translation half, and neither speaks to the other.

NameTypeReqDescription
bothStrandsboolean–Scan the reverse strand too. Leave on unless you know the orientation — cryptic antisense promoters are a common and easily missed cause of trouble.
limitnumber–How many of the strongest promoters to return.
sequencestringyesDNA to scan, 80-10000 nt. A promoter region, a 5' UTR with its upstream context, or a whole cassette.

No output schema declared.

No examples provided.

protease_digestion ~172

In-silico protease/chemical digestion: cleave a protein and report each peptide's position, length and neutral mass. CNBr masses assume terminal Met becomes homoserine lactone; the sequence retains M and the response labels the modification.

NameTypeReqDescription
maxMassnumber–Optional upper bound on neutral monoisotopic mass (Da).
maxPeptidesinteger–Cap on the number of returned peptides.
minMassnumber–Optional lower bound on neutral monoisotopic mass (Da).
missedCleavagesinteger–Allowed missed internal cleavages (0–2).
proteasestring–Protease or chemical cleavage agent.
sequencestringyesProtein sequence (one-letter amino-acid codes; non-AA characters ignored).

No output schema declared.

No examples provided.

protein_annotate_poll ~65

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.

NameTypeReqDescription
jobIdstringyes–

No output schema declared.

No examples provided.

protein_annotate_submit ~122

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.

NameTypeReqDescription
applstring–Restrict to one member database (e.g. "PfamA"); omit to run EBI's defaults across all of them.
gotermsboolean–Include GO-term cross-references.
sequencestringyesProtein sequence, one-letter code (FASTA header, if any, is stripped).

No output schema declared.

No examples provided.

protein_hydrophobicity ~110

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

NameTypeReqDescription
scalestring–Amino-acid scale. Kyte-Doolittle and Eisenberg are hydrophobicity; Hopp-Woods is hydrophilicity.
sequencestringyesProtein sequence (one-letter amino-acid codes; non-AA characters ignored).
windowinteger–Sliding-window size (clamped to an odd number ≥ 1).

No output schema declared.

No examples provided.

protein_properties ~86

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

NameTypeReqDescription
chargeStepnumber–pH step along the net-charge titration curve, which always spans pH 0-14. Between 0.001 and 14.
sequencestringyesProtein sequence (one-letter amino-acid codes; non-AA characters ignored).

No output schema declared.

No examples provided.

random_sequence ~68

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

NameTypeReqDescription
gcContentnumber–Target GC percentage 0..100 (dna/rna only); omit for uniform.
kindstring––
lengthintegeryesNumber of residues to generate.

No output schema declared.

No examples provided.

rbs_design ~695

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); reproduced in this repo at ρ = 0.509 on an independent leave-one-context-out split over 194,636 measurements, and at a mean ρ = 0.62 over fifteen further measurement systems it was not fitted to — six species, four reporters, three readouts — on which every learned model tried here scored BELOW it (scripts/rbs-eval) — above the published figure because 65,841 rows of that compilation record no measurement at all (fluorescence mean and s.d. both exactly 0) and are excluded here rather than scored as the weakest expression observed. 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 parameterized on the E. coli anti-Shine-Dalgarno sequence). Rankings within one construct context; the absolute value has no units and no meaning.

NameTypeReqDescription
antiShineDalgarnostring–Optional 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.
cdsstringyesCoding 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 10,000 nt.
currentUtrstring–Optional: your existing 5' UTR (everything upstream of the start codon). Scored as a baseline so each candidate gets a fold-change against it.
leaderstring–Optional 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.
limitnumber–How many ranked candidates to return. 1-60.
targetExpressionnumber–Optional 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.

No output schema declared.

No examples provided.

rbs_library_design ~729

Build a ladder of ribosome binding sites whose predicted translation initiation rates are evenly spread, in log space, across a range you choose — the standard way to titrate one enzyme's level in a pathway without guessing. Scores every SD-core/spacing/spacer-composition combination with OSTIR in your own CDS context, then picks one variant per rung. Rungs it cannot fill are reported as GAPS rather than filled with the nearest available variant, so a library that does not really span the range says so. PREDICTED, NOT MEASURED: the ordering comes from a model with ρ ≈ 0.39 against measured expression, which is what makes it usable for ranking a library you will screen and unusable for hitting an absolute number. 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); reproduced in this repo at ρ = 0.509 on an independent leave-one-context-out split over 194,636 measurements, and at a mean ρ = 0.62 over fifteen further measurement systems it was not fitted to — six species, four reporters, three readouts — on which every learned model tried here scored BELOW it (scripts/rbs-eval) — above the published figure because 65,841 rows of that compilation record no measurement at all (fluorescence mean and s.d. both exactly 0) and are excluded here rather than scored as the weakest expression observed. 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 parameterized on the E. coli anti-Shine-Dalgarno sequence). Rankings within one construct context; the absolute value has no units and no meaning.

NameTypeReqDescription
antiShineDalgarnostring–Override the host's anti-Shine-Dalgarno sequence. Defaults to the E. coli one OSTIR is parameterised on.
cdsstringyesThe coding sequence, raw or FASTA, starting at its start codon. Only the 5' end affects the prediction, so the first ~90 nt is enough. Max 10,000 nt.
leaderstring–Sequence upstream of the RBS (the 5' end of the transcript). OSTIR needs some 5' context for its standby-site term; a 20 nt A-rich leader is assumed when none is given, which is an assumption and not…
librarySizeinteger–How many variants the ladder should have (default 8).
targetMaxnumber–Strongest rung, in the same arbitrary units. Omit with targetMin to use the candidates' own range.
targetMinnumber–Weakest rung, in OSTIR's arbitrary units. OMIT THIS and the range is taken from what the candidates actually reach in your CDS context, which is usually what you want: the units have no absolute mean…

No output schema declared.

No examples provided.

rbs_occlusion ~344

Find every stretch of a transcript that is reverse-complementary to the ribosome's footprint (-20 to +13 around the start codon), with the length and nearest-neighbour Tm of each duplex, and flag the ones that cover the Shine-Dalgarno core or the start codon. This is the mechanism every translational switch runs on — riboswitch, toehold switch, RNA thermometer, antisense repressor — and the first thing to look at when a switch does not switch or a construct is unexpectedly silent. Also reports where a sensor domain can be inserted without touching the site. Deterministic base-pairing, not a folding prediction: use rna_fold to ask whether a given stem actually wins at 37 °C. Reports no switching ratio — see this tool's notes for why.

NameTypeReqDescription
maxLoopinteger–Largest number of unpaired bases allowed between an arm and its target (default 100).
minSteminteger–Shortest duplex to report, in bp (default 6). Below 4 bp every sequence pairs with everything; a stem that actually holds a site shut is usually 8 bp or more.
sequencestringyesThe transcript: the 5' UTR plus at least the start of the CDS. DNA or RNA. Max 20,000 nt.
startCodonAtinteger–1-based position of the start codon to anchor the footprint on. Omit to use the first ATG/GTG/TTG — pass it when the transcript has several, which is the usual case for a real 5' UTR.

No output schema declared.

No examples provided.

rbs_predict ~580

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 hybridization, 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); reproduced in this repo at ρ = 0.509 on an independent leave-one-context-out split over 194,636 measurements, and at a mean ρ = 0.62 over fifteen further measurement systems it was not fitted to — six species, four reporters, three readouts — on which every learned model tried here scored BELOW it (scripts/rbs-eval) — above the published figure because 65,841 rows of that compilation record no measurement at all (fluorescence mean and s.d. both exactly 0) and are excluded here rather than scored as the weakest expression observed. 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 parameterized on the E. coli anti-Shine-Dalgarno sequence). Rankings within one construct context; the absolute value has no units and no meaning.

NameTypeReqDescription
antiShineDalgarnostring–Optional 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.
endnumber–Optional 1-based position; only consider start codons beginning at or before it.
sequencestringyesmRNA 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 10,000 nt.
startnumber–Optional 1-based position; only consider start codons beginning at or after it.

No output schema declared.

No examples provided.

read_placement_plan ~290

Given the molecules a cloning reaction could have produced and the sequencing primers you could use, work out which primers separate which pairs of candidates — and return the smallest set that separates every pair any of them can. Scores a read by discrimination, not coverage: a read of 700 bases every candidate shares is worth nothing, and a short read across a junction is worth everything. Names the pairs no primer here separates, so you find out before paying for the reads rather than after. Pair it with outcome_deconvolve once the traces come back.

NameTypeReqDescription
candidatesarrayyesThe molecules this reaction could produce, as { id, label, sequence, circular? }. Between 2 and 24; assembly_outcomes' intended plus alternatives is the intended source.
maxMismatchesnumber–Mismatch budget passed to the priming scan. Defaults to primer-binding's own (~10% of the primer's length).
primersarrayyesSequencing primers to choose between, as { id, label, sequence }. Up to 32.
usableFromnumber–Bases after the primer's 3' end before the trace becomes readable (0-500). A difference inside this dead zone is not counted as a separation, because the trace cannot show it.
usableLengthnumber–Readable bases per reaction, counted from usableFrom (50-5000).

No output schema declared.

No examples provided.

repeat_instability ~293

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.

NameTypeReqDescription
circularboolean–Treat 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.
includeSequencesboolean–Return the full product sequences. Turn off for a coordinates-only summary over a large construct.
maxPairsnumber–Cap on reported pairs, most recombinogenic first. The pre-cap count is always reported as pairsFound.
minRepeatLengthnumber–Shortest repeat to report, in bp (default 20). Below about 20 bp homologous recombination has little to work with and chance matches multiply.
sequencestringyesThe construct, raw or FASTA. Max 500,000 bp.

No output schema declared.

No examples provided.

restriction_sites ~180

Find restriction enzyme recognition sites in a DNA sequence.

NameTypeReqDescription
circularboolean–Treat the sequence as circular (plasmid) so sites spanning the origin are found.
enzymesarray–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-varian…
sequencestringyesNucleotide sequence (raw or FASTA; IUPAC accepted).

No output schema declared.

No examples provided.

reverse_complement ~49

Reverse, complement and reverse complement of a DNA or RNA sequence.

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

No output schema declared.

No examples provided.

reverse_translate ~74

Back-translate a protein to DNA (most-frequent codon per organism, or degenerate IUPAC consensus).

NameTypeReqDescription
modestring––
organismstring–Codon-usage host (ignored in degenerate mode).
proteinstringyesProtein sequence (one-letter codes; * for stop).

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.