Skip to main content
Glama

ligate_fragments

Ligate fragments by their overhangs (pydna ligation_assembly) — sticky, optionally blunt.

Input Schema

NameRequiredDescriptionDefault
bluntNoallow blunt-end joins as well as sticky.
_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.
enzymesNodigest every input with these enzymes before ligating. Left unset, the run uses your active enzyme collection.
fill_inNopositional booleans: fill that input's 5' overhangs with Klenow after its digest, so its cut ends join blunt (needs `blunt`). Each join then reports the bases the fill-in added. Advanced.
_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.
fragmentsNothe fragments to ligate — wire upstream `record` outputs here, or name library documents.
end_originsNowhat MADE each input's ends, positionally — this fixes the 5'-phosphate before any treatment. Leave empty for `unspecified`, which is treated as phosphorylated and reproduces a run with no end chemistry at all. Advanced.
circular_onlyNoreport only circular products.
end_treatmentsNothe phosphatase or kinase applied to each input AFTER it was made, positionally. Dephosphorylating the vector is what stops it self-ligating; a junction with no 5'-phosphate on either strand forms no bond and the product is dropped. Advanced.
include_subjectNoalso include the node's subject as a fragment.
fragment_indicesNowhich band to take from each input's digest, positionally (0 = first fragment). Leave empty to use every fragment — which frequently yields no product, exactly as at the bench.
allow_partial_overlapNoallow partially overlapping sticky ends. Advanced.

Output Schema

NameRequiredDescriptionDefault
layoutYeswhere each piece and join sits ON the product: the spans the map draws
recordYesthe first ligation product, as a record
productsYesevery product
junctionsYesthe junctions formed, with the overhang each was made by
productCountYesnumber of products (>1 = ambiguous ligation)
nickedJunctionsYesindices of junctions left NICKED by a missing 5'-phosphate on one strand — the product still transforms and is repaired in vivo. Empty when every junction sealed

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the description needs to add domain behavior — and it adds essentially nothing beyond naming the pydna backend. It does not say that ligation frequently fails to produce product, that products are filtered to circular by default, or that end chemistry determines whether a junction forms; all of that sits in parameter descriptions rather than the tool description.

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 with no filler; the em-dash clause is compact. It is arguably too short for a 12-parameter tool, but nothing in it is redundant, and the core operation leads.

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

Completeness2/5

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

With 12 parameters, nested record objects, an output schema, and several advanced traits (positional end chemistry, fill-in, partial overlaps), the description leaves the agent without guidance on input sourcing, typical failure modes, or tool selection among the many assembly siblings. The output schema removes the need to document return values, but the usage-side gaps remain substantial.

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% and the parameter prose is unusually rich (positional fragment_indices, end_treatments, fill_in, end_origins), so the schema carries parameter meaning fully. The description's only parameter-adjacent content is the blunt/sticky remark, which merely restates the blunt flag; baseline 3 applies when the schema does all the work.

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 ('Ligate fragments by their overhangs') plus the molecular basis for the operation (sticky, optionally blunt) and names the underlying implementation (pydna ligation_assembly). It does not distinguish this from plausible siblings such as restriction_ligate, golden_gate_assemble, gibson_assemble, or ligation_independent_clone, so an agent cannot route between assembly tools on the strength of this text alone.

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?

'sticky, optionally blunt' describes a capability, not a selection criterion. There is no statement of when to prefer this ligation over restriction_ligate or the other assembly tools, no prerequisites, and no note that inputs typically come from digest_fragments upstream (that dependency is only visible in the schema's prose).

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