millimap-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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