This page is the canonical symptom → fix guide.
- For installation steps, see Installation.
- For exact MCP client syntax, see Configuration Guide.
- For a first-run workflow, see Quick Start.
Start with the earliest layer that could be broken:
- Client connection — the MCP tools do not appear or the server cannot start.
- Runtime paths — the server starts, but data or output paths are not visible.
- Data loading — the file is visible, but the format or folder layout is wrong.
- Analysis prerequisites — the data loaded, but a downstream method is missing preprocessing, metadata, or optional dependencies.
- Resources — the analysis is valid but runs out of memory, GPU, or time.
- Confirm you used the correct config file for your client.
- For the recommended setup, confirm
uvx --versionworks in a new terminal. - Check the config file for JSON/TOML syntax errors.
- Restart the client after configuration changes.
- Test the server directly:
uvx --from chatspatial chatspatial --versionIf you need the exact config file format, go back to the Configuration Guide.
- Make sure ChatSpatial is installed inside the environment you configured
- Re-run
which pythoninside the activated environment - Update the MCP config to use that exact path
- Install
uvusing the official installer, then open a new terminal. - Confirm
uvx --versionworks from the same environment that launches the MCP client. - On desktop clients, restart the application so it reloads
PATH.
The first uvx launch downloads and installs the core scientific Python stack
into an isolated cache. Later launches reuse it. Run the following once in a
terminal to warm the cache and surface installation errors directly:
uvx --from chatspatial chatspatial --versionInstall Docker Desktop or Docker Engine, confirm docker --version works, then restart your MCP client.
Check the image name and network access:
docker pull ghcr.io/cafferychen777/chatspatial:v1.5.3- Use
--rm -i, not-it, in MCP stdio configuration - Use absolute host paths in
-vmounts - Restart the MCP client after changing configuration
Mount the host data directory and use the container path in prompts:
-v /Users/alice/spatial-data:/data:roLoad /data/sample.h5ad
Do not prompt with /Users/alice/spatial-data/sample.h5ad; that path exists on the host, not inside the container. The full Docker mount model is maintained in Docker / GHCR.
Confirm the host output directory exists and Docker has permission to write there. On Docker Desktop, also check file-sharing permissions for the mounted parent directory.
Use an absolute path:
❌ ~/data/sample.h5ad
❌ ./data/sample.h5ad
✅ /Users/yourname/data/sample.h5ad
- H5AD: verify with
python -c "import scanpy as sc; sc.read_h5ad('file.h5ad')" - Visium: point to the directory containing the
spatial/folder - HDF5 check:
file yourdata.h5ad
Most analyses require preprocessing first.
Preprocess the data
- check data quality (>500 spots, >1000 genes)
- lower significance thresholds
- try a different analysis method
Use species/resource pairs that match the dataset:
For mouse: species="mouse", liana_resource="mouseconsensus"
For human: species="human", liana_resource="consensus"
LIANA is the default. FastCCC and CellPhoneDB currently accept human data only.
If FastCCC is missing, install chatspatial[fastccc]; do not install the old
upstream fastccc distribution beside it.
Use ChatSpatial 1.3.8 or newer and resolve both from ChatSpatial's extras in a fresh environment:
python3.12 -m venv chatspatial-clean
source chatspatial-clean/bin/activate
uv pip install 'chatspatial[fastccc,trajectory]'
uv pip checkThe maintained FastCCC distribution has no Jinja2 dependency. pyGPCCA may
still select Jinja2 3.0.3 because of historical package metadata, but it does
not use Jinja2 at runtime, so no manual override is needed. If pip check
mentions the distribution named fastccc rather than fastccc-modern, the old
package is a residue from a previous environment; reproduce the installation
in a clean side-by-side environment instead of deleting packages from the old
one.
Install the method family named in the error, or use full for every composable
Python family:
uv pip install 'chatspatial[full]'full intentionally excludes R bridges, AESTETIK, and rctd-py. See
Installation before adding those isolated extras.
- subsample data for testing
- reduce batch sizes
- monitor memory with
top - use 32GB+ RAM or cloud resources for large datasets
- set
use_gpu=False - reduce batch size
- clear cached GPU memory if your workflow allows it
| Problem | First fix |
|---|---|
| Import errors | Reproduce in a fresh environment with uv pip install 'chatspatial[full]', then run uv pip check |
resolution-too-deep |
Use uv instead of pip |
| Client not connecting | Run the configured uvx command in a terminal, then restart the client |
| Docker pull fails | Run docker pull ghcr.io/cafferychen777/chatspatial:v1.5.3 and check network access |
| Docker dataset not found | Mount the host data directory and prompt with /data/... |
| Path errors | Use absolute paths |
| Analysis fails immediately | Run preprocessing first |
| R methods fail | Install R and the required R packages |
- FAQ — short answers and pointers
- Configuration Guide — exact client syntax
- Methods Reference — tool parameters and defaults
- GitHub Issues — report reproducible bugs