Skip to main content
Glama
milliomics

millimap-mcp

Official
by milliomics

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 millimap://analysis_cards resource — returns an array of summaries. Use get_analysis_card to load the full payload for a specific card.

get_analysis_cardA

Fetch the full payload of one analysis result card, including its underlying DataFrame (up to max_rows rows, default 50).

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 id field from list_analysis_cards (a hex token). max_rows: Max rows of the DataFrame to include (1–500, default 50).

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
session_resourceSummary of the active MilliMap dataset and session.
clusters_resourceCluster IDs and their cell counts.
annotations_resourceCluster → cell-type annotations assigned by the scientist in MilliMap.
markers_resourceTop marker genes per cluster from the most recent rank_genes_groups run.
rois_resourceRegions of interest saved in the current MilliMap session.
analysis_cards_resourceAnalysis 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