Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCPYMOL_PORTNoPort for the TCP listener inside PyMOL (default 9876)9876
MCPYMOL_MMSEQS_URLNoURL for a custom MMseqs2 API endpoint (default is ColabFold public API)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
fetch_structureA

Fetches a protein structure from the PDB. 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.

Args: pdb_code: 4-letter PDB code (e.g. "1abc") obj_name: Optional custom name for the object in PyMOL multimer_cutoff: Distance (A) between chains to keep them in the same multimer. Default 8.0A is suitable for most functional assemblies.

load_structureA

Loads a structure from a local file path and applies the BFS multimer heuristic.

Args: file_path: Path to the structure file (PDB, MMCIF, etc.) obj_name: Name for the object in PyMOL multimer_cutoff: Distance (A) between chains to keep them in the same multimer. Default 8.0A is suitable for most functional assemblies.

showC

Shows a graphical representation for a given selection.

Args: representation: One of cartoon, sticks, spheres, surface, lines, ribbon, dots, mesh, nb_spheres, labels. selection: PyMOL selection string. See module-level note for syntax.

hideA

Hides a graphical representation for a given selection.

Args: representation: Same vocabulary as :func:show, plus everything to hide all reps for the selection. selection: PyMOL selection string.

colorA

Sets the color for a selection.

Args: color_name: A PyMOL color. Common names: red, blue, green, yellow, magenta, cyan, orange, salmon, marine, forest, palegreen, skyblue, violet, grey50, white, black. Use atomic to color non-carbon atoms by element while leaving carbons untouched. selection: PyMOL selection string.

selectA

Creates (or replaces) a named selection for later reuse.

Args: name: Identifier you'll refer to later (e.g. active_site). selection: PyMOL selection expression to assign to that name.

removeA

Permanently removes the atoms matching the selection.

This deletes atoms; it does not just hide them. To hide instead, use :func:hide.

distanceA

Measures and draws a distance object between two selections.

Args: name: Name for the distance object (used to delete/recolor later). selection1: First selection. selection2: Second selection.

execute_pymol_commandA

Executes a raw PyMOL command string (PyMOL CLI syntax).

PREFER the dedicated tools when one exists — show, color, select, distance, ligand_view, interface_view, etc. They have better defaults, do compound setup in one call, and produce cleaner results.

Reach for this tool only when no other tool covers what you need (e.g. set ray_shadow, 0, bg_color grey20, multi-statement scripts). Note: this accepts the PyMOL cmd.do mini-language, not Python.

list_objectsA

Lists all loaded PyMOL objects.

Call this when you don't know what's currently in the session — for example before composing a selection or running a view tool that needs an obj_name.

list_chainsA

Lists the chain IDs present in an object (or in all objects).

Useful before calling :func:interface_view, :func:conservation_view or any tool that needs a specific chain ID.

list_ligandsA

Lists the small-molecule (organic) ligand residue names in an object.

Call this before :func:ligand_view, :func:pocket_view, or :func:pharmacophore_view when you don't already know the ligand's 3-letter residue name.

ligand_viewA

Shows a binding-site view focused on a ligand.

Protein rendered as a semi-transparent cartoon. Pocket residues (within 5Å of the ligand) shown as sticks with element coloring and lightblue carbons. Ligand shown as thick sticks with yellow carbons. H-bonds drawn as yellow dashes. Pocket residues labeled. View zooms to the ligand.

Args: obj_name: PyMOL object name (e.g. "1abc") ligand_resn: 3-letter residue name of the ligand (e.g. "ATP", "HEM", "LIG")

bfactor_viewA

Colors the structure by crystallographic B-factor (temperature factor).

Blue = rigid/ordered (low B), white = intermediate, red = flexible/disordered (high B). Useful for identifying dynamic loops, disordered termini, and rigid structural cores. Shown as cartoon on black background.

Args: obj_name: PyMOL object name (e.g. "1abc")

conservation_viewA

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.

Args: obj_name: PyMOL object name (e.g. "1ubq") selection: PyMOL selection to analyze (default "all") server_url: Override the MMseqs2 server URL (defaults to ColabFold public API, or MCPYMOL_MMSEQS_URL env var) use_env: Search environmental databases in addition to UniRef (default True, gives deeper MSAs) chain: Specific chain ID to analyze. If None, uses the first protein chain found. scale: 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. force_refresh: If True, bypass the cache and re-fetch the MSA from the MMseqs2 server even if scores are cached.

interface_viewA

Highlights the protein-protein binding interface between two chains.

Chain A shown in marine blue, chain B in salmon. Interface residues (within 4Å of the partner chain) shown as a solid surface patch with sticks. H-bonds across the interface drawn as yellow dashes.

Args: obj_name: PyMOL object name (e.g. "1abc") chain_a: First chain ID (e.g. "A") chain_b: Second chain ID (e.g. "B")

asC

Shows one representation while hiding all others for the specified selection

putty_viewA

Visualizes protein flexibility using a putty (tube-width) representation.

The cartoon tube radius scales linearly with crystallographic B-factor: thin/blue = rigid/ordered regions, thick/red = flexible/disordered regions. A 70%-transparent surface is shown, also colored by B-factor. Organic ligands are shown as sticks with yellow carbons. Black background.

Args: obj_name: PyMOL object name (e.g. "1abc")

hydrophobic_surface_viewA

Colors the molecular surface by amino acid hydrophobicity.

Orange = hydrophobic (ILE, VAL, LEU, PHE, MET, ALA, TRP, PRO), white = polar (SER, THR, CYS, TYR, ASN, GLN, GLY), sky blue = positively charged (ARG, LYS, HIS), salmon = negatively charged (ASP, GLU). A white cartoon is shown beneath a semi-transparent surface. Organic ligands shown as sticks with yellow carbons.

Args: obj_name: PyMOL object name (e.g. "1abc")

electrostatic_viewA

Colors the molecular surface by approximate residue-based electrostatics.

Surface is colored red→white→blue via a B-factor spectrum. A white cartoon is shown beneath a semi-transparent surface. Organic ligands shown as sticks with yellow carbons.

For a more accurate Poisson-Boltzmann electrostatic surface, use poisson_boltzmann_view (requires APBS and PDB2PQR to be installed).

Args: obj_name: PyMOL object name (e.g. "1abc") mode: Charge assignment strategy. "atomic" (default) — charges assigned only to terminal charged atoms (e.g. ARG NH1/NH2/NE, LYS NZ, ASP OD1/OD2, GLU OE1/OE2, HIS ND1/NE2). Produces localized color at charge centers with natural falloff to white. "residue" — charges assigned uniformly to all atoms in each charged residue. Produces saturated patches; useful for quickly locating charged regions.

poisson_boltzmann_viewA

Colors the molecular surface by true Poisson-Boltzmann electrostatic potential.

Runs PDB2PQR (AMBER force field, pH 7.0) then APBS to compute the full electrostatic potential map. Surface is colored red→white→blue over the range ±20 kT/e. A white cartoon is shown beneath a semi-transparent surface. Organic ligands shown as sticks with yellow carbons.

Requires APBS and PDB2PQR to be installed on the system: brew install brewsci/bio/apbs pip install pdb2pqr

Args: obj_name: PyMOL object name (e.g. "1abc")

crosslink_viewA

Highlights structural cross-links: disulfide bonds, metals, and their coordination.

Protein backbone shown as a thin grey cartoon. Cysteine side chains (CA→CB→SG) shown as yellow sticks, labeled by residue. Disulfide bonds drawn as yellow dashes. Metal ions shown as orange spheres. Metal coordination bonds drawn as dashed lines to nearby protein atoms. Black background.

Args: obj_name: PyMOL object name (e.g. "1abc")

pocket_viewA

Visualizes the binding pocket cavity around a ligand as a colored surface.

The pocket (all residues within 5 Å of the ligand) is shown as a semi-transparent surface colored by chemical character: orange=hydrophobic, white=polar, skyblue=positive, salmon=negative. Pocket residue sidechains are shown as sticks. The ligand is shown as yellow sticks. H-bonds between the ligand and pocket are drawn as cyan dashes. The protein backbone is shown as a thin grey cartoon for context.

Args: obj_name: PyMOL object name (e.g. "1abc") resn: Ligand residue name (e.g. "ATP", "LIG", "ANP")

pharmacophore_viewA

Colors a ligand by pharmacophore feature type.

The ligand is shown as sticks color-coded by pharmacophore property: violet=ring/aromatic carbon, yellow=aliphatic carbon, skyblue=nitrogen (H-bond donor/acceptor), salmon=oxygen (H-bond acceptor), gold=sulfur, palegreen=halogen (F/Cl/Br/I). H-bonds to protein are shown as cyan dashes. Interacting residue sidechains are shown as element-colored sticks with CA labels. The pocket is shown as a semi-transparent grey surface for cavity context. The protein backbone is shown as a thin grey cartoon.

Args: obj_name: PyMOL object name (e.g. "1abc") resn: Ligand residue name (e.g. "ATP", "LIG", "ANP")

mutation_viewA

Highlights mutated residues on the protein structure.

Given a comma-separated list of mutations in standard notation (e.g. "A123G,V45L,T200S"), the mutated residues are shown as magenta sticks and labeled. Nearby residues (within 4 Å) are shown as thin grey sticks for packing context. The protein backbone is shown as a grey cartoon. Organic ligands are shown as yellow sticks.

Mutation format: , e.g. "A123G" (Ala→Gly at position 123). Chain can optionally be prefixed: "A:A123G".

Args: obj_name: PyMOL object name (e.g. "1abc") mutations: Comma-separated mutation list (e.g. "A123G,V45L,T200S")

textbook_viewA

Configures PyMOL for a crisp, cel-shaded illustrative look ("Textbook Illustration").

This view transforms the structure into a bold, 2D illustrative style with sharp black outlines, ideal for presentations or textbook-style diagrams. It hides the interior complexities, showing a solid white cartoon and surface with heavy black edge contours. Ligands are styled similarly as opaque white sticks with outlines.

Args: obj_name: PyMOL object name (e.g. "1abc")

cinematic_viewA

Configures PyMOL for a depth-cued, cinematic look with dramatic lighting.

This view emphasizes volume and scale using deep shadows, fog, and depth-cueing. The core of the structure emerges from a dark background, making massive complexes (like ribosomes or viral capsids) look dramatic and imposing. Protein uses standard coloring but with altered material properties.

Args: obj_name: PyMOL object name (e.g. "1abc")

pointillist_viewA

Renders the structure as an artistic, abstract pointillist/starfield cloud.

The continuous surface is replaced by thousands of individual dots representing the solvent-accessible surface, resembling a galaxy or pointillist painting. The protein backbone is hidden to emphasize the scattered volume. Ligands are shown as bright yellow spheres (stars) embedded in the cloud.

Args: obj_name: PyMOL object name (e.g. "1abc")

setC

Sets a PyMOL setting to a specified value

cartoonC

Sets the cartoon type for the specified selection

spectrumD

Colors selection in a spectrum

labelC

Adds labels to atoms in the selection

angleB

Measures the angle between three selections

dihedralC

Measures the dihedral angle between four selections

centerC

Centers the view on a selection

orientC

Orients the view to align with principal axes of the selection

zoomC

Zooms the view on a selection

resetB

Resets the view, optionally resetting an object's matrix

turnC

Rotates the camera around an axis

moveC

Moves the camera along an axis

clipC

Adjusts the clipping planes

saveD

Saves data to a file

pngD

Saves a PNG image

deselectB

Clears the current selection

createC

Creates a new object from a selection

extractC

Extracts a selection to a new object

deleteC

Deletes objects or selections

alignC

Aligns one selection to another

superC

Superimposes one selection onto another

intra_fitD

Fits all states within an object

intra_rmsC

Calculates RMSD between states within an object

alterC

Alters atomic properties in a selection

alter_stateC

Alters atomic coordinates in a state

h_addC

Adds hydrogens to a selection

h_fillC

Adds hydrogens and adjusts valences

bondC

Creates a bond between two atoms

unbondB

Removes a bond between two atoms

rebuildC

Regenerates all displayed geometry

refreshC

Refreshes the display

util_cbcC

Colors by chain (Color By Chain)

util_cbawC

Colors by atom, white carbons (Color By Atom, White)

util_cbagC

Colors by atom, green carbons (Color By Atom, Green)

util_cbacC

Colors by atom, cyan carbons (Color By Atom, Cyan)

util_cbamC

Colors by atom, magenta carbons (Color By Atom, Magenta)

util_cbayC

Colors by atom, yellow carbons (Color By Atom, Yellow)

util_cbasD

Colors by atom, salmon carbons (Color By Atom, Salmon)

util_cbabD

Colors by atom, slate carbons (Color By Atom, slateBLue)

util_cbaoC

Colors by atom, orange carbons (Color By Atom, Orange)

util_cbapC

Colors by atom, purple carbons (Color By Atom, Purple)

util_cbakC

Colors by atom, pink carbons (Color By Atom, pinK)

util_chainbowC

Colors chains in rainbow gradient (CHAINs in rainBOW)

util_rainbowC

Colors residues in rainbow from N to C terminus

util_ssC

Colors by secondary structure

util_color_by_elementC

Colors atoms by their element

util_color_secondaryD

Colors secondary structure elements

spheroidC

Displays atoms as smooth spheres

isomeshC

Creates a mesh isosurface

isosurfaceC

Creates a solid isosurface

sculpt_activateC

Activates sculpting mode for an object

sculpt_deactivateC

Deactivates sculpting mode for an object

sculpt_iterateD

Performs sculpting iterations

sceneC

Manages scenes for later recall

scene_orderC

Sets the order of scenes

msetC

Defines a sequence of states for movie playback

mplayB

Starts playing the movie

mstopB

Stops the movie

frameC

Sets or queries the current frame

forwardA

Advances one frame

backwardA

Goes back one frame

rockB

Toggles a rocking animation

rayD

Performs ray-tracing

drawD

Uses OpenGL renderer (faster but lower quality)

mpngC

Saves a series of PNG images for movie frames

symexpC

Generates symmetry-related copies

set_symmetryC

Sets symmetry parameters for an object

fabC

Creates a peptide chain from a sequence

fragmentD

Loads a molecular fragment

full_screenA

Toggles fullscreen mode

viewportD

Sets the viewport size

cdC

Changes the current directory

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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