Skip to main content
Glama

auto_annotate

Find and name known features on the subject — vector parts, origins, resistance markers and tags — by exact match, by local alignment (which finds a diverged copy and reports the identity and coverage that earned it), or by both, on either strand and across the origin, plus Cre/loxP and Gateway att recognition sites. Emits an annotated record, so a downstream map or export carries the annotations.

Input Schema

NameRequiredDescriptionDefault
modeNohow to match a library entry: "exact" finds only a sequence spelled byte for byte, "alignment" finds a diverged copy and reports its identity and coverage, "both" runs each and keeps what only the other found.both
lox_pNodetect Cre/loxP-family recognition sites.
_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.
policyNowhat the emitted record does with the features it already had: `merge` keeps them all and skips a hit already there to the base, `overwrite` replaces a same-strand feature a hit overlaps, `clear` drops every existing feature first.merge
gatewayNodetect Gateway att recombination sites.
_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.
librariesNowhich feature corpora to search, by id (an id from annotation-library/manifest.json, or "legacy" for the unsourced set). Empty means the ones the panel starts with, which is every corpus but the two it leaves off for their size, AMRFinderPlus and Rfam; name those to search them too.
max_expectNoprotein corpora only: the E-value a translated (six-frame) match must beat to be reported. It also sets the score the search runs at, so a stricter cutoff is a faster scan. Advanced.
alternativesNoprotein corpora only: how many runners-up to keep on each call, so a near relative is reported rather than implied. Advanced.
genetic_codeNoprotein corpora only: the NCBI translation table the six frames are read under. 1 is the standard code. Advanced.
min_coverageNoprotein corpora only: drop a translated call covering less than this much of the database protein's own length. Advanced.
min_identityNoprotein corpora only: drop a translated call under this percent identity over the residues aligned. Advanced.
accepted_onlyNokeep only hits clearing the corpus authority's own acceptance policy (>=95% identity, with a coverage bar that depends on the feature's length). Also decides overlaps: a hit the authority would reject cannot displace one it would accept. Only applies when mode is alignment or both. Advanced.
greedy_gatewayNopermissive att core matching — finds more sites, including partial ones. Only applies when gateway is true. Advanced.
hide_fragmentsNohide hits covering under 95% of their database entry, which upstream calls fragments. Only applies when mode is alignment or both. Advanced.
min_pi_per_matchNolowest identity-weighted coverage worth reporting; upstream's own floor is 3, below which a hit is a fragment of a composite feature rather than the feature. Only applies when mode is alignment or both. Advanced.

Output Schema

NameRequiredDescriptionDefault
recordYesthe subject with the found features added
featuresYesevery feature found, with its source detector
perSourceYeshit count per detector
featureCountYeshow many features were found

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / libraries / description
      Previous value: -"which feature corpora to search, by id (an id from annotation-library/manifest.json, or \"legacy\" for the unsourced set). Empty means all of them."New value: +"which feature corpora to search, by id (an id from annotation-library/manifest.json, or \"legacy\" for the unsourced set). Empty means the ones the panel starts with, which is every corpus but the two it leaves off for their size, AMRFinderPlus and Rfam; name those to search them too."
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations only say readOnlyHint=false and destructiveHint=false; the description adds the essential behavioural fact that this is a writer ('Emits an annotated record') whose output is consumed downstream by a map or export. It stops short of describing what happens to pre-existing features beyond pointing at the emitted record, but the mutation semantics are made explicit rather than left to the hint.

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

Conciseness5/5

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

Two sentences, both load-bearing: the first scopes what is found and how, the second states the output effect. The long first sentence is dense but front-loaded with the core action rather than preamble.

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 16 parameters, a nested _subject object and an output schema, the description only needs to carry purpose plus the mutation semantics, and it does both. It leaves the mode/policy/filter interplay entirely to the schema, which is acceptable here, and nothing an agent needs to call it is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so mode, policy, libraries and every protein-corpus knob are already documented in the schema. The description restates the exact/alignment/both distinction but adds no syntax, defaults or interaction detail beyond what the schema carries — baseline 3 applies.

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

Purpose5/5

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

Names a specific verb and resource ('Find and name known features on the subject') and enumerates the exact feature classes it recognises — vector parts, origins, resistance markers, tags, Cre/loxP and Gateway att sites. The three matching strategies and the either-strand/across-origin scope separate it cleanly from siblings like scan_motif_sites, find_orfs or annotate_region without opening either 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?

The description implies usage context through the feature classes and the exact/alignment/both modes, but never states when to reach for this tool versus a sibling such as annotate_region or find_restriction_sites, and gives no exclusions or prerequisites. An agent can infer the fit but must reason it out.

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