SCMCP
> â ī¸ **Important Notice**: This repository is no longer maintained. Please visit [SCMCPHub](https://github.com/scmcphub) for the latest version of MCP servers.
# 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
## â 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
## đŦ 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-server locally
Refer to the following configuration in your MCP client:
```
"mcpServers": {
"scmcp": {
"command": "scmcp",
"args": [
"run"
]
}
}
```
#### run scnapy-server remotely
Refer to the following configuration in your MCP client:
run it in your server
```
scmcp run --transport sse --port 8000
```
Then configure your MCP client, like this:
```
http://localhost:8000/sse
```
## đ¤ 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!
TDQS
Scored across 52 tools
Most tools have distinct purposes targeting specific single-cell analysis tasks, but some overlap exists in visualization tools (e.g., pl_dotplot vs ccc_dot_plot) and clustering algorithms (leiden vs louvain) that could cause confusion. Descriptions generally help clarify differences, but the sheer number of tools increases potential for misselection.
The naming follows mixed conventions: many use verb_noun patterns (filter_cells, calculate_qc_metrics), but others use abbreviations (ccc, pca, tsne) or prefix patterns (pl_ for plotting tools). While readable, the inconsistency between descriptive names and technical abbreviations creates a fragmented naming scheme.
With 52 tools, this server is overloaded for a single-cell analysis domain. While comprehensive, the count far exceeds typical well-scoped servers (3-15 tools), making it difficult for agents to navigate and increasing cognitive load. A more modular approach would be more appropriate.
The tool set provides exceptionally complete coverage of single-cell analysis workflows, including data I/O (read_tool, write_tool), preprocessing (filtering, normalization), analysis (clustering, differential expression, cell-cell communication), and visualization. No obvious gaps exist for core single-cell analysis tasks.