Skip to main content
Glama

label

Idempotent

Adds text annotations to selected atoms using a Python expression over atom properties, including residue-level or per-atom annotations.

Instructions

Adds labels to atoms in the selection

Input Schema

NameRequiredDescriptionDefault
selectionYesAtoms to label. Use ``name CA`` to get one label per residue rather than one per atom.
expressionNoPython expression over atom properties, e.g. ``"%s%s" % (resn, resi)`` or ``resi``.name

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.5.1
    • addedInput schema / properties / expression / description
      Added value: +"Python expression over atom properties, e.g. ``\"%s%s\" % (resn, resi)`` or ``resi``."
    • addedInput schema / properties / selection / description
      Added value: +"Atoms to label. Use ``name CA`` to get one label per residue rather than one per atom."
  2. First observedv1.2.1

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true), so the description should add context such as where labels render, whether they persist in the session, or how repeated calls behave. It adds none of that — it merely restates the operation. Since the operation is a mutation of viewport state, the omission of any lifecycle detail is a real gap.

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 short sentence with the verb front-loaded and no redundant wording. It is efficient, though the terseness borders on under-specification rather than disciplined concision.

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 an output schema present and full parameter coverage, the definition is callable, but for a state-mutating visualization tool it lacks notes on label persistence, clearing labels, and interaction with label-formatting settings. Adequate but with clear gaps.

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%, including a helpful note that `name CA` yields one label per residue and that `expression` is a Python expression defaulting to `name`. The description adds nothing beyond the schema, so the baseline 3 applies.

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 ('Adds labels to atoms') scoped to a selection, which is unambiguous. It does not differentiate from related tools such as `set` (used to configure label appearance) or `hide`/`remove` (used to clear labels), so it falls short of a 5.

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?

There is no when-to-use guidance, no mention of prerequisites (e.g., needing a prior `select`), and no indication of how to remove labels once added. The agent must infer all of this from the name alone.

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