An MCP server for scRNA-Seq analysis with natural language!
Project description
SCMCP
An MCP server for scRNA-Seq analysis with natural language!
🪩 What can it do?
- IO module like read and write scRNA-Seq data with natural language
- Preprocessing module,like filtering, quality control, normalization, scaling, highly-variable genes, PCA, Neighbors,...
- Tool module, like clustering, differential expression etc.
- Plotting module, like violin, heatmap, dotplot
- cell-cell communication analysis
- Pseudotime analysis
- enrichment analysis
❓ Who is this for?
- Anyone who wants to do scRNA-Seq analysis natural language!
- Agent developers who want to call scanpy's functions for their applications
🌐 Where to use it?
You can use scmcp in most AI clients, plugins, or agent frameworks that support the MCP:
- AI clients, like Cherry Studio
- Plugins, like Cline
- Agent frameworks, like Agno
📚 Documentation
scmcphub's complete documentation is available at https://docs.scmcphub.org
🎬 Demo
A demo showing scRNA-Seq cell cluster analysis in a AI client Cherry Studio using natural language based on scmcp
https://github.com/user-attachments/assets/93a8fcd8-aa38-4875-a147-a5eeff22a559
🏎️ Quickstart
Install
Install from PyPI
pip install scmcp
you can test it by running
scmcp run
run scnapy-mcp locally
Refer to the following configuration in your MCP client:
check path
$ which scmcp
/home/test/bin/scmcp
it has many tools , so it couldn't work if you model context is not large...More time, I recommend it is backend mcp server for scanpy-mcp, liana-mcp,cellrank-mcp, so they can use shared Anndata object.
"mcpServers": {
"scmcp": {
"command": "/home/test/bin/scmcp",
"args": [
"run"
]
}
}
run scmcp remotely
Refer to the following configuration in your MCP client:
run it in your server
scmcp run --transport shttp --port 8000
Then configure your MCP client in local AI client, like this:
"mcpServers": {
"scmcp": {
"url": "http://localhost:8000/mcp"
}
}
🤝 Contributing
If you have any questions, welcome to submit an issue, or contact me(hsh-me@outlook.com). Contributions to the code are also welcome!
Citing
If you use scmcp in for your research, please consider citing following works:
Wolf, F., Angerer, P. & Theis, F. SCANPY: large-scale single-cell gene expression data analysis. Genome Biol 19, 15 (2018). https://doi.org/10.1186/s13059-017-1382-0
Dimitrov D., Schäfer P.S.L, Farr E., Rodriguez Mier P., Lobentanzer S., Badia-i-Mompel P., Dugourd A., Tanevski J., Ramirez Flores R.O. and Saez-Rodriguez J. LIANA+ provides an all-in-one framework for cell–cell communication inference. Nat Cell Biol (2024). https://doi.org/10.1038/s41556-024-01469-w
Badia-i-Mompel P., Vélez Santiago J., Braunger J., Geiss C., Dimitrov D., Müller-Dott S., Taus P., Dugourd A., Holland C.H., Ramirez Flores R.O. and Saez-Rodriguez J. 2022. decoupleR: ensemble of computational methods to infer biological activities from omics data. Bioinformatics Advances. https://doi.org/10.1093/bioadv/vbac016
Weiler, P., Lange, M., Klein, M. et al. CellRank 2: unified fate mapping in multiview single-cell data. Nat Methods 21, 1196–1205 (2024). https://doi.org/10.1038/s41592-024-02303-9
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scmcp-0.3.2.tar.gz.
File metadata
- Download URL: scmcp-0.3.2.tar.gz
- Upload date:
- Size: 32.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bd3d3d8fb1d99546433d2d2b3a9d7cfafb95338ee9c74172fe8bb3bd9cf371e
|
|
| MD5 |
ace9c334bd6c1fa017825ea1d17283fc
|
|
| BLAKE2b-256 |
5a8c5217302567b15ab0db9c0e51687055e90ec2e03fb079239efb9a9a49bb93
|
Provenance
The following attestation bundles were made for scmcp-0.3.2.tar.gz:
Publisher:
publish.yml on scmcphub/scmcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scmcp-0.3.2.tar.gz -
Subject digest:
3bd3d3d8fb1d99546433d2d2b3a9d7cfafb95338ee9c74172fe8bb3bd9cf371e - Sigstore transparency entry: 227065353
- Sigstore integration time:
-
Permalink:
scmcphub/scmcp@881f3b1bc75187086a96453f7d39c95da2570059 -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/scmcphub
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@881f3b1bc75187086a96453f7d39c95da2570059 -
Trigger Event:
release
-
Statement type:
File details
Details for the file scmcp-0.3.2-py3-none-any.whl.
File metadata
- Download URL: scmcp-0.3.2-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
926f1146562dbb38cce0ba23de4169e947fcf350cea64b2fc30bd52cf6f67c15
|
|
| MD5 |
103807189fda099946bd04ff4e0ef853
|
|
| BLAKE2b-256 |
eae324b3c4733b74b5ef6c93e41c48ee06118c041fc61288fe4a9b14720e23e1
|
Provenance
The following attestation bundles were made for scmcp-0.3.2-py3-none-any.whl:
Publisher:
publish.yml on scmcphub/scmcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scmcp-0.3.2-py3-none-any.whl -
Subject digest:
926f1146562dbb38cce0ba23de4169e947fcf350cea64b2fc30bd52cf6f67c15 - Sigstore transparency entry: 227065354
- Sigstore integration time:
-
Permalink:
scmcphub/scmcp@881f3b1bc75187086a96453f7d39c95da2570059 -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/scmcphub
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@881f3b1bc75187086a96453f7d39c95da2570059 -
Trigger Event:
release
-
Statement type: