Skip to main content
Glama

apply_config

Applies a FigTree JSON config and ordered clade operations to a phylogenetic tree, exporting Nexus. Validates parameters and runs operations in CLI order for agent-driven tweaks.

Instructions

Apply a FigTree JSON config (figtree-block keys) plus an ordered operations list and export Nexus. Leaner than style_tree for agent-driven advanced tweaks.

All accepted parameters are validated before execution (collapse_style, multi_tree, auto_color_rank/collapse_rank and every operation field); the execution order is annotations → auto-color/collapse-rank → collapse operations, matching the CLI.

Args: config: Any figtree-block key → value mapping (dot-separated keys). operations: Ordered clade operations (same schema as style_tree). taxonomy_levels: Custom rank prefixes (prefix:rank,...); active during both loading and taxonomy analysis. seed: Reproducible tree selection for multi_tree="random".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
seedNo
configNo
run_nameNo
tree_fileNo
multi_treeNo
operationsNo
tree_indexNo
tree_contentNo
collapse_rankNo
collapse_styleNocollapse
auto_color_rankNo
taxonomy_levelsNo
taxonomy_mapping_fileNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden, and it does add real processing context: validation of all accepted parameters before execution and the deterministic execution order (annotations → auto-color/collapse-rank → collapse operations) matching the CLI. It stops short of the higher-value disclosures an agent needs for a tool that exports files — whether it writes/overwrites anything, where output goes, or what happens on validation failure.

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?

Purpose and sibling differentiation are front-loaded, then processing behavior, then a clean Args list — a logical order with no filler. It is somewhat dense with parenthetical asides and the long validation sentence could be tightened, but every sentence carries information.

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

Completeness3/5

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

With 13 parameters, zero required, 0% schema coverage, and no annotations, the description should resolve how to actually invoke the tool meaningfully; it instead documents only a subset of params and never explains valid combinations or required inputs when everything is optional. The presence of an output schema excuses it from describing return values, but the input-side gaps remain.

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 0%, so the description must compensate, and it does explain several non-obvious params: config ('figtree-block key → value mapping, dot-separated'), operations ('same schema as style_tree'), taxonomy_levels ('prefix:rank,...' active during loading and taxonomy analysis), and seed ('reproducible tree selection for multi_tree="random"'). But roughly half the 13 parameters (tree_file, tree_content, tree_index, run_name, taxonomy_mapping_file, multi_tree) get no explanation in either schema or description, so coverage is only partial.

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?

States a specific verb ('apply') and the exact resources it operates on ('a FigTree JSON config (figtree-block keys) plus an ordered operations list') and its output ('export Nexus'). It also explicitly differentiates itself from the sibling style_tree ('Leaner than style_tree for agent-driven advanced tweaks'), so an agent can pick between them 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 Guidelines4/5

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

It gives a clear selection signal against one sibling — use this when you want the 'leaner' path for 'agent-driven advanced tweaks' versus style_tree. However it provides no explicit when-not conditions and never addresses overlap with the separate export_nexus or run_figtreekit_cli siblings, even though it also claims to export Nexus, so routing is partly left to inference.

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