LABSCO SUMMARY
Structural biology as a conversation.
It drives the PyMOL session you already have open rather than a headless copy, so what the model does shows up on your screen — and the arbitrary-Python path means it is not limited to the operations someone thought to wrap.
What it is
A socket bridge between Claude and PyMOL. A PyMOL plugin listens on port 9876 and the MCP server connects to it, so a request in the chat becomes a command in the PyMOL session already open in front of you.
What you get
- Molecular visualization driven in plain language — representations, colours and views
- Structural analysis: measurements, alignments and comparisons between structures
- Arbitrary Python executed inside PyMOL when a task needs more than a command
- Two-way communication over the socket, so PyMOL's own output comes back rather than disappearing
- Natural-language parsing of PyMOL commands, so "colour by secondary structure" does not have to be translated first
Requirements
PyMOL, Claude for Desktop, Python 3.10 or newer, and Git. Install the plugin from pymol-mcp-socket-plugin/__init__.py through PyMOL's Plugin Manager, then click Start Listening and check the status reads "Listening on port 9876". The socket is local: PyMOL and Claude must be on the same machine. MIT.
Setup effort
Build from source — git clone https://github.com/vrtejus/pymol-mcp
USE CASES
Loading and setting up a structure
Name the PDB entry and the representation you want, and it appears in the open session.
Highlighting the part you care about
Ask for the active-site residues as sticks, or colouring by secondary structure, in words rather than selectors.
Comparing two structures
Align them and have the differences shown, without writing the alignment command yourself.
Taking a measurement mid-discussion
Ask for the distance between two residues while you are talking about them.
Doing something nobody wrapped
Fall through to running Python inside PyMOL when the task is outside the usual commands.
Producing a figure
Set the view and save it as a high-resolution image from the same conversation.
BEFORE YOU INSTALL
What to know first
Requires
- PyMOL installed on your system
- Python 3.10 or newer
- Git
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/vrtejus/pymol-mcp
cd pymol-mcp
python -m venv venv
source venv/bin/activate
pip install mcpOpen Claude Desktop, go to Claude > Settings > Developer > Edit Config, and add the configuration under MCP Clients to claude_desktop_config.json.
Install the PyMOL plugin: open PyMOL, go to Plugin → Plugin Manager → Install New Plugin, choose "Choose file..." and select pymol-mcp-socket-plugin/__init__.py in the cloned repository, then follow the prompts.
In PyMOL, go to Plugin → PyMOL MCP Socket Plugin and click "Start Listening". The status should change to "Listening on port 9876"; Claude can reach PyMOL only while it is listening, on the same machine.
MCP Clients
Claude Desktop
{
"mcpServers": {
"pymol": {
"command": "<YOUR_PATH_TO_VENV_PYTHON>",
"args": [
"<YOUR_PATH_TO_PYMOL_MCP_SERVER>"
]
}
}
}Both bracketed values are full paths inside your clone, for example /Users/username/pymol-mcp/venv/bin/python and /Users/username/pymol-mcp/pymol_mcp_server.py. On Windows, use forward slashes.