Skip to main content
Glama

design_primer_pairs

The Primer Designer's own ranked search: scan the open record for primer pairs inside a product-size, Tm, length and GC window, score every candidate on Tm, dimers, hairpins, 3' stability, repeats, clamp and specificity under weights you set, and return the best N.

Input Schema

NameRequiredDescriptionDefault
taskNo`new` ranks candidate pairs; `existing` keeps the primer you supply and designs its mate.new
_filesNoThe project: record references shaped like _subject. Their records become library documents a tool names in sequences/parts/document; a trace or alignment is found by file name.
gc_maxNohighest primer GC accepted. In %.
gc_minNolowest primer GC accepted. In %.
n_pairsNohow many ranked pairs to return.
_subjectNoThe record to act on: exactly one of sequence, accession (+source), sample (an id from list_samples) or file ({name, text} or {name, base64}); record_index picks one record of several.
excludedNospans no primer may sit on, as find_primer_snps' `excluded` emits them: a list of {start, end}, 0-based and end-exclusive, where start = end is an insertion between two bases. The amplicon may run across them. The panel's Avoid known SNPs. Advanced.
fwd_tailNo5' non-annealing tail added to every forward primer (a restriction site or adapter). The footprint, and so binding and Tm, is unchanged. Advanced.
rev_tailNo5' non-annealing tail added to every reverse primer. Advanced.
target_tmNothe Tm each primer is scored toward. In °C.
weight_gcNoscoring weight for the `gc` penalty (0 switches it off). Advanced.
weight_tmNoscoring weight for the `tm` penalty (0 switches it off). Advanced.
conditionsNosalt, magnesium, dNTP and oligo concentrations plus the salt-correction method the Tm window is measured in. Left unset it is filled from your reaction-conditions settings, as the panel's are. Advanced.
region_endNo0-based inclusive end of the region to design within. Advanced.
target_endNo0-based inclusive end of the target. Advanced.
weight_end3Noscoring weight for the `end3` penalty (0 switches it off). Advanced.
region_startNo0-based inclusive start of the region to design within. Unset = the whole template. Advanced.
target_startNo0-based inclusive start of a target the amplicon must flank, with no primer on it. Advanced.
tm_window_maxNohighest primer Tm accepted at all. In °C.
tm_window_minNolowest primer Tm accepted at all. In °C.
weight_lengthNoscoring weight for the `length` penalty (0 switches it off). Advanced.
weight_poly_xNoscoring weight for the `polyX` penalty (0 switches it off). Advanced.
weight_hairpinNoscoring weight for the `hairpin` penalty (0 switches it off). Advanced.
weight_tm_pairNoscoring weight for the `tmPair` penalty (0 switches it off). Advanced.
weight_gc_clampNoscoring weight for the `gcClamp` penalty (0 switches it off). Advanced.
weight_self_endNoscoring weight for the `selfEnd` penalty (0 switches it off). Advanced.
existing_forwardNowith `task: existing`, the forward primer to keep. Only applies when task is existing.
existing_reverseNowith `task: existing`, the reverse primer to keep. Only applies when task is existing.
product_size_maxNolongest acceptable amplicon. In bp.
product_size_minNoshortest acceptable amplicon. In bp.
weight_cross_endNoscoring weight for the `crossEnd` penalty (0 switches it off). Advanced.
weight_di_repeatNoscoring weight for the `diRepeat` penalty (0 switches it off). Advanced.
primer_length_maxNolongest primer. In nt.
primer_length_minNoshortest primer. In nt.
weight_misprimingNoscoring weight for the `mispriming` penalty (0 switches it off). Advanced.
weight_self_dimerNoscoring weight for the `selfDimer` penalty (0 switches it off). Advanced.
mispriming_libraryNoa Primer3 repeat library to screen every primer against. `none` skips the screen. Advanced.none
weight_cross_dimerNoscoring weight for the `crossDimer` penalty (0 switches it off). Advanced.
weight_specificityNoscoring weight for the `specificity` penalty (0 switches it off). Advanced.

Output Schema

NameRequiredDescriptionDefault
taYesthe top pair's annealing temperature [°C]
pairsYesevery returned pair in rank order: score, both primers (sequence, span, Tm, GC), product length, Tm and Ta
forwardYesthe top pair's forward primer (wire into pcr_amplify)
reverseYesthe top pair's reverse primer
pairCountYeshow many pairs came back
shortfallYeswhy fewer pairs came back than were asked for; empty when the run was not short
productLenYesthe top pair's amplicon length [bp]

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / productLen / x-unit
      Added value: +"bp"
    • addedOutput schema / properties / ta / x-unit
      Added value: +"°C"
  2. Changed1 schema field changed
    • addedInput schema / properties / conditions / properties / selfcomp
      Added value: +{
      +  "description": "both strands are one self-complementary oligo (the concentration term becomes dnac1 rather than dnac1 − dnac2/2).",
      +  "type": "boolean"
      +}
  3. First observed

TDQS

B3.2/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is largely covered. The description adds genuine behavioral context: candidates are scored under user-set weights, and windows act as hard filters while weights shape ranking. It does not disclose cost/runtime (a 39-parameter combinatorial search), determinism, or what happens when no pair fits the windows.

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

Conciseness4/5

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

A single front-loaded sentence that leads with what is scanned, then how it is scored, then what is returned — a sensible pipeline order with no filler. It is dense but every clause carries content; only the list of scoring terms is long enough to warrant breaking into a second sentence.

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

Completeness3/5

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

For a 39-parameter tool with nested condition objects, an output schema, and many near-neighbour design tools, the description gives a good high-level frame but omits workflow placement — e.g., pairing with find_primer_snps for the `excluded` spans or primer_check for validation. Because the schema and output schema carry the detail, this is adequate rather than complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does map its scoring categories (Tm, dimers, hairpins, 3' stability, repeats, clamp, specificity) onto the weight_* families, which helps an agent understand the parameter surface as a whole, but it adds no per-parameter meaning or defaults beyond what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it scans a record for primer pairs inside windows, scores candidates on named criteria, and returns the best N. That is far more informative than the tool name alone. It stops short of distinguishing itself from the many sibling design tools (design_primers, design_qpcr_assay, design_degenerate_primers, design_bisulfite_primers) — 'The Primer Designer's own ranked search' gestures at a panel implementation rather than telling an agent which design tool to pick.

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

Usage Guidelines2/5

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

There is no explicit when-to-use, when-not-to-use, or alternative naming. An agent facing ~10 primer-design siblings gets no rule for choosing this one, and prerequisites (needs an open record, reaction conditions settings) are only hinted at. The only routing signal is implicit in 'inside a product-size, Tm, length and GC window'.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources