项目简介
'RNA Dataset Search - MCP Server' 是一个基于 Model Context Protocol (MCP) 构建的后端服务,专门用于与欧洲核苷酸数据库 (ENA) 交互。它允许大型语言模型 (LLM) 客户端以标准化的方式搜索和访问数百万个公共 RNA 测序数据集,包括批量 RNA-seq 和单细胞 RNA-seq。该服务器特别优化用于查找人类和小鼠疾病相关的 RNA 测序研究。
主要功能点
- 按疾病、生物和组织搜索: 轻松根据疾病、生物体(如“人类”、“小鼠”)和组织类型(如“大脑”、“肝脏”)查找相关数据集。
- 高级技术过滤: 提供预设(如“批量”、“单细胞”)和精细控制(50+种文库策略,如 RNA-Seq, miRNA-Seq, ATAC-seq 等)来过滤数据。
- 下载支持: 为选定的研究生成 wget/curl 脚本,以便用户轻松下载 FASTQ 数据文件,并支持 MD5 校验。
- 详细元数据: 获取研究的全面元数据,包括 PubMed ID 和描述。
- 出版物关联: 通过关键词搜索查找关联的研究。
- 灵活查询构建: 允许用户构建自定义查询条件以进行高级搜索。
- 字段发现: 探索 ENA 中可搜索和可返回的字段类型。
安装步骤
您需要在系统上安装 Python 3.11 或更高版本。推荐使用 'uv' 工具进行安装和运行。
-
直接运行 (推荐) 如果您的 MCP 客户端支持通过 'uvx' 直接运行包或 Git 仓库:
# 如果该服务器已发布到 PyPI: uvx nucleotide_archive_mcp # 或者从 Git 仓库运行: uvx git+https://github.com/biocontext-ai/nucleotide_archive_mcp.git@main -
使用 pip 安装
pip install --user nucleotide_archive_mcp安装后,您可以通过以下命令运行服务器:
nucleotide_archive_mcp run您也可以安装最新开发版本:
pip install git+https://github.com/biocontext-ai/nucleotide_archive_mcp.git@main
MCP 服务器配置
您的 MCP 客户端需要以下配置信息来连接 'RNA Dataset Search - MCP Server'。请根据您的 MCP 服务器安装方式(PyPI 发布或 Git 仓库)选择合适的 'args' 参数。
{ "mcpServers": { "nucleotide_archive_mcp": { "command": "uvx", // 用于启动 MCP 服务器的命令,这里使用 uvx "args": ["nucleotide_archive_mcp"] // 如果服务器已发布到 PyPI,这是运行它的参数 // 如果服务器通过 Git 仓库安装,请使用以下参数: // "args": ["git+https://github.com/biocontext-ai/nucleotide_archive_mcp.git@main"] // 如果是本地开发模式,您可以指定仓库路径。例如: // "args": ["--refresh", "--from", "/path/to/your/local/nucleotide_archive_mcp", "nucleotide_archive_mcp"] // 或者如果您想重用现有环境,并且您已经在仓库路径下,可以使用: // "args": ["run", "--directory", "/path/to/your/local/nucleotide_archive_mcp", "nucleotide_archive_mcp"] // 端口和主机名等参数可以省略,因为默认情况下 MCP 客户端会通过 stdio 协议连接。 } } }
服务器环境变量配置
您可以通过设置环境变量来自定义服务器行为。例如,您可以创建一个 '.env' 文件(或直接在您的环境中设置环境变量)来配置:
# ENA API 配置 ENA_PORTAL_API_BASE=https://www.ebi.ac.uk/ena/portal/api # ENA Portal API 基础 URL,可自定义 ENA_BROWSER_API_BASE=https://www.ebi.ac.uk/ena/browser/api # ENA Browser API 基础 URL,可自定义 ENA_TIMEOUT=30.0 # 请求超时时间(秒),可自定义 ENA_SEARCH_LIMIT=20 # 默认搜索结果数量限制,可自定义 ENA_MAX_RPS=10.0 # API 请求速率限制(每秒请求数),可自定义 # 日志配置 LOG_LEVEL=INFO # 日志级别:DEBUG, INFO, WARNING, ERROR, CRITICAL,可自定义
基本使用方法
MCP 客户端连接成功后,您可以通过调用服务器提供的工具来执行以下操作:
-
搜索 RNA 研究: 调用 'search_rna_studies' 工具,传入疾病、生物体、技术类型等参数。
- 例如:查找人类癌症批量 RNA-seq 数据集:'search_rna_studies(disease="cancer", organism="human", technology="bulk")'
- 例如:搜索小鼠大脑单细胞 RNA-seq 数据集:'search_rna_studies(organism="mouse", tissue="brain", technology="single-cell")'
-
获取研究详情: 调用 'get_study_details' 工具,传入研究的 accession ID,获取详细元数据和 PubMed ID。
- 例如:'get_study_details(study_accession="SRP417965")'
-
生成下载脚本: 调用 'generate_download_script' 工具,传入研究的 accession ID 和脚本类型(wget 或 curl),生成可执行的 bash 脚本来下载数据。
- 例如:'generate_download_script(study_accession="PRJDB2345", script_type="wget", output_path="./download_prjdg2345.sh")'
-
列出可用文库类型: 调用 'list_library_types' 工具,查看所有支持的文库策略和来源,以进行更精细的过滤。
- 例如:'list_library_types()'
信息
分类
数据库与文件