scVelo Remote Tool (MCP Server)¶
Serves scVelo
(RNA velocity; Bergen et al., Nature Biotechnology 2020) as a ToolUniverse
remote tool: run_scvelo_velocity — infers RNA velocity from spliced/unspliced
mRNA and returns a velocity-derived pseudotime ordering of cells plus a per-cell
velocity confidence, and (with a cluster_key) the mean pseudotime per cluster
as a coarse trajectory ordering.
Served remotely (not bundled) because scvelo pulls in scanpy + anndata +
numba. The input .h5ad must carry spliced and unspliced count layers
(e.g. from velocyto, kb-python / kallisto|bustools, or STARsolo); without them
RNA velocity cannot be estimated and the tool returns a clear error.
Deploy¶
pip install -r requirements.txt # scvelo + scanpy + anndata
python scvelo_tool.py # starts the MCP server on 127.0.0.1:8025
Pipeline: scv.pp.filter_and_normalize -> scv.pp.moments -> scv.tl.velocity
-> scv.tl.velocity_graph -> scv.tl.velocity_pseudotime +
scv.tl.velocity_confidence.
Inputs are referenced by adata_path (a server-accessible .h5ad with
spliced/unspliced layers), since single-cell matrices are large. Only bounded
summaries (mean/min/max/std, per-cluster means) are returned; full per-cell
arrays are included only for small datasets (n_cells <= 500). Expose remotely
only behind TOOLUNIVERSE_API_TOKEN (SMCP bind guard).
Register in ToolUniverse¶
Tool definition: src/tooluniverse/data/remote_tools/scvelo_tools.json
(type: RemoteTool). Connect via the standard MCPAutoLoaderTool/server_url
mechanism.