DROMA MCP Server
About
A Model Context Protocol (MCP) server for DROMA (Drug Response Omics association MAp) - enabling natural language interactions with drug-omics association analysis.
Details
- License
- MPL-2.0 license
Explore
- 🔗 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
- 🚄 Performance Optimizations: Memory management, asynchronous processing, and connection pooling
- 🛡️ Robust Error Handling: Comprehensive validation, logging, and graceful error recovery
- 🎛️ Class-Based CLI: Modern, type-safe command-line interface with comprehensive help
- Python 3.10+
- R 4.0+ with DROMA.Set and DROMA.R packages
- DROMA SQLite database
pip install droma-mcp
git clone https://github.com/mugpeng/DROMA_MCP
cd DROMA_MCP
pip install -e .
bash
droma-mcp validate
Export a configuration file for your MCP client:
droma-mcp export-config -o droma-config.json
droma-mcp export-config -o droma-http-config.json --transport streamable-http --port 8000
Add to your MCP client configuration:
{
"mcpServers": {
"droma-mcp": {
"command": "droma-mcp",
"args": ["run", "--db-path", "path/to/droma.sqlite"]
}
}
}
droma-mcp validate
droma-mcp export-config --transport streamable-http --port 8080 -o http-config.json
- DROMA_DB_PATH: Default path to DROMA SQLite database
- R_LIBS: Path to R libraries
- DROMA_MCP_MODULE: Server module to load (all, data_loading, database_query, dataset_management)
- DROMA_MCP_VERBOSE: Enable verbose logging
droma-mcp validate
droma-mcp validate
pip install -e .
droma-mcp test --r-libs /path/to/R/libs
R -e "install.packages('rpy2')"
droma-mcp run --verbose
```
1. Define Pydantic schemas in schema/
2. Implement server functions in server/
3. Register tools with FastMCP decorators
4. Update CLI module loading logic
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.
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
- 🚄 Performance Optimizations: Memory management, asynchronous processing, and connection pooling
- 🛡️ Robust Error Handling: Comprehensive validation, logging, and graceful error recovery
- 🎛️ Class-Based CLI: Modern, type-safe command-line interface with comprehensive help
🏎️ Performance Features
- Asynchronous Processing: Non-blocking I/O operations for better responsiveness
- Memory Management: Automatic memory monitoring and garbage collection
- Connection Pooling: Efficient R environment management
- Smart Caching: LRU cache with size limits and automatic eviction
- Batch Operations: Process multiple datasets efficiently
- Performance Monitoring: Built-in metrics tracking and reporting
📦 Installation
Prerequisites
- Python 3.10+
- R 4.0+ with DROMA.Set and DROMA.R packages
- DROMA SQLite database
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:
```r
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



