项目简介

Cellrank MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端服务,专门用于通过自然语言或结构化请求执行单细胞 RNA 测序数据的分析任务,特别是利用 CellRank 库进行细胞命运预测和轨迹分析。它使得大型语言模型 (LLM) 或支持 MCP 的客户端能够访问强大的生物信息学分析能力,而无需直接处理复杂的命令行工具和代码。

主要功能点

  • 数据输入输出 (IO): 能够读取和写入单细胞 RNA 测序数据文件(如 AnnData 格式)。
  • 数据预处理 (Preprocessing): 提供数据过滤、质量控制、归一化、缩放、高变基因选择、主成分分析 (PCA)、构建邻居图等常用的预处理步骤。
  • 分析工具 (Tools): 集成了 CellRank 的核心分析功能,例如计算转置矩阵、预测细胞初始状态和终端状态、计算细胞命运概率等。
  • 数据可视化 (Plotting): 支持生成各种图表来可视化分析结果,如基于嵌入空间的轨迹图、命运概率的环状投影图等。

安装步骤

要安装 Cellrank MCP 服务器,您可以使用 pip 包管理器:

pip install cellrank-mcp

安装完成后,您可以在终端通过 'cellrank-mcp run' 命令启动服务器进行测试。

服务器配置

Cellrank MCP 服务器由支持 MCP 协议的客户端进行管理和连接。在您的 MCP 客户端中,需要配置 Cellrank MCP 服务器的启动方式。通常需要提供服务器名称、启动命令和参数。

以下是两种常见的配置方式示例(具体配置界面和格式取决于您使用的 MCP 客户端):

1. 本地运行配置

当 Cellrank MCP 服务器安装在客户端所在的同一台机器上时,可以直接通过命令行启动:

{
  "mcpServers": {
    "cellrank-mcp": {
      "command": "/path/to/cellrank-mcp",
      "args": [
        "run"
      ],
      "description": "本地运行的 Cellrank MCP 服务器"
    }
  }
}

说明:

  • '"cellrank-mcp"': 您为这个服务器实例定义的名称。
  • '"command"': 'cellrank-mcp' 可执行文件在您系统中的完整路径。您可以在终端运行 'which cellrank-mcp' 来查找此路径。
  • '"args"': 传递给 'command' 的参数列表。'"run"' 参数告诉服务器启动。
  • '"description"': 可选的描述信息。

2. 远程运行配置

当 Cellrank MCP 服务器运行在另一台机器上,并通过 HTTP (shttp) 或 WebSocket 等协议提供服务时,客户端通过 URL 连接:

首先,在服务器机器上启动 Cellrank MCP 服务器,指定传输协议和端口:

cellrank-mcp run --transport shttp --port 8000

然后,在本地 MCP 客户端中进行配置:

{
  "mcpServers": {
    "cellrank-mcp-remote": {
      "url": "http://remote_server_address:8000/mcp",
      "description": "远程运行的 Cellrank MCP 服务器"
    }
  }
}

说明:

  • '"cellrank-mcp-remote"': 您为这个远程服务器实例定义的名称。
  • '"url"': 远程服务器的地址和端口,以及 MCP 服务的路径(通常是 '/mcp')。请将 'remote_server_address' 替换为实际的服务器 IP 地址或域名。
  • '"description"': 可选的描述信息。

配置完成后,您的 MCP 客户端应该能够发现并连接到 Cellrank MCP 服务器,从而可以使用其提供的单细胞分析功能。

基本使用方法

一旦 MCP 客户端成功连接到 Cellrank MCP 服务器,LLM 或客户端用户就可以通过发送符合 MCP 规范的请求来调用服务器提供的工具。例如,客户端可以发送请求来:

  1. 加载单细胞数据文件。
  2. 调用预处理工具对数据进行过滤和归一化。
  3. 创建 CellRank 内核(如基于 RNA 速率或伪时间)。
  4. 计算细胞间的转置矩阵。
  5. 利用 GPCCA 方法预测细胞的终端状态。
  6. 计算细胞到预测终端状态的命运概率。
  7. 生成命运概率的环状投影图进行可视化。

具体的请求细节由 MCP 客户端根据用户的输入或预设的工作流自动生成。服务器接收请求、执行相应的 CellRank 或 Scanpy/Scvelo 操作,并将结果(如更新的数据对象信息、图表文件路径、计算结果)通过 MCP 响应返回给客户端。

信息

分类

AI与计算