Back to Browse

Data Aggregator MCP Server

Developer ToolsLow Risk10.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

Find & fetch research datasets across 20 archives, omics registries, and literature sources.

About

Find & fetch research datasets across 20 archives, omics registries, and literature sources.

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (1 strong, 0 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry. Trust signals: trusted author (9/9 approved).

3 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Optional NCBI E-utilities API key; raises the rate limit 3->10 req/s for omics, literature, and taxonomy lookups.Required

Environment variable: NCBI_API_KEY

Base URL of an OpenAI-compatible /chat/completions endpoint; enables search(understand=true) and search(multi_query=true).Optional

Environment variable: LLM_API_BASE

Bearer token for the LLM endpoint (LLM_API_BASE); omit for keyless local servers.Required

Environment variable: LLM_API_KEY

Model name passed to the LLM endpoint (default: gpt-4o-mini); set to whatever your endpoint serves.Optional

Environment variable: LLM_MODEL

Base URL of an OpenAI-compatible /embeddings endpoint; enables search(rank=semantic) re-ranking.Optional

Environment variable: EMBEDDING_API_BASE

Bearer token for the embeddings endpoint (EMBEDDING_API_BASE); omit for keyless local servers.Required

Environment variable: EMBEDDING_API_KEY

Model name passed to the embeddings endpoint (default: text-embedding-3-small).Optional

Environment variable: EMBEDDING_MODEL

Optional api.data.gov key for the data.gov source; without it requests fall back to the shared public DEMO_KEY, which is aggressively rate-limited.Required

Environment variable: DATA_GOV_API_KEY

Email address sent to the Unpaywall API; required to enable the Unpaywall PDF fallback leg of literature full-text retrieval.Optional

Environment variable: UNPAYWALL_EMAIL

Contact address sent to NCBI's ID converter; falls back to UNPAYWALL_EMAIL when unset.Optional

Environment variable: NCBI_EMAIL

Resolve Dataverse DOIs against a different installation (default: https://dataverse.harvard.edu).Optional

Environment variable: DATAVERSE_BASE_URL

Resolve-cache lifetime in seconds (default: 3600); an unparseable value falls back to the default.Optional

Environment variable: CACHE_TTL_SECONDS

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-musharna-data-aggregator-mcp": {
      "env": {
        "LLM_MODEL": "your-llm-model-here",
        "NCBI_EMAIL": "your-ncbi-email-here",
        "LLM_API_KEY": "your-llm-api-key-here",
        "LLM_API_BASE": "your-llm-api-base-here",
        "NCBI_API_KEY": "your-ncbi-api-key-here",
        "EMBEDDING_MODEL": "your-embedding-model-here",
        "UNPAYWALL_EMAIL": "your-unpaywall-email-here",
        "DATA_GOV_API_KEY": "your-data-gov-api-key-here",
        "CACHE_TTL_SECONDS": "your-cache-ttl-seconds-here",
        "EMBEDDING_API_KEY": "your-embedding-api-key-here",
        "DATAVERSE_BASE_URL": "your-dataverse-base-url-here",
        "EMBEDDING_API_BASE": "your-embedding-api-base-here"
      },
      "args": [
        "data-aggregator-mcp"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

data-aggregator-mcp

Search 20 research-data sources at once (data archives, omics repositories and papers) and get one list back. Organism, disease and tissue names are expanded with their synonyms in the 12 sources that accept them, records that share a DOI are collapsed to one, and downloads are checked against the source's checksum where it publishes one.

PyPI Python License: MIT CI Glama DOI

Install in VS Code Install in Cursor

mcp-name: io.github.musharna/data-aggregator-mcp

Install

Claude Code:

claude mcp add data-aggregator -- uvx data-aggregator-mcp

VS Code and Cursor: the buttons above. Any other MCP client: run uvx data-aggregator-mcp as a stdio server.

Claude Desktop (claude_desktop_config.json) and most other clients:

{
  "mcpServers": {
    "data-aggregator": {
      "command": "uvx",
      "args": ["data-aggregator-mcp"],
      "env": { "NCBI_API_KEY": "your-optional-key" }
    }
  }
}

With pip:

pip install data-aggregator-mcp
data-aggregator-mcp        # or: python -m data_aggregator_mcp

operate (SQL and previews over remote files) needs an optional extra: pip install "data-aggregator-mcp[operate]".

What you can ask

"Find transcriptomes for Orobanche aegyptiaca." The species has been renamed. NCBI Taxonomy maps it to Phelipanche aegyptiaca, and the sources that accept synonyms match both names (the demo above).

"What data came out of this paper?"

resolve("pubmed:40098680")
  links  geo:GSE284240, bioproject:PRJNA1198054, and 18 sra: experiments
  files  PMC11910882.xml   (open-access full text)

"Can I train a model on this dataset?"

resolve("hf:scikit-learn/iris", use="ml-training")
  license_compat  ALLOW: "CC0-1.0 grants the permission(s) required for
                  ml-training: commercial-use, modifications"

The verdict is read from the record's licence metadata. It is advice, not a legal opinion.

resolve also renders citations in any CSL style, checks Crossref for retractions, scores FAIRness, and exports Croissant or RO-Crate. relate reports how a set of records connect (a shared accession, DOI or explicit link).

How a search runs

A source that fails is named in the result's errors, never dropped silently.

Compared with other servers

ServerSearchesOne searchChecksumRemote SQLLicence check
data-aggregator-mcp20 sources: data archives, omics, papersyes, DOI dedupwhere publishedyesyes
Mobus20 general and ML data platformsyes—row previewyes
paper-search-mcppapers: arXiv, PubMed, OpenAlex, Crossref and moreyes, deduplicated———
ToolUniverse1000+ tools: models, datasets, APIs, packagespapers———
BioMCPgenes, variants, trials, drugs, proteins, papersyes (search all)———

— means the project's README doesn't describe it (READMEs read 2026-10-04). Where they are ahead: BioMCP reaches clinical trials, ChEMBL and AlphaFold, which this server doesn't; ToolUniverse covers far more ground overall; paper-search-mcp covers far more literature sources; Mobus also compares datasets and checks schema compatibility. More detail: docs/POSITIONING.md.

Sources

SourceDiscoverFetchChecksum
Zenodo✅✅md5
DataCite → Figshare✅✅md5
DataCite → Dataverse✅✅md5
DataCite → OSF✅✅md5
DataCite → Dryad✅manifest only¹sha-256 (listed)
DataCite → Mendeley & others✅——
NCBI SRA✅✅ (ENA FASTQ)md5
NCBI GEO✅✅ (suppl/)none²
NCBI BioProject✅→ SRA links—
PubMed / OpenAIRE✅✅ (OA full text)none³
Hugging Face datasets✅✅ (resolve URL)none²
DataONE (eco/env)✅✅ (Member Node)md5 / sha-256
OmicsDI → PRIDE✅✅ (HTTPS FTP)none²
OmicsDI → MetaboLights✅✅ (HTTPS FTP)sha-256
OmicsDI → other MS repos✅——
DataCite → OpenNeuro✅✅ (snapshot)none²
DANDI (neurophysiology)✅✅ (302→S3)sha-256
CZ CELLxGENE (single-cell)✅✅ (H5AD/RDS)none²
OpenML (ML datasets)✅✅ (ARFF)md5
RCSB PDB (structures)✅✅ (.cif/.pdb)none²
UniProtKB (proteins)✅✅ (FASTA)none²
BioStudies (EBI)✅✅ (study files)none²
GBIF (biodiversity)✅✅ (Darwin Core)⁴none²
data.gov (DCAT-US)✅✅ (file URL)⁴none³
NASA CMR (Earth science)✅—⁵—
GWAS Catalog✅→ PMID bridge—
NGDC BioProject (China)✅→ GSA read sets—
Metabolomics Workbench✅——
MassIVE (mass spectrometry)✅——

¹ Dryad downloads are token / bot-challenge gated, so fetch returns an error; resolve still lists the files.

² No upstream checksum, so fetch does not verify these bytes. It still returns an error on an HTTP error or when the download exceeds max_bytes.

³ No upstream checksum. Files declared as PDF or XML (literature full text, and data.gov distributions with that mediaType) get an HTML sniff: an HTML login or paywall page served in their place returns an error. Other files are not checked.

⁴ Only records that carry a downloadable file (a GBIF Darwin Core Archive, a data.gov distribution URL); metadata-only records are discovery-only.

⁵ Discovery-only: granule downloads need an Earthdata login, which is not wired. resolve returns the DOI and a data-access portal link.

Reference

Every tool and parameter, the HTTP transport (--transport http), and the environment variables: docs/reference.md.

Develop

uv venv && uv pip install -e ".[dev]"
uv run pytest -q
uv run ruff check src tests
DATA_AGGREGATOR_MCP_LIVE=1 uv run pytest -k live -q   # real-API probes

The README demo (examples/assets/demo.svg) is recorded from live calls by examples/_demo_search.py; its header has the commands to re-record it.

License

MIT — see LICENSE.

Reviews

No reviews yet

Be the first to review this server!