Skip to main content

ChatSpatial: Natural language-driven spatial transcriptomics analysis via Model Context Protocol (MCP) integration

Project description

ChatSpatial

MCP server for spatial transcriptomics analysis via natural language

CI PyPI Python 3.11+ 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

Quick Start

Using Claude Code / Codex / OpenCode? Just paste this:

Install ChatSpatial following https://github.com/cafferychen777/ChatSpatial/blob/main/INSTALLATION.md
Manual installation
# Install uv (recommended - handles complex dependencies)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create environment and install
python3 -m venv venv && source venv/bin/activate
uv pip install chatspatial

# Configure (use your venv Python path)
claude mcp add chatspatial /path/to/venv/bin/python -- -m chatspatial server

Works with any MCP-compatible client — not just Claude. Use with OpenCode, Codex, or any client supporting Model Context Protocol. Configure your preferred LLM (Qwen, DeepSeek, Doubao, etc.) as the backend.

See Installation Guide for detailed setup including virtual environments and all MCP clients.


Use

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

Category Methods
Spatial Domains SpaGCN, STAGATE, GraphST, Leiden, Louvain
Deconvolution FlashDeconv, Cell2location, RCTD, DestVI, Stereoscope, SPOTlight, Tangram, CARD
Cell Communication LIANA+, CellPhoneDB, CellChat, FastCCC
Cell Type Annotation Tangram, scANVI, CellAssign, mLLMCelltype, scType, SingleR
Trajectory & Velocity CellRank, Palantir, DPT, scVelo, VeloVI
Spatial Statistics Moran's I, Local Moran, Geary's C, Getis-Ord Gi*, Ripley's K, Neighborhood Enrichment
Enrichment GSEA, ORA, Enrichr, ssGSEA, Spatial EnrichMap
Spatial Genes SpatialDE, SPARK-X
Integration Harmony, BBKNN, Scanorama, scVI
Other CNV Analysis, Spatial Registration

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


Documentation

Guide Description
Installation Virtual environment setup, all platforms
Quick Start 5-minute first analysis
Examples Step-by-step workflows
Methods Reference All 20 tools with parameters
Full Docs Complete reference

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}
}

MIT License · GitHub · Issues

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chatspatial-1.2.1.tar.gz (314.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chatspatial-1.2.1-py3-none-any.whl (347.6 kB view details)

Uploaded Python 3

File details

Details for the file chatspatial-1.2.1.tar.gz.

File metadata

  • Download URL: chatspatial-1.2.1.tar.gz
  • Upload date:
  • Size: 314.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for chatspatial-1.2.1.tar.gz
Algorithm Hash digest
SHA256 5b41b669df8ff52cc705a2417ef5d3a9b505e1cf5bef9185d1fbd334bc209165
MD5 33f884d388b260f671a3031dd3466202
BLAKE2b-256 d4bc7bf50dc27de290d2c80ad85fda9c6aa7cc47ab5d52810ee7d4bc38494b44

See more details on using hashes here.

File details

Details for the file chatspatial-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: chatspatial-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 347.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for chatspatial-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7f78af0a8a1082b403f8f830ac1e198a12da9c36eded591541a3168f6f7dc6f6
MD5 4764428e07b9c62b3971e919a39fb5ae
BLAKE2b-256 c88614aa2e3bbfda25d0348ef68cf6311b6d20a87c6c2c78ed4f0e1a3c1ae19c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page