README.md•2.43 kB
# scvi-tools MCP Server
An MCP (Model Context Protocol) server for deep probabilistic analysis of single-cell omics data using scvi-tools with natural language!
## 🎯 What can it do?
- **SCVI**: Deep generative modeling for scRNA-seq
  - Latent representation extraction
  - Normalized expression
  - Differential expression analysis
  - Batch effect correction
- **SCANVI**: Semi-supervised cell type annotation
  - Transfer learning from labeled to unlabeled cells
  - Cell type prediction
- **TOTALVI**: Joint RNA and protein (CITE-seq) analysis
  - Multi-modal integration
  - Protein expression denoising
- **PEAKVI**: scATAC-seq analysis
  - Chromatin accessibility
  - Differential accessibility
## 📦 Installation
```bash
cd /path/to/scvi-mcp
python3 -m venv venv
source venv/bin/activate
pip install -e .
```
## 🚀 Quick Start
```bash
scvi-mcp run --data /path/to/data.h5ad
```
## 🔧 Configuration for Claude Desktop
```json
{
  "mcpServers": {
    "scvi": {
      "command": "/path/to/scvi-mcp/venv/bin/python",
      "args": ["-m", "scvi_mcp", "run", "--data", "/path/to/data.h5ad"]
    }
  }
}
```
## 🛠️ Available Tools (22 tools)
### SCVI (8 tools)
- scvi_setup_anndata, scvi_create_model, scvi_train_model
- scvi_get_latent_representation, scvi_get_normalized_expression
- scvi_differential_expression, scvi_save_model, scvi_load_model
### SCANVI (4 tools)
- scanvi_setup_anndata, scanvi_create_model
- scanvi_from_scvi_model, scanvi_predict
### TOTALVI (3 tools)
- totalvi_setup_anndata, totalvi_create_model
- totalvi_get_protein_foreground_prob
### PEAKVI (3 tools)
- peakvi_setup_anndata, peakvi_create_model
- peakvi_differential_accessibility
### Common (2 tools)
- scvi_get_elbo, scvi_get_reconstruction_error
## 📝 Example Usage
**Basic SCVI workflow:**
```
1. "Setup my data for SCVI analysis with batch correction"
2. "Create an SCVI model with 10 latent dimensions"
3. "Train the SCVI model"
4. "Extract the latent representation and save it to X_scVI"
5. "Run differential expression between cell types"
```
**SCANVI cell type annotation:**
```
1. "Setup SCANVI with cell_type labels, mark Unknown as unlabeled"
2. "Create SCANVI model from my trained SCVI model"
3. "Train SCANVI and predict cell types"
```
## 📄 License
MIT License
## 🔗 Related Projects
- [scvi-tools](https://github.com/scverse/scvi-tools)
- [Scanpy](https://github.com/scverse/scanpy)