Skip to main content
Glama
mahynotch

ChimeraX MCP Server

by mahynotch

ChimeraX MCP Server

PyPI License: MIT Python 3.10+

Talk to proteins in natural language. This MCP server connects AI coding tools (Claude Code, Cursor, VS Code, etc.) to UCSF ChimeraX, letting you load, edit, visualize, and analyze protein structures through conversation -- no manual ChimeraX commands needed.

Just say "open 6VXX, mutate A:501 to Lys, color by hydrophobicity, and take a screenshot" and watch ChimeraX do it in real time.

This project is in early development and actively looking for contributors. Bug reports, feature requests, and pull requests are very welcome -- check out the issues page or open a PR!

Demos

Load & Visualize

"Load 3LJ5, show only chain A, make it publication-ready with rainbow coloring and transparent surface"

Structure workflow

Mutate Residue

"Open 6VXX, zoom to residue A:501, highlight it, mutate Thr to Lys, show nearby residues"

Mutation workflow

Electrostatic & Hydrophobicity Surfaces

"Load 1AKI, show surface, color by electrostatic potential, then switch to hydrophobicity"

Electrostatic surface

Related MCP server: vmd-mcp

Features

  • 39 tools covering structure loading, editing, visualization, measurement, selection, and video recording

  • Auto-launches ChimeraX -- no manual setup needed, just install and go

  • Works with any MCP client -- Claude Code, Cursor, Windsurf, VS Code Copilot, Cline, OpenCode, Continue, Claude Desktop

  • Built-in agent instructions -- AI agents automatically learn ChimeraX spec syntax and common workflows

  • Security hardened -- command injection prevention, dangerous command blocking, script path validation

  • Accepts flexible input -- both A:48 and /A:48 spec formats, both 1-letter and 3-letter amino acid codes

  • Video recording -- capture sessions as MP4, record turntable spins

  • Run custom scripts -- execute .cxc and .py scripts with path validation

Prerequisites

  • UCSF ChimeraX installed (download)

  • Python 3.10+

ChimeraX will be launched automatically when the first tool is called. No need to start it manually or enable the REST API yourself.

Open ChimeraX and run in its command line:

remotecontrol rest start port 8765

To use a custom ChimeraX install location, set the CHIMERAX_BIN environment variable:

export CHIMERAX_BIN="/path/to/ChimeraX"

Installation

pip install chimerax-mcp

From GitHub (latest dev):

pip install git+https://github.com/mahynotch/chimerax-mcp.git

From source (development):

git clone https://github.com/mahynotch/chimerax-mcp.git
cd chimerax-mcp
pip install -e .

MCP Configuration

After installing, add the server to your AI coding tool:

claude mcp add -s user chimerax -- chimerax-mcp

Edit config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "chimerax": {
      "command": "chimerax-mcp",
      "args": []
    }
  }
}

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

{
  "mcpServers": {
    "chimerax": {
      "command": "chimerax-mcp",
      "args": []
    }
  }
}

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "chimerax": {
      "command": "chimerax-mcp",
      "args": []
    }
  }
}

Add to .vscode/mcp.json:

{
  "servers": {
    "chimerax": {
      "type": "stdio",
      "command": "chimerax-mcp"
    }
  }
}

Use the "Edit MCP Settings" button in the Cline panel, or edit directly:

  • macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

  • Windows: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json

{
  "mcpServers": {
    "chimerax": {
      "command": "chimerax-mcp",
      "args": [],
      "disabled": false
    }
  }
}

Add to ~/.config/opencode/opencode.json or project opencode.json:

{
  "mcp": {
    "chimerax": {
      "type": "local",
      "command": ["chimerax-mcp"],
      "enabled": true
    }
  }
}

Add to .continue/config.yaml:

mcpServers:
  - name: chimerax
    type: stdio
    command: chimerax-mcp

Quick Start

Once configured, just talk naturally:

"Open 6VXX, color by chain, show surface, zoom to residue A:501"

The AI will call MCP tools sequentially and ChimeraX renders each step in real time:

  1. open_structure("6VXX") -- fetches the structure from RCSB

  2. color_structure("#1", "chain") -- colors each chain differently

  3. show_surface("#1") -- displays the molecular surface

  4. zoom_to("/A:501") -- centers the view on residue 501 of chain A

Available Tools (39)

Structure (6)

Tool

Description

open_structure

Open PDB ID, file path, or URL

close_structure

Close one or all models

save_structure

Save to PDB/mmCIF/mol2

list_models

List all open models

get_sequence

Get amino acid sequence for a chain

run_script

Execute a .cxc or .py script

Editing (4)

Tool

Description

mutate_residue

Swap residue using Dunbrack rotamer library

delete_atoms

Delete atoms or residues

add_hydrogen

Add hydrogens (protonate)

minimize_energy

Run energy minimization

Visualization (18)

Tool

Description

color_structure

Color by scheme (chain, bfactor, rainbow) or named/hex color

show_electrostatic_surface

Coulombic ESP (red=negative, blue=positive)

show_hydrophobicity_surface

Molecular Lipophilicity Potential

show_surface

Show molecular surface with optional transparency

hide_surface

Hide molecular surface

show_cartoon

Show ribbon/cartoon

show_sticks

Show stick representation

hide_atoms

Hide atoms

zoom_to

Zoom camera to a selection

set_background

Set background color

label_residues

Add text labels to residues

clear_labels

Remove all labels

reset_view

Reset to default camera view

take_snapshot

Save PNG screenshot

start_recording

Begin recording session as video

stop_recording

Stop recording and save to MP4/WebM/MOV

spin

Rotate model around an axis

record_spin

Record a full turntable spin video

Measurement (6)

Tool

Description

measure_distance

Distance between two atoms (Angstroms)

measure_angle

Bond angle from three atoms (degrees)

align_and_rmsd

Structural alignment with RMSD

find_contacts

Residues within N Angstroms of selection

get_bfactors

B-factor values for selection

measure_buried_area

Buried solvent-accessible surface area

Selection (5)

Tool

Description

select_atoms

Select by ChimeraX specifier

select_near

Select within distance

select_chain

Select entire chain

invert_selection

Invert current selection

name_selection

Save selection under a reusable name

Security

Commands are sanitized before being sent to ChimeraX:

  • Command injection blocked -- ; and newlines rejected (ChimeraX uses these as command separators)

  • Dangerous commands blocked -- exec, shell, system are rejected

  • Script execution validated -- run_script only accepts existing .cxc/.py files with path validation

  • Local-only -- REST API listens on 127.0.0.1 only, not exposed to the network

Testing

Run the full test suite (53 tests) against a live ChimeraX instance:

pip install pytest
python -m pytest tests/test_live.py -v

Security tests run without ChimeraX. Live tests auto-skip if ChimeraX is not available.

For AI Agents: Auto-Install

If a user asks you to install this MCP server, follow these steps:

  1. Install the package:

pip install chimerax-mcp
  1. Register the MCP server (detect the user's tool and run the appropriate command):

Tool

Command

Claude Code

claude mcp add -s user chimerax -- chimerax-mcp

Cursor

Add to ~/.cursor/mcp.json

VS Code

Add to .vscode/mcp.json

For Cursor / VS Code / others, create or update the config file with:

{
  "mcpServers": {
    "chimerax": {
      "command": "chimerax-mcp"
    }
  }
}
  1. Restart the AI tool to load the new MCP server.

  2. Verify with a test call: open_structure("1aki")

Important: Before proceeding, confirm with the user that UCSF ChimeraX is installed on their machine. If not, direct them to https://www.cgl.ucsf.edu/chimerax/download.html -- the server auto-launches ChimeraX but cannot install it.

Disclaimer

This project is not affiliated with, endorsed by, or sponsored by UCSF or the RBVI team. "ChimeraX" is a trademark of the University of California. This server communicates with ChimeraX through its public REST API and contains no ChimeraX source code.

Users are responsible for complying with ChimeraX's license terms. ChimeraX is free for academic and non-commercial use; commercial use requires a separate license from UCSF.

License

MIT -- see LICENSE

Available Tools

39 tools
add_hydrogenC

Add hydrogens to the structure. Aliases: protonate, add H, hydrogenate.

Example: add_hydrogen("#1")

ParametersJSON Schema
NameRequiredDescriptionDefault
specNoall

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavior. It only says 'Add hydrogens', implying a mutation, but no details on side effects, requirements, or reversibility.

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?

Single sentence stating the action, followed by aliases and an example. Efficient but could include more details without being verbose.

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 output schema present, return values are covered. However, the description is minimal; the parameter 'spec' is undocumented beyond the example. Still, for a simple tool, it's minimally adequate.

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?

Only one parameter 'spec' with no schema description (0% coverage). The example '#1' adds some meaning, suggesting a selection string, but no explanation of valid values or defaults beyond 'all'.

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 clearly states 'Add hydrogens to the structure' with a verb and resource. The alias list and example reinforce the purpose. It stands out from siblings, which are mostly unrelated.

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?

No guidance on when to use this tool vs alternatives (e.g., protonation in other contexts). No when-not or prerequisites mentioned.

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

align_and_rmsdA

Align one selection to another and report RMSD. Uses ChimeraX 'align' command (no 'measure rmsd' exists). Aliases: align, superpose, RMSD, overlay, structural alignment.

Example: align_and_rmsd("#1/A", "#2/A")

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes
to_specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It mentions using the ChimeraX 'align' command, but it does not clarify whether this operation modifies the structure (e.g., moves atoms) or is read-only. This ambiguity could lead to unexpected side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences, aliases, and an example. It is front-loaded with the core purpose, and every sentence adds necessary information without redundancy.

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?

Given the complexity of structural alignment, the description covers the core function but lacks details on side effects (e.g., whether coordinates are moved) and prerequisites. Since an output schema exists, return values are not required, but additional context about behavior would improve completeness.

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?

The schema has no descriptions for the two string parameters (spec, to_spec). The description adds value by providing an example with format '#1/A' and '#2/A', but it does not explicitly explain what each parameter represents or the expected selection syntax.

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 clearly states the verb 'align' and resource 'one selection to another', and it reports RMSD. It provides aliases and an example, making the purpose unambiguous. It distinguishes itself from sibling tools like 'measure_distance' or 'find_contacts' which serve different functions.

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 implies usage for structural alignment and RMSD calculation, with an example demonstrating typical input patterns. However, it does not explicitly state when to use this tool versus alternatives or provide exclusions for specific scenarios.

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

clear_labelsA

Remove all labels. Aliases: delete labels, hide labels, unlabel.

Example: clear_labels()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavior. It only states 'Remove all labels' without detailing side effects, undo capability, or what happens to the underlying structure. The behavior is minimally described.

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 very concise, including aliases and an example. It wastes no words but could be structured to include more context. Still, it is efficient and front-loaded.

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?

For a simple tool with no parameters and an existing output schema, the description is fairly complete. It covers the basic action and provides aliases, but lacks details on return values or confirmation of removal.

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?

The tool has no parameters, and the schema coverage is 100% (no params to describe). The description adds no parameter info but is not required to. Baseline for 0 params is 4.

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 clearly states the action 'Remove all labels' and provides aliases. It is distinct from sibling tools like 'label_residues' which adds labels, making the purpose unambiguous.

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?

No guidance is provided on when to use this tool versus alternatives. Even though the name implies its use, there is no explicit context about when not to use or how it compares to other label-related tools among siblings.

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

close_structureA

Close one or all open models. Aliases: remove model, delete model, unload.

Example: close_structure("#1")

ParametersJSON Schema
NameRequiredDescriptionDefault
model_idNoall

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral traits. It only states the action ('close'), leaving uncertainties about side effects (e.g., memory release, undoability). No disclosure of whether this is destructive or reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one sentence, plus aliases and a single example. Every element adds value with no redundancy.

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?

Given the tool's simplicity (one optional parameter, output schema present), the description is minimally complete. It covers the basic operation but omits details like what happens when closing 'all' or potential error conditions.

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 clarify parameter meaning. It implies 'model_id' identifies which model to close, with 'all' as default, and gives an example using '#1'. However, the format of 'model_id' (e.g., '#1' vs a name) is not explained, leaving ambiguity.

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 clearly states the tool's purpose: 'Close one or all open models.' The aliases ('remove model, delete model, unload') reinforce the verb and resource. This distinguishes it from sibling tools like 'delete_atoms' which operate on atoms rather than models.

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?

An example usage is provided ('close_structure("#1")'), which implies how to target a specific model. However, there is no explicit guidance on when to use this tool versus alternatives, nor any mention of prerequisites or exclusions.

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

color_structureA

Color atoms/residues by scheme (chain, bfactor, rainbow) or a named/hex color. For electrostatic or hydrophobicity coloring use the dedicated surface tools. Aliases: colour, paint, set color, recolor.

Example: color_structure("#1", "chain")

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes
color_schemeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It states the core action (coloring) but does not disclose any side effects, permissions, or behaviors beyond that. Adequate for a visual-only operation but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences: main action, usage exclusion, aliases and example. Every sentence adds value and the key information is front-loaded.

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?

For a simple coloring tool with no output schema, the description covers the main purpose and provides basic guidance. However, parameter details are lacking (spec format, exact color_scheme values), so completeness is moderate.

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

Parameters2/5

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

Schema has 0% description coverage. The description mentions 'scheme (chain, bfactor, rainbow) or a named/hex color' for color_scheme and implies spec is atoms/residues, but does not specify format for spec (e.g., selection syntax) or valid hex color formats. Partial compensation but still vague.

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?

Clearly states the verb 'color', the resource 'atoms/residues', and the method 'by scheme (chain, bfactor, rainbow) or a named/hex color'. Distinguishes from sibling tools like electrostatic/hydrophobicity surface tools.

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

Usage Guidelines5/5

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

Explicitly states when not to use: 'For electrostatic or hydrophobicity coloring use the dedicated surface tools.' Provides aliases and an example, giving clear context for when this tool is appropriate.

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

delete_atomsB

Delete atoms or residues matching the spec. Aliases: remove atoms, erase, cut.

Example: delete_atoms("/A:501")

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description must bear full burden. It states 'delete' implying irreversible removal, but does not disclose whether undoable, if it requires confirmation, or if it affects other models. No side effects mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise: one sentence, aliases, example. No redundant words. Front-loaded with action and resource.

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

Completeness2/5

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

For a destructive tool with no annotations and a single cryptic parameter, the description lacks completeness. It does not explain the output (though output schema exists), spec language, or permanence. Agent cannot confidently use this tool without more detail.

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?

The schema has one parameter 'spec' with 0% description coverage. The description adds an example format '/A:501' but does not explain the selection syntax or accepted patterns. The example is helpful but insufficient for complex spec strings.

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 clearly states it deletes atoms or residues matching a spec, with an example. The verb 'delete' is specific, and the resource is atoms/residues, distinguishing it from siblings like 'hide_atoms' (non-destructive) and 'mutate_residue' (modification).

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?

No guidance on when to use this tool vs alternatives (e.g., hide_atoms for non-destructive hiding). No when-not-to or prerequisites mentioned. The example shows a spec format but does not explain context.

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

find_contactsB

Find residues within N Angstroms of a selection. Aliases: contacts, neighbors, nearby residues, clashes.

Example: find_contacts("/A:501", 4.0)

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes
distanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits (e.g., read-only, output format, side effects). The aliases and example give minimal context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise and front-loaded with purpose, aliases, and a helpful example. No unnecessary words.

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

Completeness2/5

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

Given no annotations and no schema description, the description is too brief. It omits selection syntax details, output information, and edge cases, making it incomplete.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds little: it implies the distance parameter but does not explain the spec format (only an example). Lacks detail to compensate.

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 clearly states the tool finds residues within a distance of a selection, with aliases and an example. It is specific and distinct from sibling tools.

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?

No explicit guidance on when to use this tool versus alternatives like 'select_near' or 'measure_distance'. The example helps but lacks when-not or context exclusions.

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

get_bfactorsB

Return B-factors for selected atoms. Aliases: B-factor, temperature factor, displacement.

Example: get_bfactors("/A:501")

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavior. It only states the return of B-factors, omitting details such as output format (e.g., list, array, map), error handling, or whether it modifies state. Minimal behavioral insight is provided beyond the raw function.

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 short and to the point, with three separate lines for purpose, aliases, and example. No redundant information. However, the structure could be improved by adding a brief explanation of the 'spec' parameter, but overall it efficiently conveys the core 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?

Given the presence of an output schema and a single parameter, the description covers the basic purpose but lacks details on parameter syntax and output structure. For a simple query tool, it is adequate but not thorough. Additional context about selection format would improve completeness.

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

Parameters2/5

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

The single parameter 'spec' has no description in the input schema (0% coverage). The description lists an example ('/A:501') and mentions 'selected atoms', but does not explain the syntax or semantics of the selection string. Users must infer the format from the example, which is insufficient for reliable use.

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 clearly states the tool returns B-factors for selected atoms, using a specific verb ('Return') and resource ('B-factors'). The aliases help clarify terminology, and the example further solidifies the purpose. Among sibling tools, none directly compete for B-factor retrieval, so differentiation is inherent.

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?

No guidance on when to use this tool versus alternatives is provided. There is no mention of prerequisites, limitations, or situations where another tool might be more appropriate. The description assumes the user already knows they need B-factors, offering no context for selection or comparison with siblings.

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

get_sequenceA

Return amino acid sequence for a chain. Aliases: sequence, residues, chain sequence.

Example: get_sequence("/A")

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only states the function, omitting details like error handling (e.g., missing chain), output format (e.g., one-letter codes), or any side effects. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with two short lines and an example. Every word adds value, and the purpose is front-loaded. No wasted text.

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's simplicity (one parameter, no annotations, but an output schema exists), the description is largely sufficient. It explains the core function and provides an example. Minor gaps like chain specification format do not significantly impair understanding.

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?

The schema has 0% description coverage for the single parameter 'chain_spec.' The description adds meaning via the example '/A' and the aliases 'sequence, residues, chain sequence,' indicating the parameter specifies a chain. However, it does not fully define the format or constraints.

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 clearly states the tool returns 'amino acid sequence for a chain,' specifying the verb and resource. Among siblings, no other tool retrieves sequences, so it is well-distinguished.

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?

The description provides an example and aliases but no explicit guidance on when to use this tool vs alternatives. Usage is implied by the purpose, but no when-not or exclusion criteria are given.

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

hide_atomsB

Hide atoms for a selection. Aliases: hide, conceal atoms.

Example: hide_atoms("/A:501")

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states 'Hide atoms' without explaining whether it's temporary, reversible, or has side effects. No details on permissions, limitations, or the effect on other visualizations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences and an example line. Every part is purposeful, with the key action and an illustrative example front-loaded. No unnecessary words.

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?

Given the tool's simplicity (one parameter) and the existence of an output schema, the description covers basic intent but omits important details like parameter semantics and behavioral context. It is minimally adequate but has clear gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate. It only gives an example ('/A:501') but does not explain the spec parameter syntax, allowed formats, or how to construct selection strings. This leaves the agent underinformed.

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 clearly states the tool hides atoms for a selection, with a verb ('Hide') and resource ('atoms for a selection'). The example reinforces the purpose. It distinguishes from siblings like hide_surface and delete_atoms by specifying 'atoms'.

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?

No guidance on when to use this tool versus alternatives like delete_atoms or hide_surface. The description only provides an example but lacks context on prerequisites, preferred scenarios, or exclusions.

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

hide_surfaceB

Hide molecular surface. Aliases: remove surface, surface off.

Example: hide_surface("#1")

ParametersJSON Schema
NameRequiredDescriptionDefault
specNoall

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as scope (e.g., applies to all models by default), reversibility, or side effects. The minimal description adds little beyond the tool name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one-line purpose, aliases, and an example. It is front-loaded and wastes no space, though more detail could be added without breaking conciseness.

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?

Given the tool's simplicity (one optional parameter), the description is somewhat adequate but lacks explanation of the 'spec' parameter's semantics and the output schema. It could be more complete with minimal additions.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only shows the parameter in an example without explaining its syntax or meaning. The example helps but does not fully compensate for the lack of parameter documentation.

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 clearly states 'Hide molecular surface' with aliases and an example, making the verb and resource unambiguous. It is distinct from sibling tools like 'show_surface'.

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?

The example 'hide_surface("#1")' provides a concrete usage case, but there is no explicit guidance on when to use this tool versus alternatives like 'hide_atoms' or 'show_surface'.

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

invert_selectionA

Invert the current selection. Aliases: select inverse, flip selection.

Example: invert_selection()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

Without annotations, the description carries the full burden but only provides the basic action. It does not disclose what 'invert' entails (e.g., does it toggle selection? Does it keep named selections intact? Performance impacts for large selections?). No side effects or state changes are mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: one sentence for the action, plus an aliases line and an example. Every word serves a purpose. No unnecessary information.

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?

For a parameterless tool with an output schema (not shown), the description is adequate but could briefly note that the tool modifies the current selection in the viewer. The example is helpful. Slight lack of clarity on whether the selection changes in-place or returns a new selection via output schema.

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?

The tool has no parameters, so no additional semantics are needed. The input schema is empty and fully covered by the description. The description adds no parameter information, but none is required.

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 clearly states the action 'Invert the current selection' with a specific verb and resource. It distinguishes from sibling tools like select_atoms, select_near, and select_chain by specifying inversion rather than direct selection.

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?

No guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or scenarios where inversion is appropriate or inappropriate. For example, it does not indicate that a selection must already exist or that inversion toggles the selection.

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

label_residuesC

Add text labels to residues. Default shows residue name + number. Aliases: annotate, tag residues, show labels.

Example: label_residues("/A:501")

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes
labelNodefault

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, and description does not disclose whether labels are appended, replaced, or cleared. Effects on existing labels are unclear, important for a labeling tool.

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?

Concise with minimal fluff. Includes aliases and example. Could be slightly more structured, but front-loads the primary action effectively.

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

Completeness2/5

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

Missing details on whether multiple residues can be labeled at once, how existing labels are handled, or any output expectations. Despite an output schema, the behavioral gaps reduce completeness.

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

Parameters2/5

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

Schema coverage is 0%, so description must compensate. It explains spec via example and implies label customizes text, but does not specify format for spec or valid values for label. The default label value 'default' is ambiguous.

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?

Description clearly states 'Add text labels to residues' with default behavior, includes aliases, and provides an example. It distinguishes from sibling 'clear_labels' by focusing on addition vs removal.

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?

No guidance on when to use this tool versus alternatives. Example shows basic usage but no context for when labeling is appropriate or when to choose other tools.

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

list_modelsA

List all open models with IDs and names. Aliases: show models, what's open, loaded structures.

Example: list_models()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so description must disclose behavior. It states it outputs IDs and names of open models, which is minimal but sufficient. No mention of side effects or ordering, but for a simple read tool, it's adequate.

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?

Description is very concise (two short sentences plus aliases and example). Front-loaded with essential info. Could omit the example but it helps clarity.

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 no parameters, no annotations, and an output schema (not shown), the description sufficiently explains what it does and what it returns (IDs and names). Could mention it's read-only, but not required.

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?

Tool has 0 parameters. Baseline score is 4 as per rubric. No additional parameter info needed.

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 explicitly states it lists all open models with IDs and names. It provides aliases and an example, making the purpose unmistakable. No sibling tool overlaps, so it's well-distinguished.

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?

No explicit when-to-use or when-not-to-use guidance. However, as the only tool for listing models, usage is self-evident. Could mention it's a safe read-only operation.

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

measure_angleB

Measure bond angle defined by three atoms in degrees. Aliases: angle, bond angle.

Example: measure_angle("/A:501@N", "/A:501@CA", "/A:501@C")

ParametersJSON Schema
NameRequiredDescriptionDefault
atom1Yes
atom2Yes
atom3Yes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral traits. It only states it measures an angle and gives an example, but does not disclose read-only nature, side effects, or limitations.

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 very concise and front-loaded with the main action. The example is useful, but the description could be more structured (e.g., bullet points) without adding length.

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

Completeness2/5

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

Given the complexity (3 required parameters, no schema descriptions, and many sibling tools), the description lacks completeness: no usage guidance, no parameter explanation, and minimal behavioral context. Output schema exists but is not described.

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

Parameters2/5

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

Input schema has 0% description coverage for parameters; they are just type 'string'. The description provides an example showing atom specification format, but no explicit explanation of the syntax or semantics for the three atom parameters.

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 explicitly states 'Measure bond angle defined by three atoms in degrees', providing a clear verb and resource. It includes aliases and an example, distinguishing it from sibling tools like measure_distance.

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?

The description implies usage through the example but does not explicitly state when to use this tool versus alternatives, nor does it provide any exclusion criteria or prerequisites.

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

measure_buried_areaA

Measure buried solvent-accessible surface area between two atom sets. Aliases: buried area, interface area, binding interface.

Example: measure_buried_area("#1/A", "#1/B")

ParametersJSON Schema
NameRequiredDescriptionDefault
spec1Yes
spec2Yes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

The description covers what the tool measures but fails to disclose potential behavioral traits such as whether it is read-only, requires an open structure, or has any side effects. Given that no annotations are provided, the description should have compensated by stating these aspects, but it omits them, leaving assumptions to the agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, an alias line, and an example. No redundant information exists, and the key action is front-loaded immediately. Every element is purposeful.

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?

The existence of an output schema reduces the need to explain return values, but the description omits preconditions (e.g., a structure must be open) and constraints (e.g., both selections must be from the same model). It does not mention units or expected output format. The example hints at usage but leaves several contextual 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?

With 0% schema description coverage, the description does not individually describe spec1 and spec2, but it adds meaning by stating 'between two atom sets' and providing an example with '#1/A' and '#1/B', implying they are selection strings. However, it lacks explicit format details or constraints, so it only marginally compensates for the schema gap.

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 explicitly states 'Measure buried solvent-accessible surface area between two atom sets,' which is a specific verb and resource. Aliases like 'interface area' and 'binding interface' further clarify the context. The example demonstrates usage with selection strings, distinguishing it from sibling tools like measure_distance or measure_angle.

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?

The description implies usage for quantifying interfaces via the 'binding interface' alias, but it does not provide explicit guidance on when to use this tool versus alternatives like find_contacts or when not to use it. No conditions or exclusions are stated, leaving the agent to infer context from the aliases.

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

measure_distanceB

Measure distance between two atoms in Angstroms with visual annotation. Aliases: distance, how far, length between.

Example: measure_distance("/A:501@CA", "/A:31@CA")

ParametersJSON Schema
NameRequiredDescriptionDefault
atom1Yes
atom2Yes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It mentions 'visual annotation' but does not explain side effects, safety (e.g., read-only nature), or whether it modifies the structure. This is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: a single functional sentence, alias list, and example. Every element is relevant and front-loaded.

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?

For a simple measurement tool with an output schema (not provided), the description covers the key points: what is measured, units, and visual feedback. Could be more complete by noting return value format or additional constraints.

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?

The input schema has two string parameters with 0% description coverage. The description adds an example showing the atom selection format ('/A:501@CA'), which hints at the parameter semantics, but does not fully explain the required pattern or acceptable values.

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 clearly states the tool's action: 'Measure distance between two atoms in Angstroms with visual annotation.' It also includes aliases and an example, making it specific and distinct from sibling tools like measure_angle.

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?

The description provides no guidance on when to use this tool versus alternatives such as measure_angle or find_contacts. There are no explicit when-not or prerequisite conditions.

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

minimize_energyC

Run energy minimization on a model. Aliases: relax, optimize geometry, energy minimize.

Example: minimize_energy(100, "#1")

ParametersJSON Schema
NameRequiredDescriptionDefault
stepsNo
model_idNo#1

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only says 'run energy minimization' without disclosing behavioral traits like destructiveness, reversibility, or required permissions. Minimal transparency.

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 very short and to the point, with aliases and an example. It is front-loaded and lacks fluff, but does not include structured details like parameter descriptions.

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

Completeness2/5

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

Given the simplicity of the tool but with an output schema, the description does not mention return values, prerequisites (e.g., model must be loaded), or effects on the model state, leaving context incomplete.

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

Parameters2/5

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

Schema description coverage is 0%, so description must compensate. The example hints at parameter order and values but does not explain what 'steps' or 'model_id' mean or their roles, providing minimal extra semantics.

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 clearly states 'Run energy minimization on a model' with aliases and an example, making the verb and resource specific and distinct from sibling tools like 'open_structure' or 'get_sequence'.

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?

No guidance on when to use this tool versus alternatives. The description only states what it does, not the context or prerequisites (e.g., model must be open) or when not to use it.

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

mutate_residueA

Mutate (swap) a residue to a different amino acid using the Dunbrack rotamer library. Accepts both 1-letter (K) and 3-letter (LYS) amino acid codes. Spec can be /A:48 or A:48 format. Aliases: swap, change residue, substitute, point mutation.

Example: mutate_residue("/A:501", "K")

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes
new_aaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

The description mentions the Dunbrack rotamer library but does not disclose if the mutation modifies the structure in-place, if a structure must be open, or what the output represents. Since no annotations exist, more detail would help.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loads the core action, includes useful aliases and an example, with no redundant sentences.

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?

For a two-parameter tool with an output schema, the description adequately covers usage but omits prerequisites (e.g., structure must be loaded) and side effects. It is mostly complete.

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 has 0% description coverage, so the description must compensate. It explains spec format ('/A:48 or A:48') and new_aa ('1-letter and 3-letter codes'), which adds significant meaning beyond names.

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 states 'Mutate (swap) a residue to a different amino acid using the Dunbrack rotamer library,' which is a specific verb and resource. Aliases and an example clarify the action. Sibling tools are diverse, so no confusion.

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 input formats for spec and new_aa, including examples. It does not explicitly state when to use versus alternatives, but the context of mutation is clear enough.

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

name_selectionB

Save current selection under a reusable name. Aliases: save selection, bookmark, name zone.

Example: name_selection("binding_site")

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the basic function; it does not disclose if overwriting occurs, persistence, or behavior with empty selection.

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?

Extremely brief with two short sentences and an example; no wasted words, though it could expand on key details without losing efficiency.

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?

For a simple tool with one parameter and an output schema, the description covers the core action but lacks details on edge cases and behavior, making it minimally adequate.

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

Parameters2/5

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

Schema coverage is 0%, and the description only provides an example ('binding_site') without explaining the parameter's role, constraints, or uniqueness requirements.

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 states the verb 'Save' and the resource 'current selection' under a reusable name, clearly distinguishing it from sibling tools which involve selection but not naming.

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?

No guidance on when to use this tool versus alternatives like select_atoms; no exclusions or context for using it, only an example is provided.

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

open_structureA

Open a molecular structure from PDB ID, file path, or URL. Aliases: load, fetch, import, read structure.

Example: open_structure("6VXX")

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It does not mention side effects (e.g., caching, state changes), prerequisites (e.g., internet for PDB ID), or error handling for invalid sources. This is a significant gap for a tool that may have non-obvious behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, with aliases and an example in minimal space. Every sentence is useful; no fluff or repetition. The structure is effective.

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?

For a tool with low complexity (one parameter) and an output schema, the description covers the essential purpose. However, it omits details about return values, error behavior, or performance considerations, which could be helpful for an agent. The completeness is adequate but not exhaustive.

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 coverage is 0%, and only one parameter 'source' exists. The description adds meaning by listing valid input types (PDB ID, file path, URL), but does not specify exact formats or constraints. This provides some value beyond the raw schema, but not enough to exceed baseline 3.

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 clearly states the verb 'Open' and the resource 'molecular structure', and specifies three distinct source types (PDB ID, file path, URL). It effectively distinguishes from sibling tools like close_structure and save_structure. The example reinforces the 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 lists aliases and provides an example, but does not explicitly state when to use this tool versus alternatives. However, given the sibling tools, it is clear that this is the primary tool for opening structures, so usage context is implicit. Lack of explicit when-not or prerequisites prevents a higher score.

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

record_spinC

Record a full turntable spin and save as video in one step. Aliases: turntable video, spin video, rotation movie, 360 video.

Example: record_spin("/tmp/turntable.mp4")

ParametersJSON Schema
NameRequiredDescriptionDefault
axisNoy
pathYes
framesNo
degreesNo
framerateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions one-step recording but does not disclose side effects, required permissions, or behavior for existing files. The behavioral information is minimal and vague.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, but the example is helpful. However, it lacks structured information about parameters, and the conciseness comes at the cost of completeness. Could be improved without much extraneous text.

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

Completeness2/5

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

Despite having an output schema, the tool has 5 parameters and the description only addresses one. Missing details on output format, overwrite behavior, and parameter options make it incomplete for reliable use.

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

Parameters1/5

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

Schema coverage is 0% and the description only mentions the 'path' parameter via an example. It fails to explain 'axis', 'frames', 'degrees', and 'framerate', which are left to the agent to infer from defaults or context. This is insufficient for correct invocation.

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 clearly states the purpose: record a full turntable spin and save as video in one step. It provides aliases (turntable video, spin video, etc.) and distinguishes from sibling tools like 'spin' and 'start_recording' by emphasizing the one-step nature.

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?

The description implies when to use this tool (instead of separate spin and recording steps) but does not explicitly state when not to use it or compare to alternatives. No direct guidance on prerequisites or scenarios.

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

reset_viewA

Reset to the default camera view. Aliases: home view, reset camera, default view.

Example: reset_view()

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

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

No annotations, but tool is straightforward reset. Description covers action, aliases, and example. No hidden side effects needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: purpose, aliases, example. No wasted words.

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

Completeness5/5

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

Complete for a zero-parameter tool. With output schema existing, no need to describe return. Aliases and example aid understanding.

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?

No parameters, schema coverage 100%. Baseline 4 per rules. Description adds no param info but provides example call.

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?

Clearly states to reset to default camera view, with aliases and example. Distinguishes from siblings which deal with molecular manipulation and visualization.

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?

Implicitly clear when to use (when default view needed), but no explicit when-not or alternatives mentioned among siblings like 'zoom_to'.

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

run_scriptA

Run a ChimeraX command script (.cxc) or Python script (.py). File must exist locally with a .cxc or .py extension. Aliases: execute script, run cxc, run python script, source.

Example: run_script("/path/to/setup.cxc")

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits such as side effects (e.g., altering internal state), error handling, blocking behavior, or execution limits. For a script execution tool, more transparency is needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief, includes an example, lists aliases, and specifies constraints. Every sentence adds value without redundancy.

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 simple input schema and presence of an output schema (not shown), the description is largely complete. It covers file type, existence requirement, and aliases. Could mention return value or execution behavior, but output schema likely covers that.

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?

With 0% schema coverage, the description adds crucial meaning: the 'path' parameter must point to a local file with .cxc or .py extension. The example further clarifies usage. This compensates for the bare schema.

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?

Clearly states the tool runs ChimeraX command scripts (.cxc) or Python scripts (.py), with specific verbs and resource types. Distinguishes from sibling tools that perform specific actions like minimizing energy or opening structures.

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?

Indicates file must exist locally with .cxc or .py extension and gives an example, but lacks explicit guidance on when to use this tool vs. other tools for specific operations. Does not mention alternatives or use-case exclusions.

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

save_structureC

Save a model to PDB, mmCIF, or mol2 file. Aliases: export, write structure, download.

Example: save_structure("/tmp/model.pdb", "#1")

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
model_idNo#1

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, and the description fails to disclose behavioral traits such as whether it overwrites existing files, required permissions, or handling of invalid paths or model IDs. The example shows basic usage but lacks behavioral context.

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 concise with a clear purpose, an aliases line, and an example. It front-loads the main action. Minor improvement could organize information more structuredly, but overall efficient.

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

Completeness2/5

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

Given the tool saves to multiple file formats with a path and model selection, and has no annotations, the description lacks details on file format selection (implicit from extension?), output, error cases, and behavioral constraints. The existence of an output schema (not shown) doesn't fully compensate for these gaps.

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

Parameters2/5

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

Schema description coverage is 0%, meaning the input schema provides no parameter explanations. The description mentions 'model' and 'path' via example but does not explain the path format, allowed extensions, or the meaning of model_id beyond a default. This is inadequate for two parameters.

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 clearly states the tool saves a model to PDB, mmCIF, or mol2 files, with aliases and an example. This verb-resource combination distinguishes it from sibling tools like open_structure or minimize_energy.

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?

No explicit guidance on when to use this tool versus alternatives. It provides aliases but no when-not or context for choosing between saves or other operations.

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

select_atomsB

Select atoms/residues by ChimeraX specifier string. Aliases: pick, highlight, sel, select.

Example: select_atoms("/A:501")

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, so the description carries full burden. It only states 'select' without describing effects like highlighting, persisting selection state, or whether it modifies the structure. This is minimal disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences plus an example and alias list. Every element adds value, and the aliases save user time.

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

Completeness2/5

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

Despite having an output schema, the description fails to contextualize selection among many sibling tools (e.g., how it differs from 'select_near'). It doesn't clarify what 'select' means operationally (e.g., highlighting vs. temporary marking).

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 coverage is 0%, so description must compensate. It explains that 'spec' is a 'ChimeraX specifier string' and gives an example, adding context beyond the raw schema. However, it lacks a full explanation of the specifier syntax.

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 clearly states the verb 'Select' and the resource 'atoms/residues' using a 'ChimeraX specifier string', with an example and aliases. This distinguishes it from sibling tools like 'mutate_residue' or 'delete_atoms'.

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?

No guidance on when to use this tool vs alternatives like 'select_near', 'select_chain', or 'invert_selection'. The example provides a usage hint but no explicit when/when-not rules.

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

select_chainB

Select an entire chain. Aliases: pick chain, highlight chain.

Example: select_chain("A")

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided. Description does not disclose behavioral traits beyond the basic action, such as whether prior selections are cleared or if the selection is additive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise with no unnecessary words. The example is front-loaded and aids understanding.

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?

Given the tool's simplicity, the description is mostly sufficient. However, the output schema is present but not described; for a selection tool, it would be helpful to mention what is returned (e.g., selected atoms object).

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It provides an example usage but does not explain the parameter 'chain' beyond being a string identifier.

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?

Clearly states the action ('Select an entire chain') and provides aliases. Distinguishes from sibling selection tools like select_atoms and select_near.

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?

Implied usage as a selection tool, but no explicit guidance on when to use over alternatives like select_atoms or invert_selection.

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

select_nearC

Select all atoms within N Angstroms of a selection. Aliases: select nearby, zone, within distance.

Example: select_near("/A:501", 5.0)

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes
distanceYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It does not explain whether the tool modifies the current selection, creates a new named selection, or what side effects occur. The term 'select' is ambiguous.

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 short and includes aliases and an example, which is useful. However, the example adds value, and there is no superfluous text.

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

Completeness2/5

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

Given that an output schema exists (reported in context), the description is incomplete as it does not indicate what the tool returns (e.g., a confirmation, number of atoms selected). For a relatively simple tool, the description leaves significant gaps in understanding tool behavior.

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

Parameters2/5

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

Schema has no descriptions for parameters (0% coverage). The description provides an example but does not explain the format of the 'spec' parameter (e.g., what constitutes a valid selection string) or the units/detail for 'distance'. The example hints but is insufficient.

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?

Description clearly states the tool selects atoms within a distance of a selection, with aliases and a concrete example. This distinguishes it from sibling selection tools like select_atoms or select_chain.

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?

No guidance on when to use this tool versus alternatives. The description lists aliases but does not provide context about when to choose this tool over other selection methods (e.g., select_atoms, invert_selection).

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

set_backgroundA

Set the background color (white, black, hex). Aliases: background, bg color.

Example: set_background("white")

ParametersJSON Schema
NameRequiredDescriptionDefault
colorYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It describes the action and valid inputs but does not disclose effects on other aspects (e.g., persistence, interaction with snapshots). Adequate for a simple setter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences and an example, front-loaded with purpose. Every element earns its place with no redundancy.

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?

For a single-parameter tool with an output schema, the description covers the core functionality and allowed values. Could mention that it changes the view background, but the purpose is sufficiently clear.

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 has 0% coverage with no enum or description for the 'color' parameter. Description adds that white, black, and hex values are accepted, plus an example, providing essential meaning beyond the bare schema.

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 clearly states the verb 'Set' and the resource 'background color', and lists valid values (white, black, hex). This distinguishes it from sibling tools like 'color_structure' which modify molecule colors.

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?

No guidance on when to use this tool vs alternatives like 'color_structure' or other visualization tools. No mention of prerequisites or context.

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

show_cartoonC

Show ribbon/cartoon representation. Aliases: ribbon, cartoon, secondary structure.

Example: show_cartoon("#1")

ParametersJSON Schema
NameRequiredDescriptionDefault
specNoall

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden but fails to disclose effects like replacing existing representations or requiring a loaded structure. Minimal behavioral insight.

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 short and includes an example, but lacks necessary detail. It is not verbose, but could be more informative without losing efficiency.

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

Completeness2/5

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

For a simple tool with one parameter and no annotations, the description is incomplete. It omits parameter explanation and behavioral context, leaving the agent underinformed.

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

Parameters1/5

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

The schema has 0% description coverage and the description does not explain the 'spec' parameter beyond an example. No type constraints or semantics provided.

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 clearly states the tool shows ribbon/cartoon representation, with aliases. It distinguishes from sibling visualization tools like show_sticks and show_surface by specifying the representation type.

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?

No guidance is given on when to use this tool versus alternatives (e.g., when to use cartoon vs surface vs sticks). No prerequisites or exclusions mentioned.

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

show_electrostatic_surfaceC

Calculate and display Coulombic electrostatic potential on the surface. Aliases: electrostatics, ESP, charge surface, coulombic.

Example: show_electrostatic_surface("#1")

ParametersJSON Schema
NameRequiredDescriptionDefault
specNo#1
range_No-10,10
paletteNored:white:blue

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided. The description mentions calculating and displaying but does not disclose side effects, read-only nature, or any behavioral traits such as resource consumption or mutation risks. This is a gap for a tool that may alter the view state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise but front-loads the core action well. However, it misses critical parameter information, reducing its efficiency. The example is helpful but could be placed better.

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

Completeness2/5

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

Given the tool has 3 parameters with no schema descriptions and no annotations, the description is insufficient. It does not explain how to use the parameters, what the output contains, or when to choose this over sibling tools. Significant gaps exist.

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

Parameters1/5

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

Schema description coverage is 0%. The description does not explain any of the three parameters (spec, range_, palette). The example shows a value for 'spec' but no format or allowed values. This fails to add meaning beyond the schema.

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 clearly states the action ('Calculate and display') and the resource ('Coulombic electrostatic potential on the surface'), with aliases and an example. It distinguishes from siblings like 'show_surface' by specifying the electrostatic nature.

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?

No explicit guidance on when to use this tool versus alternatives like 'show_hydrophobicity_surface' or 'show_surface'. The example provides a basic invocation but no context on use cases or prerequisites.

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

show_hydrophobicity_surfaceC

Calculate and display Molecular Lipophilicity Potential on the surface. Dark cyan = hydrophilic, dark goldenrod = hydrophobic. Aliases: hydrophobicity, lipophilicity, MLP, hydrophobic surface.

Example: show_hydrophobicity_surface("#1")

ParametersJSON Schema
NameRequiredDescriptionDefault
specNo#1

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It explains the visualization result (colors) but does not disclose side effects (e.g., whether it replaces existing surfaces), performance impact, or required permissions.

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 concise (three lines) and includes aliases and an example. It front-loads the purpose and color mapping, with no filler words.

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?

Given the output schema exists (so return format is not needed), the description is adequate for a simple visualization tool. However, it lacks detail on whether the surface is additive or replaces previous surfaces, and could better integrate with the sibling context.

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

Parameters2/5

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

Schema coverage is 0% for the 'spec' parameter. The description includes an example usage with '#1' but does not explain the parameter's format, allowed values, or meaning beyond a vague selection specifier.

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 clearly states the tool calculates and displays Molecular Lipophilicity Potential on the surface, with specific color meanings. It distinguishes from sibling tools like show_electrostatic_surface by the property displayed, but does not explicitly contrast them.

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?

No guidance on when to use this tool versus alternatives like show_electrostatic_surface or show_surface. Only an example is provided, but no context on appropriate scenarios or prerequisites.

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

show_sticksA

Show stick representation for a selection. Aliases: sticks, ball and stick, show bonds.

Example: show_sticks("/A:501")

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It only states 'show stick representation' with an example, failing to disclose behavioral traits such as whether it modifies state, what happens on invalid input, or any prerequisites. This is insufficient for a tool with no structural safety signals.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—one short sentence plus aliases and an example—with no extraneous information. Every part is relevant and front-loaded.

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?

Given the tool has one parameter and an output schema exists, the description is mostly adequate for a simple visualization command. However, it lacks details about the effect of the tool, how it interacts with other display modes, or what the output contains. This is minimally complete but leaves 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?

The sole parameter 'spec' has a schema description coverage of 0%. The description adds an example '/A:501' which clarifies that 'spec' is likely a selection string, but no further meaning beyond the schema is provided. With low schema coverage, the description partially compensates but could be more explicit.

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 clearly states 'Show stick representation for a selection,' with an explicit verb and resource. It provides aliases and an example, distinguishing it from sibling tools like show_cartoon or show_surface.

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?

The description includes an example command but does not specify when to use this tool versus alternatives like show_cartoon or show_surface. The usage context is implied through the example and the tool name, but no explicit when/when-not guidance is given.

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

show_surfaceC

Show molecular surface. Aliases: surface, display surface, solvent-accessible surface.

Example: show_surface("#1", 0.7)

ParametersJSON Schema
NameRequiredDescriptionDefault
specNoall
opacityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full behavioral transparency burden. It only says 'show' without disclosing effects, reversibility, or system impact. The example hints at parameters but lacks comprehensive behavioral context.

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 very concise with one sentence, aliases, and an example. It communicates the core action efficiently, though the example could be formatted more clearly.

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

Completeness2/5

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

Despite having an output schema, the description lacks context on what to expect as output, prerequisites, or constraints. For a tool with two parameters, more detail is needed to be complete.

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

Parameters2/5

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

Schema has 0% description coverage. The description adds minimal meaning via the example (spec='#1', opacity=0.7), but does not explain spec format, valid opacity range, or defaults beyond schema.

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 clearly states the tool's function: 'Show molecular surface.' The aliases and example reinforce this, distinguishing it from sibling surface tools like show_electrostatic_surface and show_hydrophobicity_surface by not specifying a surface type.

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?

No explicit guidance on when to use this tool versus alternatives like show_electrostatic_surface. The example shows basic usage but does not clarify contexts or prerequisites.

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

spinB

Spin/rotate the model around an axis (x, y, or z). Great for turntable animations when combined with recording. Aliases: rotate, turntable, orbit, spin around.

Example: spin("y", 360, 180)

ParametersJSON Schema
NameRequiredDescriptionDefault
axisNoy
framesNo
degreesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. It only states the basic action without disclosing side effects, reversibility, or whether it modifies state. Example shows parameter usage but not behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, aliases, and an example. All information is front-loaded and relevant. No wasted words.

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

Completeness2/5

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

Given no annotations, incomplete schema descriptions, and an output schema whose content is not mentioned, the description is insufficient. Lacks parameter details, return value, and behavioral scope.

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

Parameters2/5

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

Schema has 0% description coverage, so description must compensate. It provides axis options (x, y, z) and an example mapping parameters, but does not explain what 'frames' and 'degrees' mean semantically or their units.

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?

Clearly states 'Spin/rotate the model around an axis (x, y, or z)', which is a specific verb and resource. The aliases and example reinforce clarity. Distinguishes from sibling 'record_spin' by mentioning combination with recording.

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?

Mentions use case for turntable animations with recording, but does not explicitly state when to use versus siblings or when not to use. Lacks alternative guidance, but purpose is reasonably clear.

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

start_recordingB

Start recording a movie of the ChimeraX session. Call this before making visual changes, then stop_recording when done. Aliases: record, start movie, begin recording.

Example: start_recording()

ParametersJSON Schema
NameRequiredDescriptionDefault
supersampleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states basic functionality without explaining important details like resource usage, file output, or what happens if called multiple times. The behavioral aspects are opaque.

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 brief and front-loads the purpose. However, the example line is somewhat redundant with the first sentence and adds little value, slightly reducing conciseness.

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

Completeness2/5

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

Given the presence of an output schema and a single parameter, the description leaves many gaps: it doesn't explain what a 'movie' entails, how to access the recording, or the effect of supersample. It meets only the minimal requirement.

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

Parameters1/5

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

The description does not mention the 'supersample' parameter at all, and schema description coverage is 0%. The example shows calling with no arguments, leaving the agent without understanding what this parameter controls or how to set it.

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 clearly states the tool starts recording a movie of the ChimeraX session. It distinguishes itself from sibling tools like stop_recording and take_snapshot, but does not explicitly differentiate from record_spin, which might cause confusion.

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?

Provides explicit guidance: call before making visual changes and stop_recording when done. This gives a clear usage pattern, though it doesn't discuss alternatives or when not to use this tool.

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

stop_recordingA

Stop recording and save movie to file (.mp4, .webm, .mov, .avi). Aliases: stop movie, save movie, end recording, save video.

Example: stop_recording("/tmp/session.mp4")

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
framerateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits such as what happens if no recording is in progress, file overwrite behavior, or that the recording state is destroyed after stopping.

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 short and front-loaded with the main action, including aliases and an example. It could be slightly more concise by omitting aliases, but overall it is efficient.

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?

Given the sibling 'start_recording', the description covers the basic functionality but lacks explanation of prerequisites, side effects, and parameter details. The output schema exists but the description does not reference it.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only shows 'path' in the example without explaining 'framerate' or its default value. The description adds minimal value beyond the schema.

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 clearly states the action ('Stop recording and save movie to file') and lists supported formats (.mp4, .webm, .mov, .avi), distinguishing it from sibling tools like 'start_recording'.

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 provides aliases and an example, implying usage after starting a recording. However, it does not explicitly state prerequisites or when not to use it, though the tool's purpose is fairly obvious.

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

take_snapshotB

Save a PNG screenshot of the current view. Aliases: screenshot, capture, save image, photo.

Example: take_snapshot("/tmp/snapshot.png")

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/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 only states that it saves a PNG screenshot, but does not reveal whether it is destructive, modifies state, requires a particular view, or handles file overwrites. Important traits like idempotency and side effects are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences, plus aliases and an example. The main purpose is front-loaded in the first sentence. Every element earns its place without redundant text.

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?

Given the low complexity (one parameter, output schema present), the description is adequate but lacks details about return values, file overwrite behavior, or prerequisites. The existence of an output schema somewhat compensates, but the description could still benefit from mentioning output or failure modes.

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

Parameters2/5

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

The input schema has 0% description coverage for the single parameter 'path'. The description does not explicitly define 'path'; it only shows an example ('/tmp/snapshot.png'). While the example implies it is a file path, the description adds minimal semantic value beyond the schema.

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 clearly states the tool's purpose: 'Save a PNG screenshot of the current view.' The verb 'Save' and resource 'PNG screenshot of current view' are specific and unambiguous. It distinguishes itself from sibling tools, which include various other actions like simulation, selection, and display controls, none of which capture screenshots.

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?

The description provides no guidance on when to use this tool vs alternatives. It lists aliases but does not explain context (e.g., 'use when you need to capture the visual state') or contrast with related siblings like 'start_recording' or 'record_spin'. The agent is left to infer usage 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.

zoom_toB

Zoom the camera to center on a selection. Aliases: focus, center on, look at, zoom in.

Example: zoom_to("/A:501")

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description must disclose behavioral traits. It does not mention side effects, requirements (like a valid selection), or what happens if the spec is invalid. The output schema exists but is not referenced. Minimal disclosure beyond the action.

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 concise with two sentences plus aliases and an example. No filler, easy to parse. Slightly more structure (e.g., separate sections) could improve scannability, but it is efficient.

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?

Given the output schema exists, return values are covered. However, the description lacks prerequisites (e.g., a selection must exist), scope (single vs multiple selections), and error behavior. The example helps but leaves gaps in completeness.

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

Parameters2/5

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

The schema has 0% description coverage for the single parameter 'spec'. The description adds context via an example 'zoom_to("/A:501")', implying spec is a selection string, but does not explain format, valid values, or constraints. The schema only states type string.

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 clearly states the verb (Zoom) and resource (camera to center on a selection), and provides aliases (focus, center on, look at, zoom in) which further clarify the purpose. It distinguishes from sibling tools like reset_view or spin by specifying a precise action.

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?

The description gives no guidance on when to use this tool versus alternatives. No explicit context, prerequisites (e.g., having a selection), or when-not conditions are mentioned. Only an example is provided.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 39 tool updatesv0.1.1
    • First observedadd_hydrogen
    • First observedalign_and_rmsd
    • First observedclear_labels
    • First observedclose_structure
    • First observedcolor_structure
    • First observeddelete_atoms
    • First observedfind_contacts
    • First observedget_bfactors
    • First observedget_sequence
    • First observedhide_atoms
    • First observedhide_surface
    • First observedinvert_selection
    • First observedlabel_residues
    • First observedlist_models
    • First observedmeasure_angle
    • First observedmeasure_buried_area
    • First observedmeasure_distance
    • First observedminimize_energy
    • First observedmutate_residue
    • First observedname_selection
    • First observedopen_structure
    • First observedrecord_spin
    • First observedreset_view
    • First observedrun_script
    • First observedsave_structure
    • First observedselect_atoms
    • First observedselect_chain
    • First observedselect_near
    • First observedset_background
    • First observedshow_cartoon
    • First observedshow_electrostatic_surface
    • First observedshow_hydrophobicity_surface
    • First observedshow_sticks
    • First observedshow_surface
    • First observedspin
    • First observedstart_recording
    • First observedstop_recording
    • First observedtake_snapshot
    • First observedzoom_to

TDQS

A3.5/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, with descriptive aliases that reduce ambiguity. However, some overlap exists between selection and visualization tools (e.g., hide_atoms vs delete_atoms, multiple surface tools) which could cause minor confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., open_structure, show_surface, measure_distance). Variations like align_and_rmsd are still intuitive and fit the pattern.

Tool Count4/5

With 39 tools, the server covers a wide range of molecular visualization and analysis tasks, which is appropriate for its domain. While slightly high, each tool serves a distinct purpose and the count is justified.

Completeness5/5

The tool surface is comprehensive, covering structure I/O, visualization, selection, measurement, mutagenesis, energy minimization, and animation. There are no obvious gaps for typical molecular modeling workflows.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Control PyMOL from Cursor via natural language. Enables describing molecular structures and styles in plain language to execute PyMOL commands through XML-RPC.
    1
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables control of VMD2 for molecular dynamics analysis through natural language, allowing users to load structures, set representations, measure distances, compute RMSD, and render images without Tcl scripting.
    6
    -
  • A
    license
    B
    quality
    C
    maintenance
    MCP server for controlling UCSF ChimeraX molecular visualization software, enabling command execution, screenshots, structure analysis reports, and session management.
    27
    2
    MIT

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/mahynotch/chimerax-mcp'

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