MCP Hub
Back to servers

structural-biology-mcp

MCP server for structural biology - gives AI assistants access to the Protein Data Bank (PDB) for protein structure search, retrieval, and validation

glama
Updated
Feb 7, 2026

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 APIs

Why 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

#ToolDescription
1search_structuresSearch PDB by keyword, filter by method/resolution
2get_structure_infoGet detailed metadata for a PDB ID
3download_structureDownload PDB coordinate files
4search_by_uniprotFind structures linked to a UniProt accession
5get_structure_qualityResolution, R-factors, Ramachandran validation
6replace_metalSwap metals in HETATM records (e.g., Co → Zn)
7mutate_residueMutate amino acids (e.g., HIS93 → SER)
8remove_hetatmRemove specific ligands/heteroatoms
9remove_chainRemove a chain from a multi-chain structure
10list_hetatmList all ligands/heteroatoms in a structure
11get_modified_structureRetrieve 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:

  1. download_structure("1YOG") → fetches PDB file
  2. replace_metal("1YOG", "CO", "ZN") → swaps Co→Zn in HETATM records
  3. show_structure_3d("1YOG_ZN") → renders interactive 3D viewer

Quick Start

1. Install dependencies

pip install "mcp[cli]" requests streamlit anthropic py3Dmol

2. Run the chat app

cd protein_chat
streamlit run protein_chat_mcp.py

Enter 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.py

Then 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 dependencies

APIs Used

Requirements

  • Python 3.10+
  • mcp[cli] >= 1.0
  • anthropic >= 0.40.0
  • streamlit >= 1.37.0
  • py3Dmol
  • requests

License

MIT

Reviews

No reviews yet

Sign in to write a review