Skip to main content
Glama

summarize_reaction

Extract only the essential fields from a reaction JSON file to reduce context usage, with configurable species, top-level, and ELN data selections.

Instructions

Return a compact, context-efficient view of a reaction JSON file.

The full reaction JSON can be 3,000+ tokens with geometry data. This tool returns only the fields you need for a given task, making it practical for LLM reasoning without burning context.

Default fields (when no arguments given): species: id, name, role, role_detail, smiles, display_text, formula, mw top-level: experiment, conditions eln_data: product_yield, reaction_type

Pass ["*"] for any field set to get all fields (equivalent to loading the full JSON). Request specific fields by name for task-focused summaries.

Args: json_path: Path to a reaction JSON file from parse_reaction. species_fields: Species fields to include. Available: id, name, role, role_detail, smiles, smiles_neutral, is_sm, is_dp, is_substrate, is_solvent, exact_mass, exact_mass_full, mw, formula, adducts, source, source_id, csv_equiv, csv_mass, csv_name, csv_volume, csv_supplier, display_text, original_geometry. Pass [""] for all. top_fields: Top-level fields. Available: version, experiment, input_files, reaction_smiles, reaction_class, reaction_name, classification_confidence, warnings, metadata, conditions. Pass [""] for all. eln_fields: ELN data fields. Available: sm_mass, product_obtained, product_yield, procedure_text, procedure_plain, reaction_type, start_date, labbook_name, solvents, solvent_details. Pass ["*"] for all.

Returns: Compact dict with requested fields for each species and top-level keys.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
json_pathYes
eln_fieldsNo
top_fieldsNo
species_fieldsNo
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently states that the tool returns a subset of fields, defaults to specific fields, and can return all fields on request. It does not describe any side effects or error behavior, but for a read-only summary operation this is acceptable. The description is honest about what it does and does not hide any traits.

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?

The description is longer than average but is well-organized: purpose statement, problem motivation, defaults, usage note, then a clear Args block with bullet-like lists and a Returns line. It is front-loaded with the core purpose and every paragraph earns its place. The field enumerations are necessary given the schema's lack of descriptions, so the length is justified.

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?

Given the tool has 4 parameters, 0% schema coverage, no output schema, and no annotations, the description is nearly complete. It explains default fields, available fields per parameter, the wildcard option, and the return type ('Compact dict'). It omits edge-case handling (e.g., invalid field names) and does not mention error behavior, but for a read-only summarizer these are minor. Overall, it gives an agent everything needed to call it correctly.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate. It does so thoroughly: for each of the three field-list parameters, it enumerates every available option, explains the ['*'] wildcard, and specifies defaults. It also defines json_path as a path from parse_reaction. This adds substantial meaning beyond the bare schema, making it possible for an agent to construct calls without guessing.

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?

The description opens with a specific verb-resource pair ('Return a compact, context-efficient view of a reaction JSON file') and immediately explains the problem it solves (3,000+ token files) and distinct behavior (field filtering). It clearly differentiates itself from siblings like parse_reaction by naming the source and offering a filtered view. This is a precise, unambiguous purpose.

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?

The description explains when to use this tool ('practical for LLM reasoning without burning context') and how to get all fields via ['*'], but it does not explicitly state when NOT to use it or directly compare to alternatives like parse_reaction. It does reference parse_reaction as the source, implying its role, and covers default vs. custom usage clearly. Slightly short of a 5 because exclusion criteria are not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ZiChenWang114514/cdxml-toolkit-community'

If you have feedback or need assistance with the MCP directory API, please join our Discord server