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 探查、行预览、只读 SQL SELECT,适合大体量数据集。
  • 跨记录关联:relate 用一组 resolved id 报告它们如何相连(共享 accession、共享 cross-identifier、显式 link、版本谱系)并附共享值作证据,方便构建研究图谱。

安装配置

  1. pip install data-aggregator-mcp 装核心包(仅 stdlib + 轻量依赖)。
  2. 在 Claude Desktop / Cursor / Continue 等 MCP 客户端的 mcp_servers 配置中加入:{"data-aggregator-mcp": {"command": "data-aggregator-mcp", "args": []}}。
  3. 可选 pip install "data-aggregator-mcp[operate]" 启用 DuckDB 远端 SQL 操作能力(增加 ~50MB 依赖)。
  4. 离线环境:可预先把 Zenodo/DataCite 等元数据缓存到本地 SQLite,配合 cache_dir 配置走离线模式。
  5. Zenodo 上有 published DOI(10.5281/zenodo.21636332),引用时可附上保证可复现性。

使用步骤

  1. 启动 MCP 客户端,列出工具:tools/list 应返回 6 个工具——search、resolve、fetch、operate、relate、list_sources。
  2. 调用 search(query="...", source="geo", organism="human") 跨源检索;返回结果按 DOI 去重并携带 is_latest / superseded_by 版本信号。
  3. 选中一条记录调用 resolve(id=...) 拉取完整元数据,可指定 format="croissant" 或 "ro-crate" 直接导出 ML / 研究打包 JSON-LD。
  4. 调用 fetch(id=..., verify=True) 流式下载,源有 checksum 的自动校验,不一致的立即 raise。
  5. 用 operate(id=..., action="schema") 预览远程数据集前 N 行;用 action="sql", query="SELECT ..." 在远程 Parquet 上跑只读 SQL(无需下载)。
  6. 用 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 查询,避免大体量数据下载瓶颈。

官方链接

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论