data-aggregator-mcp Skill 技能
17 源科研数据统一 MCP
技能简介
data-aggregator-mcp 是一款覆盖 17 个科研数据源的统一 MCP 服务器,将 Zenodo、DataCite(Dryad/Figshare/Dataverse/OSF/OpenNeuro/Mendeley)、NCBI 组学(GEO/SRA/BioProject)、BioStudies、PubMed/OpenAIRE、HuggingFace 数据集、DataONE、OmicsDI、DANDI、CZ CELLxGENE、OpenML、RCSB PDB、UniProtKB、GWAS Catalog、GBIF、data.gov、NASA CMR 等异构数据源统一抽象为同一份 DataResource 模型,让科研 Agent 用一次搜索就能跨档案库、组学注册库、文献库返回可比对记录。它由 musharna 开源,2026 年 10 月发布到 PyPI 0.58.0,已在 Zenodo 拿到 DOI(10.5281/zenodo.21636332)并在 Glama 拿到评分徽章。
核心能力
- 17 源统一搜索:一次
search调用并行查询所有数据源,结果按 DOI 去重(优先返回可下载的记录而非裸元数据),并附使用指标(引用/浏览/下载/点赞)、版本状态、最后更新等信任信号。 - 智能同义词扩展:物种名
Orobanche aegyptiaca自动扩展到Phelipanche aegyptiaca(NCBI Taxonomy 同义关系),避免物种重命名导致漏检。 - 论文到数据桥接:resolve 一篇论文时同时返回它产出的 GEO/SRA/BioProject/DataCite 记录,把学术文献与底层数据显式连接。
- 校验下载:
fetch边下载边用 md5/sha-256 校验(仅在源发布 checksum 时启用),不一致直接抛出;可选归档自动解压;声明 PDF/XML 的文件做 HTML sniff 防止付费墙冒充。 - 就地操作能力:可选
[operate]extra 装上 DuckDB httpfs,可在不下载远程 Parquet/CSV/TSV 的情况下做 schema 探查、行预览、只读 SQLSELECT,适合大体量数据集。 - 跨记录关联:
relate用一组 resolved id 报告它们如何相连(共享 accession、共享 cross-identifier、显式 link、版本谱系)并附共享值作证据,方便构建研究图谱。
安装配置
pip install data-aggregator-mcp装核心包(仅 stdlib + 轻量依赖)。- 在 Claude Desktop / Cursor / Continue 等 MCP 客户端的
mcp_servers配置中加入:{"data-aggregator-mcp": {"command": "data-aggregator-mcp", "args": []}}。 - 可选
pip install "data-aggregator-mcp[operate]"启用 DuckDB 远端 SQL 操作能力(增加 ~50MB 依赖)。 - 离线环境:可预先把 Zenodo/DataCite 等元数据缓存到本地 SQLite,配合
cache_dir配置走离线模式。 - Zenodo 上有 published DOI(10.5281/zenodo.21636332),引用时可附上保证可复现性。
使用步骤
- 启动 MCP 客户端,列出工具:
tools/list应返回 6 个工具——search、resolve、fetch、operate、relate、list_sources。 - 调用
search(query="...", source="geo", organism="human")跨源检索;返回结果按 DOI 去重并携带is_latest/superseded_by版本信号。 - 选中一条记录调用
resolve(id=...)拉取完整元数据,可指定format="croissant"或"ro-crate"直接导出 ML / 研究打包 JSON-LD。 - 调用
fetch(id=..., verify=True)流式下载,源有 checksum 的自动校验,不一致的立即 raise。 - 用
operate(id=..., action="schema")预览远程数据集前 N 行;用action="sql", query="SELECT ..."在远程 Parquet 上跑只读 SQL(无需下载)。 - 用
relate(ids=[id1, id2, id3])看几个 resolved 记录之间的关联证据,辅助构建研究谱系。
适用场景
- AI 科研助理:用户问"找一下关于 X 物种的所有公开转录组数据集",Agent 一次搜索即可聚合 GEO + SRA + BioProject + Zenodo。
- 文献到数据桥接:从一篇 Nature 论文的 PMID 出发,自动解析出它引用的 GEO / SRA 记录、相关 PDB 结构、同主题 UniProt 蛋白。
- 跨学科数据复用:生态学家(DataONE/GBIF)整合组学家(GEO/OmicsDI)数据做跨领域 meta 分析。
- 数据集质量评估:用
metrics(引用/下载/点赞)与is_latest自动筛选高引用、未被超替的活跃数据集。 - 自动化论文 supplementary data 抓取:
resolve(format="croissant")导出 ML-ready 元数据,下游训练管线直接消费。
适用人群
- 生物信息学 / 组学研究者,需要在多个档案库之间做统一检索。
- AI 科研 Agent 开发者,需要给 Agent 装一个不绑定单一数据源的科研数据接口。
- 数据科学团队复现论文实验,需要快速定位数据集并下载校验。
- 跨学科(生态 × 组学 × 文献)的 meta 分析项目协调人。
工作原理
data-aggregator-mcp 通过统一路由器 + DOI 去重 + 本体扩展 + 校验下载四步把异构科研数据源压平:路由器按数据源类型分发请求,每个数据源走专用适配器返回原始记录;路由器层做 DOI 去重(可下载记录优先)、NCBI Taxonomy 同义词扩展、引用/版本/新鲜度等信任信号打分;fetch 走 streaming chunked download 并对源发布的 checksum 做边下边校验;operate 通过 DuckDB httpfs + Parquet footer range reads 在不下载整文件的前提下做 SQL 查询,避免大体量数据下载瓶颈。
官方链接
评论与建议
登录 后参与评论或提建议