Data Aggregator

Official registry Data and databases

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

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package data-aggregator-mcp
Claude Code
claude mcp add data-aggregator -e 'NCBI_API_KEY=<your ncbi_api_key>' -e 'LLM_API_BASE=<LLM_API_BASE>' -e 'LLM_API_KEY=<your llm_api_key>' -e 'LLM_MODEL=<LLM_MODEL>' -e 'EMBEDDING_API_BASE=<EMBEDDING_API_BASE>' -e 'EMBEDDING_API_KEY=<your embedding_api_key>' -e 'EMBEDDING_MODEL=<EMBEDDING_MODEL>' -e 'DATA_GOV_API_KEY=<your data_gov_api_key>' -e 'UNPAYWALL_EMAIL=<UNPAYWALL_EMAIL>' -e 'NCBI_EMAIL=<NCBI_EMAIL>' -e 'DATAVERSE_BASE_URL=<DATAVERSE_BASE_URL>' -e 'CACHE_TTL_SECONDS=<CACHE_TTL_SECONDS>' -- uvx data-aggregator-mcp==0.75.4
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "data-aggregator": {
            "command": "uvx",
            "args": [
                "data-aggregator-mcp==0.75.4"
            ],
            "env": {
                "NCBI_API_KEY": "<your ncbi_api_key>",
                "LLM_API_BASE": "<LLM_API_BASE>",
                "LLM_API_KEY": "<your llm_api_key>",
                "LLM_MODEL": "<LLM_MODEL>",
                "EMBEDDING_API_BASE": "<EMBEDDING_API_BASE>",
                "EMBEDDING_API_KEY": "<your embedding_api_key>",
                "EMBEDDING_MODEL": "<EMBEDDING_MODEL>",
                "DATA_GOV_API_KEY": "<your data_gov_api_key>",
                "UNPAYWALL_EMAIL": "<UNPAYWALL_EMAIL>",
                "NCBI_EMAIL": "<NCBI_EMAIL>",
                "DATAVERSE_BASE_URL": "<DATAVERSE_BASE_URL>",
                "CACHE_TTL_SECONDS": "<CACHE_TTL_SECONDS>"
            }
        }
    }
}

Environment variables

  • NCBI_API_KEY secret Optional NCBI E-utilities API key; raises the rate limit 3->10 req/s for omics, literature, and taxonomy lookups.
  • LLM_API_BASE Base URL of an OpenAI-compatible /chat/completions endpoint; enables search(understand=true) and search(multi_query=true).
  • LLM_API_KEY secret Bearer token for the LLM endpoint (LLM_API_BASE); omit for keyless local servers.
  • LLM_MODEL Model name passed to the LLM endpoint (default: gpt-4o-mini); set to whatever your endpoint serves.
  • EMBEDDING_API_BASE Base URL of an OpenAI-compatible /embeddings endpoint; enables search(rank=semantic) re-ranking.
  • EMBEDDING_API_KEY secret Bearer token for the embeddings endpoint (EMBEDDING_API_BASE); omit for keyless local servers.
  • EMBEDDING_MODEL Model name passed to the embeddings endpoint (default: text-embedding-3-small).
  • DATA_GOV_API_KEY secret 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.
  • UNPAYWALL_EMAIL Email address sent to the Unpaywall API; required to enable the Unpaywall PDF fallback leg of literature full-text retrieval.
  • NCBI_EMAIL Contact address sent to NCBI's ID converter; falls back to UNPAYWALL_EMAIL when unset.
  • DATAVERSE_BASE_URL Resolve Dataverse DOIs against a different installation (default: https://dataverse.harvard.edu).
  • CACHE_TTL_SECONDS Resolve-cache lifetime in seconds (default: 3600); an unparseable value falls back to the default.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. data-aggregator-mcp
  2. Does it help?
  3. Install
  4. What you can ask
  5. How a search runs
  6. Compared with other servers
  7. Reference and development
  8. License

data-aggregator-mcp

data-aggregator-mcp is an MCP server that lets AI agents search 21 public research-data sources at once and get back one deduplicated list.

Does it help?

Not shown for finding more datasets. In three held-out rounds, an agent using this server was not separated from the same agent using web search on how many matching datasets it found. The two latest rounds (2026-10-19, Claude Opus 5.5, rules written before the runs, 3 runs per task) were scored by mean recall against independently built answer keys:

Tools given to the agentRound 4 (5 tasks)Round 5 (10 tasks)
this server0.660.72
web search0.660.58
ToolUniverse0.590.63
no tools (memory only)0.020.09

In round 5 this server was higher on 6 of 10 tasks, where the pre-set rule needed 8. Web search hit the 15-minute limit in 11 of 30 runs, and a run that times out scores

  1. In runs that finished, web search found more (0.90). What this server does reliably: answers in about a third of the time (203 s against 599 s, median, round 5), with fewer tool calls and fewer wrong entries (precision 0.95 against 0.62). It cost more per run than web search ($2.08 against $1.51, API-equivalent). Method and controls: benchmarks/h2h.

Install

Claude Code:

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

One-click install for VS Code or Cursor:

Any other MCP client: run uvx data-aggregator-mcp as a stdio server.

Claude Desktop, pip, and the operate extra

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 was 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 license 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.

What each source can fetch, and which checksum it is verified against: docs/sources.md.

Compared with other servers

ServerSearchesOne searchChecksumRemote SQLLicense check
data-aggregator-mcp21 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; ToolUniverse covers far more ground overall; paper-search-mcp covers far more literature sources; Mobus also compares datasets and checks schema compatibility. More: docs/POSITIONING.md.

Reference and development

Every tool and parameter, the HTTP transport (--transport http) and the environment variables: docs/reference.md. Sources that need every word of a query, and how they are searched: every-word sources. Tests, linting and the live API probes: CONTRIBUTING.md.

License

MIT. See LICENSE.

Frequently asked questions

What is Data Aggregator?

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

How do I install Data Aggregator?

It runs on your machine. In Claude Code: claude mcp add data-aggregator -e 'NCBI_API_KEY=<your ncbi_api_key>' -e 'LLM_API_BASE=<LLM_API_BASE>' -e 'LLM_API_KEY=<your llm_api_key>' -e 'LLM_MODEL=<LLM_MODEL>' -e 'EMBEDDING_API_BASE=<EMBEDDING_API_BASE>' -e 'EMBEDDING_API_KEY=<your embedding_api_key>' -e 'EMBEDDING_MODEL=<EMBEDDING_MODEL>' -e 'DATA_GOV_API_KEY=<your data_gov_api_key>' -e 'UNPAYWALL_EMAIL=<UNPAYWALL_EMAIL>' -e 'NCBI_EMAIL=<NCBI_EMAIL>' -e 'DATAVERSE_BASE_URL=<DATAVERSE_BASE_URL>' -e 'CACHE_TTL_SECONDS=<CACHE_TTL_SECONDS>' -- uvx data-aggregator-mcp==0.75.4. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Data Aggregator need an API key?

Yes. It expects NCBI_API_KEY, LLM_API_KEY, EMBEDDING_API_KEY, DATA_GOV_API_KEY, which you set in its configuration.

Is Data Aggregator open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Data Aggregator?

It is published by musharna. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.