File size: 1,737 Bytes
d048db9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
"""
Model Context Protocol (MCP) for GLUE_Agent

GLUE_Agent provides comprehensive multi-omics data integration tools for single-cell RNA-seq and ATAC-seq analysis. This framework enables preprocessing, model training, and visualization of integrated multi-modal datasets.

This MCP Server contains tools extracted from the following tutorial files:
1. preprocessing
    - glue_preprocess_scrna: Preprocess scRNA-seq data with HVG selection, normalization, and PCA
    - glue_preprocess_scatac: Preprocess scATAC-seq data with LSI dimension reduction
    - glue_construct_regulatory_graph: Construct prior regulatory graph linking RNA and ATAC features
2. training
    - glue_configure_datasets: Configure RNA-seq and ATAC-seq datasets for GLUE model training
    - glue_train_model: Train GLUE model for multi-omics integration
    - glue_check_integration_consistency: Evaluate integration quality with consistency scores
    - glue_generate_embeddings: Generate cell and feature embeddings from trained GLUE model
"""

import os

from fastmcp import FastMCP

# Import statements (alphabetical order)
from tools.preprocessing import preprocessing_mcp
from tools.training import training_mcp

# Server definition and mounting
mcp = FastMCP(name="GLUE_Agent")
mcp.mount(preprocessing_mcp)
mcp.mount(training_mcp)

# ASGI app for uvicorn (used when deployed as a remote HTTP server)
# stateless_http=True avoids the StreamableHTTPSessionManager task group
# initialization issue that causes 500 errors on HuggingFace Spaces.
app = mcp.http_app(path="/mcp", stateless_http=True)

if __name__ == "__main__":
    mcp.run(
        transport="http",
        host="0.0.0.0",
        port=int(os.getenv("PORT", 7860)),
        path="/mcp",
    )