Skip to main content
Glama

fetch_structure

Retrieve protein structures from PDB or AlphaFold DB, isolating the functional multimer and coloring AlphaFold predictions by confidence.

Instructions

Fetches a protein structure from the PDB, or a predicted model from AlphaFold DB.

By default, it attempts to fetch the first biological assembly (multimer), and removes any unrelated chains/states that are not part of the primary multimer.

A UniProt accession or an AF- prefixed identifier routes to AlphaFold DB instead and is coloured by pLDDT confidence — see :func:fetch_alphafold.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
replaceNoClear the session first, so this is the only structure loaded. Pass False to add to what is already loaded — which is how you get two structures into one session for superposition_view.
obj_nameNoOptional custom name for the object in PyMOL
pdb_codeYes4-letter PDB code (e.g. "1abc"), or an AlphaFold identifier (e.g. "P69905", "af-P69905").
multimer_cutoffNoDistance (A) between chains to keep them in the same multimer. Default 8.0A is suitable for most functional assemblies.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

With no annotations, the description carries the full disclosure burden. It reveals important default behaviors: fetching the first biological assembly, removing unrelated chains/states, and applying pLDDT coloring for AlphaFold models. This goes beyond schema and helps the agent anticipate 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 three concise sentences. The first states the core purpose, the second explains the default multimer behavior, and the third covers AlphaFold routing with a pointer. No word is wasted, and the information is 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?

Given the four parameters and an output schema, the description adequately covers purpose, default behavior, and routing. The main gap is the lack of explicit differentiation from load_structure, which is present in the sibling list and could lead to uncertainty about when to use each.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds context by explaining how pdb_code routing works, but this largely mirrors the schema's field description. It does not add new semantic details for multimer_cutoff or the other parameters beyond what the schema already states.

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 uses a specific verb ('Fetches') and names clear resources (PDB and AlphaFold DB), with precise routing rules by identifier type. It effectively distinguishes itself from the AlphaFold-specific sibling by pointing to fetch_alphafold, and its scope is unambiguous.

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 gives clear context: PDB codes fetch from PDB, while UniProt/AF- identifiers route to AlphaFold DB. It references fetch_alphafold as an alternative. However, it does not explicitly contrast with load_structure, which is a close sibling, so exclusion guidance is incomplete.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chemrich/MCPymol'

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