millimap-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_cluster_markersB | Return top marker genes for a specific cluster. Args: cluster_id: Cluster identifier as a string (e.g., "0", "1", "CD8_T"). top_n: Number of top markers to return (default 10, max 15). |
| genes_for_cell_typeA | Find which clusters are annotated as a given cell type, with their markers. Use this when the user asks things like "what genes are for T cells" — we find every cluster labelled with that cell type and return their marker genes. |
| search_genesC | Case-insensitive search across marker genes. Returns matching genes and which cluster they mark. |
| list_roisA | List all ROIs saved in the current MilliMap session. |
| list_analysis_cardsA | List the analysis result cards visible in MilliMap's workspace sidebar. Same data as the |
| get_analysis_cardA | Fetch the full payload of one analysis result card, including its
underlying DataFrame (up to Use this to inspect the actual numbers behind a card — e.g. the differential expression table, spatial autocorrelation p-values, neighborhood enrichment z-scores — so you can reason over the result. Args:
card_id: The |
| run_clusteringA | Run MilliMap's clustering pipeline on the active dataset. Runs PCA → neighbors (n_neighbors) → Leiden (resolution) → UMAP using Scanpy and updates the 3D view in MilliMap with the new cluster labels. Args: resolution: Leiden resolution (higher = more clusters). Default 0.5. n_neighbors: k for the neighbors graph. Default 15. |
| find_markersA | Run rank_genes_groups in MilliMap to find marker genes per cluster. After this completes, the MilliMap snapshot refreshes with the top markers per cluster — subsequent calls to get_cluster_markers or genes_for_cell_type will see them. Args: groupby: obs column to group by. Default 'clusters'. method: 'wilcoxon' (default), 't-test', or 'logreg'. |
| annotate_clusterA | Set a cell-type annotation on a cluster in the running MilliMap session. The label appears in MilliMap's annotation panel and is written back to the session snapshot — use this when you've figured out what a cluster is. Args: cluster_id: Cluster identifier as shown in MilliMap (e.g. "Cluster 3", "1"). label: Cell-type name (e.g. "CD8+ T cell", "fibroblast", "doublet"). |
| score_gene_signatureA | Score a gene signature across all cells and add it as an obs column. Use this to apply a published signature (e.g. exhausted T cell markers, EMT genes) to the dataset. The score becomes a colorable field in MilliMap. Args: genes: List of gene symbols to score together. score_name: Name for the new obs column (default 'mcp_score'). |
| apply_qc_filterA | Apply QC filters to the active dataset in MilliMap. Replaces the active adata with the filtered subset and re-renders. The original can be restored via the in-app QC controls. |
| run_millimap_toolA | Escape hatch — run any of MilliMap's 30+ analysis tools by name. Use when a workflow needs a tool not individually exposed above. Examples of tool_name: run_deg_clusters, run_deg_roi, run_go_enrichment, find_spatially_variable_genes, run_neighborhood_enrichment, run_co_occurrence, run_centrality_scores, run_interaction_matrix, run_ripley, run_ligrec, run_pca, run_louvain, run_diffmap, run_draw_graph, run_paga, run_dpt, run_embedding_density, run_doublet_detection, normalize_data, find_highly_variable_genes, score_cell_cycle, create_dotplot, create_heatmap, create_stacked_violin, annotate_clusters. Args: tool_name: Exact tool name from the list above. tool_args_json: JSON string of arguments, e.g. '{"group_a": "1", "group_b": "2"}'. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| session_resource | Summary of the active MilliMap dataset and session. |
| clusters_resource | Cluster IDs and their cell counts. |
| annotations_resource | Cluster → cell-type annotations assigned by the scientist in MilliMap. |
| markers_resource | Top marker genes per cluster from the most recent rank_genes_groups run. |
| rois_resource | Regions of interest saved in the current MilliMap session. |
| analysis_cards_resource | Analysis result cards shown in MilliMap's workspace sidebar. Each entry is a summary — title, type, method, timestamp, dataset, and dataframe shape if applicable. Use the ``get_analysis_card`` tool with the card's ``id`` to read its full payload (including the underlying DataFrame). |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/milliomics/millimap-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server