A set of Model Context Protocol (MCP) servers that provides seamless access to the Protein Data Bank in Europe (PDBe) API, PDBe Graph Database, and PDBe Search. This server exposes PDBe's comprehensive structural biology data as MCP tools, enabling direct integration with Claude Desktop and other AI-powered applications.
Features:
- PDBe API Server: Access core structural data through REST API endpoints
- PDBe Graph Server: Query complex relationships and molecular interactions
- PDBe Search Server: Perform advanced Solr-based searches across structural data
- Python 3.10+ - Required for the server runtime
- uv - Fast Python package manager and dependency resolver
Install directly from PyPI:
uvx pdbe-mcp-serverThe tool is available on PyPI and can be run directly with uvx without any installation step.
For development work or customization:
-
Clone and navigate to the repository:
git clone https://github.com/PDBeurope/PDBe-MCP-Servers.git cd PDBe-MCP-Servers -
Create a virtual environment:
uv venv
-
Install with uv:
uv pip install .
-
Locate your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
Add the PDBe MCP server configuration:
For PyPI installation (recommended):
{ "mcpServers": { "PDBe API Server": { "command": "uvx", "args": [ "pdbe-mcp-server", "--server-type", "pdbe_api_server" ] }, "PDBe Graph Server": { "command": "uvx", "args": [ "pdbe-mcp-server", "--server-type", "pdbe_graph_server" ] }, "PDBe Search Server": { "command": "uvx", "args": [ "pdbe-mcp-server", "--server-type", "pdbe_search_server" ] } } }For local development installation:
{ "mcpServers": { "PDBe API": { "command": "/usr/local/bin/uv", "args": [ "run", "--directory", "/path/to/your/PDBe-MCP-Servers", "pdbe-mcp-server", "--server-type", "pdbe_api_server" ] }, "PDBe Graph": { "command": "/usr/local/bin/uv", "args": [ "run", "--directory", "/path/to/your/PDBe-MCP-Servers", "pdbe-mcp-server", "--server-type", "pdbe_graph_server" ] }, "PDBe Search": { "command": "/usr/local/bin/uv", "args": [ "run", "--directory", "/path/to/your/PDBe-MCP-Servers", "pdbe-mcp-server", "--server-type", "pdbe_search_server" ] } } }
Note:
- For the PyPI installation method, ensure
uvxis available in your PATH (this comes with uv)- For local development, ensure that
uvis installed and the/path/to/your/PDBe-MCP-Serversmatches your actual directory
- Restart Claude Desktop to load the new configuration.
Once configured, you can access PDBe tools directly in your Claude conversations:
- Search for protein structures: "Find structures for UniProt accession P12345"
- Query structure releases: "Show me all structures released this month grouped by experimental method"
- Explore molecular interactions: "Show me ligand binding sites for this protein"
- Advanced search queries: "Find all X-ray crystal structures with resolution better than 2.0 Å from 2024"
The tools will appear in Claude's "Search and tools" interface, where you can enable or disable them as needed.
pdbe_api_server: Core PDBe REST API access with essential structural datapdbe_graph_server: Know more about the PDBe Graph Database and generate Cypher queries for accessing complex relationships and interactionspdbe_search_server: Advanced Solr-based search capabilities for complex structural queries and data analysis
The PDBe Search Server provides powerful querying capabilities through the PDBe Solr search interface:
Retrieves the complete Solr search schema showing all available fields, data types, and descriptions. Use this to understand what fields you can search and filter on.
Example usage:
"Show me the search schema for PDBe structures"
Execute advanced search queries with flexible filtering, sorting, and pagination options.
Parameters:
query(required): Solr query string (e.g.,pdb_id:1cbs,experimental_method:"X-ray diffraction")filters(optional): Array of field names to include in resultssort(optional): Sort criteria (e.g.,release_date desc,resolution asc)start(optional): Starting index for pagination (default: 0)rows(optional): Number of results to return (default: 10)
Example queries:
"Find all structures released in October 2025 grouped by experimental method"
"Search for all X-ray crystal structures with resolution better than 2.0 Å"
"Show me the latest 20 cryo-EM structures sorted by release date"
"Find structures containing ligand 'ATP' with specific binding sites"
Common searchable fields include:
pdb_id: PDB entry identifierexperimental_method: Structure determination methodrelease_date: Structure release dateresolution: Structure resolution (Å)molecule_type: Type of molecule (protein, DNA, RNA, etc.)organism_scientific_name: Source organismligand_name: Bound ligandstitle: Structure title/description
Use get_search_schema to discover all available fields and their descriptions.
For contributing or development work, first clone the repository and then install in editable mode:
git clone https://github.com/PDBeurope/PDBe-MCP-Servers.git
cd PDBe-MCP-Servers
uv pip install -e ".[dev]"Node.js (optional) - For using the MCP Inspector development tool
Choose between two server types based on your needs:
Provides access to core PDBe REST API endpoints:
Using PyPI installation:
uvx pdbe-mcp-server --server-type pdbe_api_server --transport sseUsing local development:
uv run pdbe-mcp-server --server-type pdbe_api_server --transport sseEnables complex relationship queries and network analysis:
Using PyPI installation:
uvx pdbe-mcp-server --server-type pdbe_graph_server --transport sseUsing local development:
uv run pdbe-mcp-server --server-type pdbe_graph_server --transport sseProvides advanced Solr-based search and analytics capabilities:
Using PyPI installation:
uvx pdbe-mcp-server --server-type pdbe_search_server --transport sseUsing local development:
uv run pdbe-mcp-server --server-type pdbe_search_server --transport sseThe server will start at http://localhost:8000/sse by default.
Explore available tools and test API responses:
npx @modelcontextprotocol/inspectorThe MCP Inspector provides an interactive interface to browse tools, test queries, and validate responses before integrating with your application.
- stdio: Default mode - Optimal for direct client integration like Claude Desktop
- SSE (Server-Sent Events):
--transport sse- Best for web-based clients and development
"Command not found" errors:
- Ensure
uvis installed and in your PATH - Verify the full path to
uvin your Claude Desktop configuration
Missing tools in Claude:
- Restart Claude Desktop after configuration changes
- Check the Claude Desktop logs for MCP server errors
- Verify JSON syntax in your configuration file
- Model Context Protocol - Official MCP documentation and specifications
- PDBe API Documentation - Complete API reference and examples
- PDBe Graph Database - Advanced querying and relationship mapping
- Claude Desktop - Download and setup instructions
This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.
For questions, bug reports, or feature requests:
- Issues: Use the GitHub Issues tracker
- PDBe Helpdesk: Visit the PDBe Help & Support pages