BioMCP: Enabling agent-based biomedical R&D
Overview
BioMCP is a Model Context Protocol (MCP) server designed to enhance large language models with protein structure analysis capabilities. It provides tools for analyzing protein active sites and searching for disease-related proteins by interfacing with established protein databases.
Future work will be centered around enabling agents to utilize the BioMCP.
Features
- Active Site Analysis: Examine the binding sites and functional residues of proteins using PDB IDs
- Disease-Protein Search: Find protein structures associated with specific diseases or medical conditions
- Integrated Data Access: Connect seamlessly with RCSB Protein Data Bank (PDB)
Technical Details
BioMCP implements the Model Context Protocol, allowing language models to access specialized protein structure knowledge without requiring this information to be part of their training data. The server handles API connections, data formatting, and error handling to provide reliable protein structure insights.
API Endpoints
BioMCP exposes two primary tools:
analyze-active-site
: Provides detailed information about protein binding sites using a PDB IDsearch-disease-proteins
: Returns proteins related to specified diseases or medical conditions
Getting Started
Installing via Smithery
To install BioMCP for Claude Desktop automatically via Smithery:
Manual Installation
Setup Instructions
Running the MCP Inspector
- Start the BioMCP server:
- In a separate terminal, install the MCP Inspector globally (if not already installed):
- Launch the MCP Inspector and connect to your local BioMCP server:
- Use the inspector interface to test tools and view responses.
Using with Claude Desktop
- Build the BioMCP server:
- Configure Claude Desktop to launch the MCP server:a. Locate your Claude Desktop config.json file (typically in your user directory)b. Edit the config.json to include the BioMCP server build path. Example configuration:c. Replace
/path/to/your/build
with your actual path to the project directory. - Restart Claude Desktop for the changes to take effect.
- You can now ask Claude questions that utilize the BioMCP tools:
- "What are the key residues in the active site of PDB structure 6LU7?"
- "Find proteins related to Alzheimer's disease"
Example Usage
When integrated with a compatible language model, Bio-MCP enables queries like:
- "What are the key residues in the active site of PDB structure 6LU7?"
- "Find proteins related to Alzheimer's disease"
Requirements
- Node.js 20.0.0 or higher
- TypeScript 5.0+
- Compatible MCP client implementation
Testing
BioMCP includes a comprehensive testing suite with unit, integration, and end-to-end tests.
Running Tests
Run all tests:
Run specific test suites:
Linting
Check code quality:
Fix linting issues automatically:
Roadmap
- Expand level of detail for active site descriptions
- Leverage 3-D coordinates
- Tools for interfacing with literature
- Tools for interfacing with computational biology models:
- RFdiffusion
- ProteinMPNN
- ColabFold
- Additional protein design and structure prediction tools
- Agent-based research pipelines
- Introduce client with protein visualization tools
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that enables Large Language Models to access and interact with database connections, including viewing schemas and performing CRUD operations on connected databases.Last updated -
- -securityAlicense-qualityAn MCP server that enables language models to fetch protein information from the UniProt database, including protein details, sequences, functions, and structures.Last updated -PythonMIT License
- AsecurityFlicenseAqualityA comprehensive Model Context Protocol server for advanced code analysis that provides tools for syntax analysis, dependency visualization, and AI-assisted development workflow support.Last updated -284Python
- -securityFlicense-qualityA Model Context Protocol server that enables AI models to programmatically search and interact with proteomics datasets from the PRIDE Archive repository through structured function calling.Last updated -2Python