PyMOL-MCP-Vis

PyMOL-MCP-Vis

Enables Claude to control PyMOL for molecular visualization and structural biology analysis. It uniquely features screenshot capture capabilities that provide a visual feedback loop, allowing the AI to see and verify the results of its commands.

Category
Visit Server

README

PyMOL-MCP-Vis: PyMOL + Claude AI with Visual Feedback

Forked from vrtejus/pymol-mcp - Credit to the original author for the core MCP integration.

PyMOL-MCP-Vis extends the original PyMOL-MCP with screenshot capture capabilities, enabling Claude to actually see and analyze molecular structures visually. This allows for true visual feedback loops in structural biology workflows.

What's New in This Fork

  • Screenshot capture - take_screenshot(width, height) captures the current PyMOL view
  • All-views composite - take_all_views() captures 6 orthogonal views (front, back, left, right, top, bottom) in a single composite image
  • Visual feedback loop - Claude can now execute commands AND verify the results visually
  • Optimized defaults - 200x200px default size balances quality and token efficiency

https://github.com/user-attachments/assets/687f43dc-d45e-477e-ac2b-7438e175cb36

Features

  • Two-way communication: Connect Claude AI to PyMOL through a socket-based server
  • Intelligent command parsing: Natural language processing for PyMOL commands
  • Molecular visualization control: Manipulate representations, colors, and views
  • Structural analysis: Perform measurements, alignments, and other analyses
  • Code execution: Run arbitrary Python code in PyMOL from Claude

Installation Guide

Prerequisites

  • PyMOL installed on your system
  • Claude for Desktop
  • Python 3.10 or newer
  • Git

Step 1: Install the UV Package Manager

On macOS:

brew install uv

On Windows:

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
set Path=C:\Users\[YourUsername]\.local\bin;%Path%

For other platforms, visit the UV installation guide.

Step 2: Clone the Repository

git clone https://github.com/ryannmperez/pymol-mcp-vis
cd pymol-mcp-vis

Step 3: Set Up the Environment

Create and activate a Python virtual environment:

python -m venv venv

On macOS/Linux:

source venv/bin/activate

On Windows:

venv\Scripts\activate

Step 4: Install Dependencies

With the virtual environment activated:

pip install mcp

Step 5: Configure Claude Desktop

  1. Open Claude Desktop
  2. Go to Claude > Settings > Developer > Edit Config
  3. This will open the claude_desktop_config.json file
  4. Add the MCP server configuration:
{
  "mcpServers": {
    "pymol": {
      "command": "[Full path to your venv python]",
      "args": ["[Full path to pymol_mcp_server.py]"]
    }
  }
}

For example:

{
  "mcpServers": {
    "pymol": {
      "command": "/Users/username/pymol-mcp/venv/bin/python",
      "args": ["/Users/username/pymol-mcp/pymol_mcp_server.py"]
    }
  }
}

Note: Use the actual full paths on your system. On Windows, use forward slashes (/) instead of backslashes.

Step 6: Install the PyMOL Plugin

  1. Open PyMOL
  2. Go to Plugin → Plugin Manager
  3. Click on "Install New Plugin" tab
  4. Select "Choose file..." and navigate to the cloned repository
  5. Select the pymol-mcp-socket-plugin/__init__.py file
  6. Click "Open" and follow the prompts to install the plugin

Usage

Starting the Connection

  1. In PyMOL:

    • Go to Plugin → PyMOL MCP Socket Plugin
    • Click "Start Listening"
    • The status should change to "Listening on port 9876"
  2. In Claude Desktop:

    • You should see a hammer icon in the tools section when chatting
    • Click it to access the PyMOL tools

Example Commands

Here are some examples of what you can ask Claude to do:

  • "Load PDB 1UBQ and display it as cartoon"
  • "Color the protein by secondary structure"
  • "Highlight the active site residues with sticks representation"
  • "Align two structures and show their differences"
  • "Calculate the distance between these two residues"
  • "Save this view as a high-resolution image"

Troubleshooting

  • Connection issues: Make sure the PyMOL plugin is listening before attempting to connect from Claude
  • Command errors: Check the PyMOL output window for any error messages
  • Plugin not appearing: Restart PyMOL and check that the plugin was correctly installed
  • Claude not connecting: Verify the paths in your Claude configuration file are correct

Limitations & Notes

  • The socket connection requires both PyMOL and Claude to be running on the same machine
  • Some complex operations may need to be broken down into simpler steps
  • Always save your work before using experimental features
  • Join our Bio-MCP Community to troubleshoot, provide feedback & improve Bio-MCPS! https://join.slack.com/t/bio-mcpslack/shared_invite/zt-31z4pho39-K5tb6sZ1hUvrFyoPmKihAA

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured