Scanpy MCP server

by huang-sh

11 stars
205 downloads
Not rated
GitHub

About

An MCP server that enables natural language interaction with the scRNA‑Seq analysis software Scanpy. It is intended for anyone wanting to perform single‑cell RNA‑Seq analysis via natural language, and for agent developers who wish to call Scanpy functions from their applications.

Details

Author
huang-sh
GitHub stars
11
Downloads
205
Categories
Other

- Read/write scRNA-Seq data using natural language
- Preprocessing: filtering, QC, normalization, scaling
- Highly-variable genes and PCA/Neighbors computations
- Clustering and differential expression via the tool module
- Plotting: violin, heatmap, dotplot

Install via pip install scanpy-mcp. To test locally, run scmcp run and configure your MCP client with "command": "scanpy-mcp" and "args": ["run"]. For remote access, use --transport shttp --port 8000 and point the client to http://localhost:8000/mcp.

Scanpy MCP server

An MCP server for scRNA-Seq analysis software Scanpy 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

❓ 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 scanpy-mcp 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 scanpy-mcp

https://github.com/user-attachments/assets/93a8fcd8-aa38-4875-a147-a5eeff22a559

🏎️ Quickstart

Install

Install from PyPI

pip install scanpy-mcp

you can test it by running
scmcp run

run scnapy-server locally

Refer to the following configuration in your MCP client:
"mcpServers": {
  "scanpy-mcp": {
    "command": "scanpy-mcp",
    "args": [
      "run"
    ]
  }
}

run scnapy-server 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, like this:

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!

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.