Skip to main content
Glama

jean — Molecular Biology & Genomics

find_primer_snps

Read-only

Find known SNPs under primers, the check NCBI Primer-BLAST makes with "Primer binding site may not contain known SNP". The template is placed on the UCSC assembly it was cut from, and the placement is proved by comparing the assembly's own sequence with the template; dbSNP 155 is then read over that span from the UCSC Genome Browser, and every primer is reported with the SNPs under it and each one's distance from the 3' end. excluded is the SNP spans in the form design_primer_pairs takes, to design around them. The template's sequence does not leave the machine; the assembly, chromosome and span are sent to UCSC.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pairsNothe pairs to check, as design_primer_pairs' `pairs` output (each with forward and reverse start/end on the template).
_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.
forwardNoa forward primer to locate on the template by exact match, when no `pairs` are given.
reverseNoa reverse primer to locate by exact match of its reverse complement.
snp_setNo`dbSnp155Common`: About 15 million variants with a minor allele frequency of at least 1% in 1000 Genomes Phase 3. The default. `dbSnp155`: Every mapped variant: 1.06 billion locations on hg38, so few primers avoid them all. `dbSnp155ClinVar`: About 820,000 variants ClinVar mentions, benign and pathogenic alike.dbSnp155Common
_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.
assemblyYesthe UCSC assembly id the template was cut from (hg38, mm39, danRer11…).
positionYeswhere the template sits in that assembly, as chromosome:position, 1-based: the lowest assembly coordinate the template covers. The check finds which strand the template reads on itself.
templateNothe sequence the primers sit on. Left empty, the open record is used.
window_endNo1-based last base of the span to check. Advanced.
window_startNo1-based first base of the template span to check. Unset = the whole template. Advanced.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
snpsYesevery SNP in the span, placed on the template (0-based, end-exclusive), with alleles as they read on the template's strand and whether the template spells dbSNP's reference allele there
flaggedYeshow many primers sit on at least one known SNP
primersYesevery primer checked: its name, span on the template, strand, and the SNPs under it with rsID, alleles, minor allele frequency and distance from the 3′ end (1 = the 3′ base)
excludedYesthe SNP spans, for design_primer_pairs' `excluded`

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already cover readOnly/openWorld/non-destructive, and the description adds substantial context beyond them: exactly what leaves the machine (assembly, chromosome and span to UCSC, not the template sequence), the data source read (dbSNP 155 over the placed span), the placement-verification step, and the shape of the report (each primer with its SNPs and distance from the 3' end). This is meaningful behavioral disclosure, not restatement.

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?

Front-loaded with the purpose, then mechanism, then the `excluded` hand-off and the privacy note. Dense but every sentence carries information; no filler. Slightly monolithic as one paragraph, but nothing is wasted.

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

Completeness4/5

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

With an output schema present, return values needn't be spelled out, and the privacy/data-flow disclosure plus the annotation safety profile cover most of what an agent needs. It omits failure modes that matter for an external-placement-dependent tool (assembly unavailable in UCSC, template not found at position, strand mismatch), which leaves a small completeness gap.

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

Parameters4/5

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

Schema coverage is 100%, so the documented baseline is 3, but the description adds genuine cross-parameter meaning: `pairs` is tied to design_primer_pairs' output shape, `excluded` is the design-around form, and `position` is explained as the lowest 1-based assembly coordinate with strand inference. It stops short of clarifying parameter interactions (pairs vs forward/reverse vs template precedence).

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

Purpose5/5

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

States a specific verb+resource ('Find known SNPs under primers') and immediately anchors it to the exact external check it mirrors (NCBI Primer-BLAST's 'Primer binding site may not contain known SNP'). The resource is unique among siblings (check_primer_specificity covers off-target binding, primer_check covers general quality), so an agent can tell what this does without opening the schema.

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

Usage Guidelines3/5

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

Usage is only implied: the `excluded` output is described as 'the SNP spans in the form design_primer_pairs takes, to design around them', which sketches a check-then-redesign workflow but never says when to run this versus primer_check or check_primer_specificity. No exclusions or prerequisites are stated, so the agent must infer placement in the pipeline.

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