Skip to main content
Glama

Jean — Molecular Biology & Genomics

enumerate_reaction

Read-only

Run a reaction SMARTS over lists of reactants, every combination, with RDKit's reaction engine: one list per reactant template, in template order.

Input Schema

NameRequiredDescriptionDefault
_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.
smartsNoyour own reaction SMARTS, reactants>>products. Only applies when template is custom.
_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.
templateNothe library reaction to run, or custom for your own SMARTS.83_Schotten_Baumann_amide
reactantsYesone list of SMILES or molfiles per reactant template, in template order.
max_combinationsNostop after this many reactant combinations.

Output Schema

NameRequiredDescriptionDefault
cappedYestrue when the run stopped at max_combinations
summaryYesthe run in words: products, combinations, and what was dropped or capped
productsYesevery product set as SMILES with the 0-based index of each reactant that made it

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description usefully adds that products come from RDKit's reaction engine and that enumeration is exhaustive over templates, but it never warns about combinatorial blow-up or the max_combinations cutoff that the schema alone reveals.

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 compact sentence with the core action front-loaded, followed by the input-shape constraint. The colon construction is slightly dense but nothing is redundant at the sentence level.

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 the description need not explain returns, and annotations carry the safety story; the description covers the essential mechanics for a 6-parameter tool. It stops short of mentioning the max_combinations guardrail or the optional _subject/_files inputs, but nothing critical for correct invocation 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 the baseline is 3. The description reinforces the ordering semantics of `reactants` (one list per reactant template, in template order) and the custom-SMARTS path, but this largely duplicates the schema text rather than adding syntax, format or sizing guidance.

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?

States a specific verb (run) and resource (reaction SMARTS over reactant lists) plus the key semantic detail that it enumerates every combination using RDKit's reaction engine. It does not name or distinguish itself from any sibling (e.g. design_combinatorial_library, screen_molecule_library), so an agent must infer the boundary.

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 implied rather than stated: 'every combination' plus 'one list per reactant template, in template order' tells the agent the input shape and intent (exhaustive combinatorial enumeration). There is no explicit when-to-use/when-not guidance and no named alternative for non-exhaustive or library-screening workflows.

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