RCSB PDB MCP Server
Provides tools to query, retrieve, and download protein structure data from the RCSB Protein Data Bank via the MCP protocol.
README
RCSB PDB MCP Server
An MCP (Model Context Protocol) server that provides tools for interacting with the RCSB Protein Data Bank API.
Overview
This server exposes tools for:
- Querying PDB entry information
- Retrieving polymer entity details
- Downloading structure files in various formats
- Making custom API queries to RCSB Data API
Installation
- Install dependencies using uv:
uv sync
Or with pip:
pip install -e .
Running the Server
As a Standalone Server
python server.py
With Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"rcsb-pdb": {
"command": "uv",
"args": [
"--directory",
"/Users/cnyambura/Documents/rcsb_api/api/rcsb-mcp",
"run",
"server.py"
]
}
}
}
After adding the configuration, restart Claude Desktop.
Available Tools
1. get_pdb_entry
Get comprehensive information about a PDB entry.
Parameters:
pdb_id(string): 4-character PDB identifier (e.g., '1ABC', '7BQY')
Returns: JSON with structure information including title, experimental method, resolution, dates, authors, and source organism.
Example:
get_pdb_entry("1ABC")
2. get_polymer_entity
Get information about a polymer entity (protein, DNA, RNA) within a PDB entry.
Parameters:
pdb_id(string): 4-character PDB identifierentity_id(string, optional): Entity number (default: "1")
Returns: JSON with molecule name, sequence, molecular weight, entity type, and source organism.
Example:
get_polymer_entity("1ABC", "1")
3. download_structure_file
Download a structure file from RCSB PDB.
Parameters:
pdb_id(string): 4-character PDB identifierfile_format(string, optional): Format to download (default: "pdb")pdb: PDB formatcif: mmCIF formatxml: PDBML/XML formatpdb.gz: Compressed PDBcif.gz: Compressed mmCIFxml.gz: Compressed XML
output_dir(string, optional): Directory to save the filefilename(string, optional): Custom filename
Returns: JSON with download status and file path.
Example:
download_structure_file("1ABC", "pdb", "/path/to/output")
4. query_rcsb_api
Make a custom query to the RCSB Data API.
Parameters:
endpoint(string): API endpoint path (e.g., 'assembly/1ABC-1', 'uniprot/P12345')params(string, optional): JSON string of query parameters
Common endpoints:
entry/{pdb_id}: Entry-level informationpolymer_entity/{pdb_id}_{entity_id}: Polymer entity infoassembly/{pdb_id}-{assembly_id}: Biological assembly infononpolymer_entity/{pdb_id}_{entity_id}: Small molecule/ligand infouniprot/{uniprot_id}: UniProt cross-reference
Returns: JSON containing the API response.
Example:
query_rcsb_api("assembly/1ABC-1")
5. search_pdb_by_organism
Get information about how to search for PDB entries by organism.
Parameters:
organism(string): Organism name (e.g., 'Homo sapiens', 'E. coli')
Returns: Instructions and example queries for searching by organism.
Example Usage with Claude
Once connected to Claude Desktop, you can ask:
- "Get information about PDB entry 1ABC"
- "Download the structure file for 7BQY in mmCIF format"
- "Show me the polymer entity details for PDB 4HHB entity 1"
- "Query the assembly information for 1ABC assembly 1"
Project Structure
rcsb-mcp/
├── rcsb_api.py # Core RCSB API functions
├── server.py # FastMCP server implementation
├── pyproject.toml # Project dependencies
└── README.md # This file
API Documentation
For more information about the RCSB Data API, visit:
- https://data.rcsb.org/
- https://www.rcsb.org/docs/programmatic-access/web-services-overview
License
MIT
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.