Skip to main content
Glama
README.md
> âš ī¸ **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

C2.7/5.0

Scored across 52 tools

Disambiguation4/5

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.

Naming Consistency3/5

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.

Tool Count2/5

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.

Completeness5/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues