Skip to main content
Glama

design_combinatorial_library

Design a combinatorial library in one step: SLOTS, each offering a bin of interchangeable parts, plus the CONSTANTS every member carries. The member set is the Cartesian product of the bins — one part per slot — pruned by design rules, and each surviving member is assembled by the SAME end-homology (Gibson/NEBuilder/In-Fusion) or plain-concatenation engine the single-construct tools use, so a member's construct is identical to assembling its parts on their own. It builds no second assembler; combinatorial Golden Gate lives in the grammar-assembly panel. Every pruned member is kept in the answer with the rule that removed it.

Input Schema

NameRequiredDescriptionDefault
binsYesthe variable slots: each {slot, parts} names a slot and the interchangeable parts (record names/ids, or wired `record` outputs) that may fill it. The member set is the Cartesian product across bins.
rulesNoj5/Eugene design rules that prune combinations: {kind:'notWith',a,b} (never together), {kind:'with',a,b} (if a then b), {kind:'notMoreThan',part,count} (at most count copies, constants included). Advanced.
_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.
_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.
topologyNoGibson only: which products to enumerate per member. Values: circular (Circular), linear (Linear), both (Both). Advanced.circular
chemistryNo`gibson` is terminal-homology assembly (Gibson/NEBuilder/In-Fusion/homology, one engine); `concat` is a deterministic head-to-tail join with no homology or digest. Values: gibson (End homology (Gibson)), concat (Concatenation).gibson
constantsNoparts every member carries, assembled before the slot choices — the backbone and any fixed linker.
max_membersNocap on Cartesian members enumerated, before pruning. Advanced.
min_homology_bpNoGibson only: shortest terminal homology that counts as a join. In bp. Advanced.

Output Schema

NameRequiredDescriptionDefault
builtYesmembers that closed at least one construct
prunedYesevery combination removed before assembly, each with the rule that removed it — never dropped silently
recordYesthe first member's construct, as a record
membersYesevery built member: its slot→part lineage, the parts assembled, the construct(s) and any flaws
readingYeswhat was enumerated, built and pruned, read off the run
cartesianYesCartesian product size, before pruning (the product of the bin sizes)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare the safe non-read-only/non-destructive/non-open-world profile, and the description adds genuinely new behavioral facts: members are pruned by rules, pruned members are retained in the answer together with the removing rule, and a member's construct is byte-identical to assembling its parts individually. Those are the things an agent would otherwise discover only after calling. Auth, failure modes and the max_members cap are left to the schema.

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?

Four front-loaded sentences that build the mental model in the right order — model, enumeration, pruning, engine identity. The clause 'It builds no second assembler' is a stylistic flourish but earns its place as the differentiation from the assembly tools; the trailing Golden Gate note could be tightened.

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 and 100% parameter coverage, the description carries only the conceptual burden, and it does so well: enumeration, pruning, retained pruned members, and engine equivalence are all covered. Minor gaps remain around scale (the max_members cap and its behavior when exceeded) and error handling, which the description never touches.

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 baseline is 3, but the description adds real conceptual meaning: bins are the variable slots, the member set is their Cartesian product with one part per slot, and constants are assembled before slot choices. That framing disambiguates the two most error-prone inputs beyond the terse schema text. It says nothing about topology, chemistry or min_homology, which remain schema-only.

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?

A specific verb+resource ('Design a combinatorial library') immediately backed by the exact model: SLOTS with interchangeable part bins plus CONSTANTS, expanded as a Cartesian product and pruned by rules. Exemplary sentence explicitly scopes it away from the single-construct assembly tools and states that combinatorial Golden Gate is handled elsewhere, so an agent can separate it from gibson_assemble/golden_gate_assemble without opening a schema.

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

Usage Guidelines4/5

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

It says plainly to use this for the whole library in one step and that its members are assembled by the same engine as the single-construct tools, which tells the agent this supersedes looping over those tools. The exclusion ('combinatorial Golden Gate lives in the grammar-assembly panel') gives a clear when-not. It stops short of naming the specific sibling tool/path for the Golden Gate case, so routing there still requires inference.

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