Skip to main content
Glama

conservation_view

Idempotent

Colors a loaded protein structure by evolutionary conservation using Shannon entropy from an MMseqs2 multiple sequence alignment, mapping scores onto the B-factor column with a spectrum gradient.

Instructions

Colors the structure by evolutionary conservation using Shannon entropy.

Runs a full pipeline: extracts the protein sequence from the loaded structure, submits it to an MMseqs2 server (ColabFold public API by default) for multiple sequence alignment, computes per-residue Shannon entropy, and maps the conservation scores onto the structure via the B-factor column and spectrum coloring.

Entropy scores are cached in memory by sequence, so changing the scale or re-running on the same protein does not require a repeat API call.

Magenta/blue = highly conserved (low entropy), white = moderate, cyan/green = highly variable (high entropy).

NOTE: The first call makes an external API call and may take 30 seconds to several minutes depending on the server and sequence length. Subsequent calls for the same sequence are instant.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "obj_name": "<obj_name>"
    },
    "name": "conservation_view"
  }
}

Input Schema

NameRequiredDescriptionDefault
chainNoSpecific chain ID to analyze. If None, uses the first protein chain found.
scaleNoColor scaling mode. "relative" (default) maps the color gradient to the actual min/max entropy range of this protein, maximizing visual contrast. "absolute" uses the full theoretical entropy range (0 to log2(20)), useful when comparing conservation across different proteins.relative
use_envNoSearch environmental databases in addition to UniRef (default True, gives deeper MSAs)
obj_nameYesPyMOL object name (e.g. "1ubq")
selectionNoPyMOL selection to analyze (default "all")all
server_urlNoOverride the MMseqs2 server URL (defaults to ColabFold public API, or MCPYMOL_MMSEQS_URL env var)
force_refreshNoIf True, bypass the cache and re-fetch the MSA from the MMseqs2 server even if scores are cached.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv1.5.1
    • addedInput schema / properties / chain / description
      Added value: +"Specific chain ID to analyze. If None, uses the first protein chain found."
    • addedInput schema / properties / force_refresh / description
      Added value: +"If True, bypass the cache and re-fetch the MSA from the MMseqs2 server even if scores are cached."
    • addedInput schema / properties / obj_name / description
      Added value: +"PyMOL object name (e.g. \"1ubq\")"
    • addedInput schema / properties / scale / description
      Added value: +"Color scaling mode. \"relative\" (default) maps the color gradient to the actual min/max entropy range of this protein, maximizing visual contrast. \"absolute\" uses the full theoretical entropy range (0 to log2(20)), useful when comparing conservation across different proteins."
    • addedInput schema / properties / selection / description
      Added value: +"PyMOL selection to analyze (default \"all\")"
    • addedInput schema / properties / server_url / description
      Added value: +"Override the MMseqs2 server URL (defaults to ColabFold public API, or MCPYMOL_MMSEQS_URL env var)"
    • addedInput schema / properties / use_env / description
      Added value: +"Search environmental databases in addition to UniRef (default True, gives deeper MSAs)"
  2. First observedv1.2.1

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare openWorldHint=true, idempotentHint=true and destructiveHint=false, but the description adds substantial context beyond them: the external MMseqs2 API dependency, 30-second-to-minutes latency on first call, in-memory per-sequence caching, and the fact that results are written into the B-factor column. It does not note that this overwrites existing B-factors or that restore_bfactors can undo it, which would be a valuable addition.

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?

Front-loaded with the core purpose, then pipeline, then caching, then color legend, then timing caveat—a sensible order. It is somewhat long and the pipeline sentence is dense, but each section (caching, latency, color legend) carries information the agent needs.

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 a complex multi-step external-API tool with 7 parameters and an output schema, the description covers the key operational facts: latency, caching, and color semantics. The main remaining gap is that it does not warn that the B-factor column is overwritten and can be restored via restore_bfactors.

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 coverage is already 100%, so the baseline is 3. The description goes further by explaining that changing scale or re-running on the same protein does not require a repeat API call, which meaningfully informs force_refresh, and it ties cache behavior to the same-sequence case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: colors the structure by evolutionary conservation using Shannon entropy. This is clearly distinguishable from sibling coloring tools like bfactor_view, plddt_view, or util_chainbow, and the description spells out the full pipeline (extract sequence, MSA via MMseqs2, per-residue entropy, map onto B-factors).

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?

Clear context for when the tool applies and it explains the relative-vs-absolute scale choice for cross-protein comparison. However, it never explicitly routes the agent away from alternatives (e.g., plddt_view or bfactor_view), so the when-not guidance is implied rather than stated.

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