Repository avatar
Other Tools
v1.0.3
active

chatspatial

io.github.cafferychen777/chatspatial

Natural language-driven spatial transcriptomics analysis with 60+ methods via MCP

Documentation

ChatSpatial

MCP server for spatial transcriptomics analysis via natural language

PyPI Python 3.10+ License: MIT Docs


❌ Before

import scanpy as sc
import squidpy as sq
adata = sc.read_h5ad("data.h5ad")
sc.pp.filter_cells(adata, min_genes=200)
sc.pp.normalize_total(adata)
sc.pp.log1p(adata)
sc.pp.highly_variable_genes(adata)
sc.tl.pca(adata)
sc.pp.neighbors(adata)
# ... 40 more lines

✅ After

"Load my Visium data and identify
 spatial domains"
✓ Loaded 3,456 spots, 18,078 genes
✓ Identified 7 spatial domains
✓ Generated visualization

Install

pip install chatspatial

Configure

Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "chatspatial": {
      "command": "python",
      "args": ["-m", "chatspatial", "server"]
    }
  }
}

Claude Code:

claude mcp add chatspatial python -- -m chatspatial server

Restart Claude after configuration.


Use

Open Claude and chat:

Load /path/to/spatial_data.h5ad and show me the tissue structure
Identify spatial domains using SpaGCN
Find spatially variable genes and create a heatmap

Capabilities

CategoryMethods
Spatial DomainsSpaGCN, STAGATE, Leiden
DeconvolutionCell2location, RCTD, Tangram, SPOTlight
Cell CommunicationLIANA+, CellPhoneDB
Cell Type AnnotationTangram, scANVI, CellAssign, mLLMCelltype
TrajectoryCellRank, Palantir, scVelo
Spatial StatisticsMoran's I, Getis-Ord Gi*, Ripley's K
Gene Set EnrichmentGSEA, ORA, Enrichr

60+ methods across 12 categories. Supports 10x Visium, Xenium, Slide-seq v2, MERFISH, seqFISH.


Docs


Citation

@software{chatspatial2025,
  title={ChatSpatial: Agentic Workflow for Spatial Transcriptomics},
  author={Chen Yang and Xianyang Zhang and Jun Chen},
  year={2025},
  url={https://github.com/cafferychen777/ChatSpatial}
}

MIT License · GitHub · Issues