Skip to content

cafferychen777/ChatSpatial

ChatSpatial

MCP server for spatial transcriptomics analysis via natural language

Paper MLGenX @ ICLR 2026 ENAR 2026 IBC 2026 CI PyPI Python 3.11-3.13 License: MIT Docs Docker

ChatSpatial Overview

ChatSpatial replaces ad-hoc LLM code generation with schema-enforced orchestration. Instead of generating arbitrary scripts, the LLM selects tools and parameters from a curated registry, making spatial transcriptomics workflows more reproducible across sessions and clients.

It exposes 65 spatial transcriptomics methods across 15 analytical categories as MCP tools, so any MCP-compatible client can analyze data through natural language.


Start Here

  1. Install ChatSpatialInstallation Guide for Python/uv setup, or Docker Guide for the GHCR image
  2. Configure your MCP clientConfiguration Guide
  3. Run your first analysisQuick Start

Docker quick start:

docker pull ghcr.io/cafferychen777/chatspatial:v1.2.6  # or :latest

Minimal example prompt:

Load /absolute/path/to/spatial_data.h5ad and show me the tissue structure

If you use Docker, mount host data to /data and prompt with the container path, for example /data/spatial_data.h5ad.

ChatSpatial works with any MCP-compatible client — Claude Code, Claude Desktop, Codex, OpenCode, and other MCP-capable tools.


Capabilities

65 methods across 15 analytical categories. Supports 10x Visium, Xenium, Slide-seq v2, MERFISH, seqFISH.

Category Methods
Data Loading & Preprocessing Scanpy I/O, QC, Normalization, HVG, PCA, Neighbors
Visualization Spatial plots, Embedding plots, Gene expression overlays
Spatial Domain Identification SpaGCN, STAGATE, GraphST, BANKSY, Leiden, Louvain
Deconvolution FlashDeconv, Cell2location, RCTD, DestVI, Stereoscope, SPOTlight, Tangram, CARD
Cell-Cell Communication LIANA+, CellPhoneDB, CellChat (cellchat_r), FastCCC
Cell Type Annotation Tangram, scANVI, CellAssign, mLLMCelltype, scType, SingleR
Differential Expression Wilcoxon, t-test, Logistic Regression, pyDESeq2
Trajectory Inference CellRank, Palantir, DPT
RNA Velocity scVelo, VeloVI
Spatial Statistics Moran's I, Local Moran, Geary's C, Getis-Ord Gi*, Ripley's K, Co-occurrence, Neighborhood Enrichment, Centrality Scores, Local Join Count, Network Properties
Enrichment Analysis GSEA, ORA, Enrichr, ssGSEA, Spatial EnrichMap
Spatially Variable Genes SpatialDE, SPARK-X, FlashS
Multi-sample Integration Harmony, BBKNN, Scanorama, scVI
CNV Analysis InferCNVPy, Numbat
Spatial Registration PASTE, STalign

Documentation

Guide Owns
Installation Environment setup, package install, platform notes
Docker GHCR image, volume mounts, and container-backed MCP setup
Quick Start First successful analysis after setup
Concepts Method selection and analysis reasoning
Examples Prompt recipes and workflow examples
Configuration Exact MCP client configuration syntax
Troubleshooting Symptom → fix guidance
Methods Reference Canonical tool parameters and defaults
Full Docs Complete documentation site

Citation

If you use ChatSpatial in your research, please cite:

@article{Yang2026.02.26.708361,
  author = {Yang, Chen and Zhang, Xianyang and Chen, Jun},
  title = {ChatSpatial: Schema-Enforced Agentic Orchestration for Reproducible and Cross-Platform Spatial Transcriptomics},
  elocation-id = {2026.02.26.708361},
  year = {2026},
  doi = {10.64898/2026.02.26.708361},
  publisher = {Cold Spring Harbor Laboratory},
  URL = {https://www.biorxiv.org/content/early/2026/03/01/2026.02.26.708361},
  journal = {bioRxiv}
}

ChatSpatial orchestrates many excellent third-party methods. Please also cite the original tools your analysis used.


Contributing

Documentation improvements, bug reports, and new analysis methods are all welcome. See CONTRIBUTING.md.

MIT License · GitHub · Issues