使用说明

项目简介

SCMCP (Scanpy Model Context Protocol Server) 是一个基于模型上下文协议 (Model Context Protocol, MCP) 构建的应用后端。它旨在为单细胞 RNA 测序 (scRNA-Seq) 数据分析提供自然语言接口,使得用户可以通过自然语言指令,利用大型语言模型 (LLM) 客户端来执行 scRNA-Seq 数据分析任务。SCMCP 服务器集成了 Scanpy 这一强大的单细胞分析工具包,将 Scanpy 的功能以 MCP 协议标准化的方式暴露给 LLM 客户端。

主要功能点

  • 数据输入/输出 (IO): 支持读取和写入多种 scRNA-Seq 数据格式,包括 '.h5ad'、10x Genomics MTX 格式和文本文件等。
  • 预处理 (Preprocessing): 提供 scRNA-Seq 数据预处理的常用功能,如细胞和基因过滤、质量控制指标计算、数据标准化、对数转换、PCA 降维、高变基因选择、批次效应校正等。
  • 分析工具 (Tools): 集成 scRNA-Seq 数据分析的核心工具,包括 PCA、UMAP 和 t-SNE 等降维方法,Leiden 和 Louvain 聚类算法,以及差异基因表达分析等。
  • 可视化 (Plotting): 支持生成多种 scRNA-Seq 数据可视化图表,例如 PCA 散点图、UMAP 图、小提琴图、热图、点图等,帮助用户直观地理解和探索数据。

安装步骤

  1. 使用 pip 安装 'scmcp' 包:
    pip install scmcp

服务器配置

SCMCP 服务器旨在与 MCP 客户端协同工作。为了连接到 SCMCP 服务器,您需要在 MCP 客户端中配置服务器信息。以下是两种常用的配置方式:

本地运行 (stdio 传输)

如果您在本地运行 SCMCP 服务器并使用标准输入输出 (stdio) 传输协议,请在 MCP 客户端中添加如下服务器配置:

{
  "mcpServers": {
    "scmcp": {
      "command": "scmcp",  // 启动 SCMCP 服务器的命令
      "args": [
        "run"  // 命令参数,'run' 表示以 stdio 模式启动服务器
      ]
    }
  }
}

远程运行 (SSE 传输)

如果您需要在远程服务器上运行 SCMCP 服务器,并使用服务器发送事件 (SSE) 传输协议,请进行如下配置:

首先,在远程服务器上启动 SCMCP 服务器,指定使用 SSE 传输和端口号(例如 8000):

scmcp run --transport sse --port 8000

然后,在 MCP 客户端中配置连接信息:

{
  "mcpServers": {
    "scmcp-sse": {
      "command": "scmcp",
      "args": [
        "run",
        "--transport", "sse",  // 指定使用 SSE 传输协议
        "--port", "8000"       // 设置 SSE 服务器端口为 8000
      ]
    }
  }
}

同时,您需要在 MCP 客户端中配置服务器端点 URL,以便客户端可以通过网络连接到远程 SCMCP 服务器。假设服务器地址为 'http://your_server_ip:8000',则端点 URL 配置如下:

http://your_server_ip:8000/sse

基本使用方法

  1. 安装 SCMCP 服务器。
  2. 配置您的 MCP 客户端,根据本地或远程运行的需求,选择 stdio 或 SSE 传输方式,并填入相应的服务器配置信息。
  3. 在终端中运行 'scmcp run' 命令启动 SCMCP 服务器(对于 SSE 传输,使用 'scmcp run --transport sse --port 8000')。
  4. 在 MCP 客户端中,您可以使用自然语言指令调用 SCMCP 服务器提供的各种 scRNA-Seq 数据分析工具和可视化功能。例如,您可以发送指令 "Read data file named 'data.h5ad'" 来加载数据,或 "Generate a UMAP plot colored by cluster labels" 来进行可视化分析。

信息

分类

AI与计算