OmicVerse MCP Tool Catalog¶
The current MCP server exposes up to 58 tools:
P0: 15 analysis toolsP0.5: 13 additional analysis toolsP2: 5 advanced class-backed tools- Meta tools: 25 always-on tools
Phase System Overview¶
| Phase | Tools | Description |
|---|---|---|
| P0 | 15 | Core single-cell pipeline, built-in datasets, and essential preprocessing |
| P0.5 | 13 | Marker genes, pathway analysis, and visualization |
| P2 | 5 | Advanced class-backed tools |
| Meta | 25 | Discovery, AnnData inspection, session, observability, artifacts, safety |
| Total | 58 |
P0: Core Pipeline & Data Access¶
| Tool | Description | Key Parameters |
|---|---|---|
ov.utils.read |
Load a file and return an adata_id |
path |
ov.datasets.pbmc3k |
Load built-in PBMC3k | — |
ov.datasets.pbmc8k |
Load built-in PBMC8k | — |
ov.datasets.seqfish |
Load built-in seqFISH | — |
ov.pp.qc |
Compute QC metrics | adata_id |
ov.pp.filter_cells |
Filter cells | adata_id, thresholds |
ov.pp.filter_genes |
Filter genes | adata_id, thresholds |
ov.pp.log1p |
Log-transform expression | adata_id |
ov.pp.highly_variable_genes |
Identify HVGs | adata_id |
ov.pp.scale |
Scale expression and create scaled layer |
adata_id |
ov.pp.pca |
Compute PCA | adata_id, n_pcs |
ov.pp.neighbors |
Build neighbor graph | adata_id |
ov.pp.umap |
Compute UMAP | adata_id |
ov.pp.leiden |
Leiden clustering | adata_id, resolution |
ov.pp.louvain |
Louvain clustering | adata_id, resolution |
Pipeline order: read or ov.datasets.* -> qc / filtering -> log1p / HVG -> scale -> pca -> neighbors -> umap / clustering
Typical prompts:
Load the built-in seqfish datasetRun QC and identify highly variable genesRun PCA with 50 components
P0.5: Analysis & Visualization¶
| Tool | Description | Key Parameters |
|---|---|---|
ov.single.find_markers |
Differential marker discovery | adata_id |
ov.single.get_markers |
Extract marker table | adata_id, n_markers |
ov.single.cosg |
Rank markers with COSG | adata_id |
ov.single.pathway_enrichment |
Pathway enrichment | marker set or result handle |
ov.single.pathway_enrichment_plot |
Plot enrichment results | enrichment result |
ov.pl.embedding |
Generic embedding plot | adata_id, color, save |
ov.pl.violin |
Violin plot | adata_id, keys, groupby |
ov.pl.dotplot |
Dotplot | adata_id, var_names, groupby |
ov.pl.markers_dotplot |
Marker-gene dotplot | adata_id |
ov.pl.umap |
UMAP plotting helper | adata_id, color |
ov.pl.tsne |
tSNE plotting helper | adata_id, color |
ov.pl.rank_genes_groups_dotplot |
Ranked marker dotplot | adata_id |
ov.pl.marker_heatmap |
Marker heatmap | adata_id |
Typical prompts:
Find marker genes for each Leiden clusterRun COSG to rank marker genesPerform pathway enrichment on the markersPlot a marker heatmap
P2: Advanced Class-backed Tools¶
These tools expose a lifecycle such as create -> run -> results -> destroy.
| Tool | Description |
|---|---|
ov.bulk.pydeg |
Differential expression |
ov.single.pyscsa |
Automated cell annotation |
ov.single.metacell |
Metacell construction |
ov.single.dct |
Differential cell composition |
ov.utils.lda_topic |
Topic modeling |
These tools may appear in ov.list_tools but still return tool_unavailable if optional dependencies are missing.
P2 tools use a multi-action lifecycle such as:
createrun/annotate/trainresults/predictdestroy
Runtime environment status¶
OmicVerse validates tool availability against tested dependency stacks:
- core-runtime: verified (
anndata,scanpy,scipy) - scientific-runtime: verified (
+ scvelo,squidpy) - extended-runtime: constrained (
SEACellsworks;mira-multiomeis currently blocked)
Use ov.describe_tool to check whether a specific tool can run in your environment.
AnnData Inspection Tools¶
These tools are important because they let the client inspect the current dataset instead of guessing.
| Tool | Use |
|---|---|
ov.adata.describe |
High-level summary of shape, names, layers, embeddings, metadata |
ov.adata.peek |
Preview a slot such as obs, var, obsm, layers, or uns |
ov.adata.find_var |
Search var_names for genes such as CD3D |
ov.adata.value_counts |
Count values in an obs column |
ov.adata.inspect |
Inspect nested entries in obsm, obsp, layers, varm, or uns |
Typical prompts:
Describe the current adataWhat is the first gene in var?Does CD3D exist in var_names?Show value counts for leidenInspect adata.obsm X_pcaInspect adata.uns
Meta Tools¶
Meta tools are always available regardless of phase selection.
Discovery¶
ov.list_toolsov.search_toolsov.describe_tool
Session & Persistence¶
ov.get_sessionov.list_handlesov.persist_adataov.restore_adata
Observability¶
ov.get_metricsov.list_eventsov.get_traceov.list_traces
Artifacts¶
ov.list_artifactsov.describe_artifactov.register_artifactov.delete_artifactov.cleanup_artifactsov.export_artifacts_manifest
Artifact types: file, image, table, json, plot, report, export
Runtime Safety¶
ov.get_limitsov.cleanup_runtimeov.get_health
Dependency Tiers¶
| Tier | Packages | Tools Unlocked | Install |
|---|---|---|---|
| Core | anndata, scanpy, numpy, scipy, matplotlib |
P0 + P0.5 | pip install omicverse[mcp] |
| Scientific | + scvelo, squidpy |
velocity & spatial analysis | pip install -r requirements/mcp-scientific-runtime.txt |
| Extended | + SEACells, pertpy |
P2 class tools | pip install -r requirements/mcp-extended-runtime.txt |
Checking Your Environment¶
- Ask the client to run
ov.get_healthfor a lightweight runtime summary. - Ask it to run
ov.get_limitsfor quota and handle usage. - Ask it to run
ov.describe_toolfor one specific tool if you want availability and dependency details.
Choosing Between Similar Tools¶
- Prefer
ov.datasets.*over file loading when a built-in tutorial dataset is enough. - Prefer
ov.adata.*before asking the model to infer what is insideobs,var,obsm, oruns. - Prefer
ov.pl.embeddingwhen you want one generic embedding plotting entrypoint. - Use
ov.pl.umaporov.pl.tsnewhen you want the plot type to be explicit.
Related Pages¶
- Setup: Quick Start
- Deployment: Clients & Deployment
- Runtime behavior: Runtime & Troubleshooting