使用说明
项目简介
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 图、小提琴图、热图、点图等,帮助用户直观地理解和探索数据。
安装步骤
- 使用 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
基本使用方法
- 安装 SCMCP 服务器。
- 配置您的 MCP 客户端,根据本地或远程运行的需求,选择 stdio 或 SSE 传输方式,并填入相应的服务器配置信息。
- 在终端中运行 'scmcp run' 命令启动 SCMCP 服务器(对于 SSE 传输,使用 'scmcp run --transport sse --port 8000')。
- 在 MCP 客户端中,您可以使用自然语言指令调用 SCMCP 服务器提供的各种 scRNA-Seq 数据分析工具和可视化功能。例如,您可以发送指令 "Read data file named 'data.h5ad'" 来加载数据,或 "Generate a UMAP plot colored by cluster labels" 来进行可视化分析。
信息
分类
AI与计算