Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Structural Biology MCP ServerSearch for cryo-EM spike protein structures under 3.0 Å resolution"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Structural Biology MCP Agent
An AI agent for structural biology that uses Model Context Protocol (MCP) to search, analyze, modify, and visualize protein structures from the RCSB Protein Data Bank.
Architecture
User (browser)
|
Streamlit Chat UI (protein_chat_mcp.py)
|
Claude AI (decides which tools to call)
|
MCP Client (standard protocol)
|
PDB MCP Server (pdb_mcp_server.py) ── 11 tools
|
RCSB PDB APIsWhy MCP? MCP is a standard protocol for AI-tool communication. Instead of hardcoding tools inside the app, the MCP server exposes tools that any MCP-compatible AI client can discover and use automatically — Claude Code, Cursor, or this custom Streamlit app.
11 Tools
# | Tool | Description |
1 |
| Search PDB by keyword, filter by method/resolution |
2 |
| Get detailed metadata for a PDB ID |
3 |
| Download PDB coordinate files |
4 |
| Find structures linked to a UniProt accession |
5 |
| Resolution, R-factors, Ramachandran validation |
6 |
| Swap metals in HETATM records (e.g., Co → Zn) |
7 |
| Mutate amino acids (e.g., HIS93 → SER) |
8 |
| Remove specific ligands/heteroatoms |
9 |
| Remove a chain from a multi-chain structure |
10 |
| List all ligands/heteroatoms in a structure |
11 |
| Retrieve a modified PDB file |
Demo
Ask the chat app:
"Download 1YOG, replace cobalt with zinc, and show me the structure"
Claude automatically chains 3 MCP tool calls:
download_structure("1YOG")→ fetches PDB filereplace_metal("1YOG", "CO", "ZN")→ swaps Co→Zn in HETATM recordsshow_structure_3d("1YOG_ZN")→ renders interactive 3D viewer
Quick Start
1. Install dependencies
pip install "mcp[cli]" requests streamlit anthropic py3Dmol2. Run the chat app
cd protein_chat
streamlit run protein_chat_mcp.pyEnter your Anthropic API key in the sidebar. Start chatting about protein structures.
3. Or use with Claude Code directly
claude mcp add pdb-server python /path/to/pdb_mcp_server.pyThen ask Claude Code: "Search PDB for cryoEM spike protein structures under 3A resolution"
Project Structure
structural-biology-mcp/
pdb_mcp_server.py # MCP server (11 tools)
protein_chat/
protein_chat_mcp.py # Streamlit chat app (MCP client)
.streamlit/config.toml # Dark theme config
requirements.txt # Python dependencies
PDB_MCP_Server_Tutorial.ipynb # Tutorial notebook
requirements.txt # Server dependenciesAPIs Used
RCSB PDB Data API - Structure metadata
RCSB PDB Search API - Full-text and attribute search
RCSB PDB Files - Coordinate file downloads
Requirements
Python 3.10+
mcp[cli]>= 1.0anthropic>= 0.40.0streamlit>= 1.37.0py3Dmolrequests
License
MIT