RCSB PDB MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_pdb_entryA | Get comprehensive information about a PDB entry. Args: pdb_id: The 4-character PDB identifier (e.g., '1ABC', '7BQY') Returns: JSON string containing entry information including: - Structure title and description - Experimental method (X-ray, NMR, Cryo-EM, etc.) - Resolution - Deposition and release dates - Authors and citation information - Organism source |
| get_polymer_entityA | Get information about a polymer entity (protein, DNA, RNA) within a PDB entry. Args: pdb_id: The 4-character PDB identifier (e.g., '1ABC') entity_id: The entity number within the structure (default: '1') Returns: JSON string containing polymer entity information including: - Molecule name and description - Sequence information - Molecular weight - Entity type (polypeptide, DNA, RNA, etc.) - Source organism |
| download_structure_fileA | Download a structure file from RCSB PDB. Args: pdb_id: The 4-character PDB identifier (e.g., '1ABC') file_format: Format to download. Options: - 'pdb': PDB format (default) - 'cif': mmCIF format - 'xml': PDBML/XML format - 'pdb.gz': Compressed PDB - 'cif.gz': Compressed mmCIF - 'xml.gz': Compressed XML output_dir: Directory to save the file (optional, defaults to current directory) filename: Custom filename (optional, uses PDB ID + extension by default) Returns: JSON string with download status and file path |
| query_rcsb_apiA | Make a custom query to the RCSB Data API. This is an advanced tool for accessing any RCSB Data API endpoint directly. Args: endpoint: API endpoint path (e.g., 'assembly/1ABC-1', 'uniprot/P12345') params: Optional JSON string of query parameters (e.g., '{"format": "json"}') Common endpoints: - entry/{pdb_id}: Entry-level information - polymer_entity/{pdb_id}{entity_id}: Polymer entity info - assembly/{pdb_id}-{assembly_id}: Biological assembly info - nonpolymer_entity/{pdb_id}{entity_id}: Small molecule/ligand info - uniprot/{uniprot_id}: UniProt cross-reference Returns: JSON string containing the API response |
| search_pdb_by_organismA | Get information about how to search for PDB entries by organism. This tool provides guidance on using the RCSB search API to find structures from specific organisms. Args: organism: Organism name (e.g., 'Homo sapiens', 'E. coli') Returns: Instructions and example queries for searching by organism |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: retrieving entries, polymer entities, downloading files, querying the API, and searching by organism. No overlaps in functionality.
Tool names follow a predictable pattern with 'get_' for retrieval and descriptive verbs like 'download' and 'query'. Minor inconsistency with 'search_pdb_by_organism' using a different verb, but overall consistent.
Five tools is well-scoped for an RCSB PDB server, covering the essential operations without unnecessary bloat or excessive granularity.
The set covers entry retrieval, entity retrieval, file downloads, and raw API access. The 'search_pdb_by_organism' tool only provides guidance rather than performing actual searches, but the 'query_rcsb_api' tool can be used for that purpose, so no major gaps.