DROMA01/DROMA_MCP
If you are the rightful owner of DROMA_MCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
DROMA MCP Server is a Model Context Protocol server designed for natural language interactions with drug-omics association analysis.
DROMA MCP Server
A Model Context Protocol (MCP) server for DROMA (Drug Response Omics association MAp) - enabling natural language interactions with drug-omics association analysis.
🚀 Overview
DROMA MCP Server bridges the gap between AI assistants and cancer pharmacogenomics analysis by providing a natural language interface to the DROMA.R and DROMA.Set packages.
It is a part of DROMA project. Visit the official DROMA website for comprehensive documentation and interactive examples.
Key Features
- 🔗 Natural Language Interface: Ask questions about drug-omics associations in plain English
- 📊 Dataset Management: Load and manage DROMA datasets (CCLE, gCSI, etc.) in memory
- 📈 Data Loading & Normalization: Load molecular profiles and treatment response data with automatic z-score normalization
- 🗂️ Multi-Project Support: Seamlessly work with data across multiple research projects
- 💾 Smart Caching: Efficient data caching with metadata tracking for faster access
- 📤 Data Export: Export analysis results to various formats (CSV, Excel, JSON)
- ⚡ Multi-Modal Support: Works with various transport protocols (STDIO, HTTP, SSE)
- 🔄 R Integration: Seamless integration with existing DROMA R packages via rpy2
📦 Installation
Prerequisites
- Python 3.10+
- R 4.0+ with DROMA.Set and DROMA.R packages
- DROMA SQLite database
- FastMCP 2.13+ (automatically installed)
Install via pip
pip install droma-mcp
Development Installation
git clone https://github.com/mugpeng/DROMA_MCP
cd DROMA_MCP
pip install -e .
R Dependencies
Ensure you have the DROMA R packages installed:
# Install DROMA.Set and DROMA.R packages
# devtools::install_github("mugpeng/DROMA_Set")
# devtools::install_github("mugpeng/DROMA_R")
🚀 Quick Start
1. Start the Server
# STDIO mode (for AI assistants) - default
droma-mcp run --db-path path/to/droma.sqlite
# HTTP mode (for web applications)
droma-mcp run --transport http --port 8000 --db-path path/to/droma.sqlite
2. MCP Client Configuration
Add to your MCP client configuration:
{
"mcpServers": {
"droma-mcp": {
"command": "droma-mcp",
"args": ["run", "--db-path", "path/to/droma.sqlite"]
}
}
}
🖥️ CLI Commands
| Command | Description |
|---|---|
run | Start the MCP server |
test | Test configuration and dependencies |
validate | Validate complete setup |
export-config | Export MCP client configuration |
For detailed help: droma-mcp --help or droma-mcp run --help
🛠️ Available Tools
Dataset Management
load_dataset: Load DROMA datasets (CCLE, gCSI, etc.) into memory from databaselist_loaded_datasets: Show which datasets are currently loaded in memoryset_active_dataset: Set the active dataset for subsequent operationsunload_dataset: Remove datasets from memory to free up resources
Data Loading & Analysis
load_molecular_profiles_normalized: Load molecular profiles (mRNA, CNV, methylation, etc.) with z-score normalizationload_treatment_response_normalized: Load drug response data with normalizationload_multi_project_molecular_profiles_normalized: Load data across multiple projectsload_multi_project_treatment_response_normalized: Load treatment response across projectscheck_zscore_normalization: Verify normalization status of cached dataget_cached_data_info: Get information about cached datasetsexport_cached_data: Export data to CSV/Excel/JSON formats
Database Query & Exploration
get_droma_annotation: Retrieve sample or drug annotation data from the databaselist_droma_samples: List all available samples for a project with filtering optionslist_droma_features: List all available features (genes, drugs) for a project and data typelist_droma_projects: List all projects available in the DROMA database
Visualization & Analysis
plot_drug_sensitivity_rank: Create drug sensitivity rank plotsanalyze_drug_omic_pair: Analyze associations between drugs and omic features
💬 Example Usage
Essential Workflow
⚠️ Important: Before using any data loading functions, you must first load the dataset into memory:
"Load the CCLE dataset from the database and set it as active"
"Load mRNA expression data for ABCB1 gene from the CCLE dataset with z-score normalization"
"List all projects available in the DROMA database"
"Show me all available samples for the gCSI project that have mRNA data"
🔧 Configuration
Environment Variables
DROMA_DB_PATH: Default path to DROMA SQLite databaseR_LIBS: Path to R librariesDROMA_MCP_MODULE: Server module to load (all,data_loading,database_query,dataset_management,visualization,analysis)DROMA_MCP_VERBOSE: Enable verbose logging
🔧 Troubleshooting
Common Issues
Import Errors: Run droma-mcp validate to check dependencies
R Integration Issues: Ensure R and DROMA packages are installed correctly
Database Connection: Verify database path with droma-mcp test --db-path path/to/droma.db
For more help, see the official DROMA website or open an issue on GitHub.
🤝 Contributing
Contributions are welcome! Please see our for details.
📄 License
This project is licensed under the MPL-2 License - see the file for details.
🔗 Related Projects
- DROMA - Main DROMA project
- DROMA.Set - R package for data management
- DROMA.R - R package for analysis functions
- FastMCP - Python framework for MCP servers
- Model Context Protocol - Open standard for AI tool integration
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: Contact DROMA Team
Citation
If you use DROMA MCP in your research, please cite:
Li, S., Peng, Y., Chen, M. et al. Facilitating integrative and personalized oncology omics analysis with UCSCXenaShiny. Commun Biol 7, 1200 (2024). https://doi.org/10.1038/s42003-024-06891-2
DROMA MCP - Bridging AI and Cancer Pharmacogenomics 🧬💊🤖
