Metadata-Version: 2.4
Name: scanpy-mcp
Version: 0.2.0
Summary: Natural language interface for scRNA-Seq analysis with Scanpy through MCP.
Author-email: shuang <hsh-me@outlook.com>
Requires-Python: >=3.10
Requires-Dist: fastmcp>=2.3.0
Requires-Dist: scanpy>=1.10.0
Description-Content-Type: text/markdown

# Scanpy-MCP

Natural language interface for scRNA-Seq analysis with Scanpy through MCP.

## 🪩 What can it do?

- IO module like read and write scRNA-Seq data
- 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
```
scanpy-mcp 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
```
scanpy-mcp 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!
