Data Aggregator
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).
data-aggregator-mcpclaude 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
{
"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_KEYsecret Optional NCBI E-utilities API key; raises the rate limit 3->10 req/s for omics, literature, and taxonomy lookups.LLM_API_BASEBase URL of an OpenAI-compatible /chat/completions endpoint; enables search(understand=true) and search(multi_query=true).LLM_API_KEYsecret Bearer token for the LLM endpoint (LLM_API_BASE); omit for keyless local servers.LLM_MODELModel name passed to the LLM endpoint (default: gpt-4o-mini); set to whatever your endpoint serves.EMBEDDING_API_BASEBase URL of an OpenAI-compatible /embeddings endpoint; enables search(rank=semantic) re-ranking.EMBEDDING_API_KEYsecret Bearer token for the embeddings endpoint (EMBEDDING_API_BASE); omit for keyless local servers.EMBEDDING_MODELModel name passed to the embeddings endpoint (default: text-embedding-3-small).DATA_GOV_API_KEYsecret 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_EMAILEmail address sent to the Unpaywall API; required to enable the Unpaywall PDF fallback leg of literature full-text retrieval.NCBI_EMAILContact address sent to NCBI's ID converter; falls back to UNPAYWALL_EMAIL when unset.DATAVERSE_BASE_URLResolve Dataverse DOIs against a different installation (default: https://dataverse.harvard.edu).CACHE_TTL_SECONDSResolve-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
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 agent | Round 4 (5 tasks) | Round 5 (10 tasks) |
|---|---|---|
| this server | 0.66 | 0.72 |
| web search | 0.66 | 0.58 |
| ToolUniverse | 0.59 | 0.63 |
| no tools (memory only) | 0.02 | 0.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
- 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
| Server | Searches | One search | Checksum | Remote SQL | License check |
|---|---|---|---|---|---|
| data-aggregator-mcp | 21 sources: data archives, omics, papers | yes, DOI dedup | where published | yes | yes |
| Mobus | 20 general and ML data platforms | yes | — | row preview | yes |
| paper-search-mcp | papers: arXiv, PubMed, OpenAlex, Crossref and more | yes, deduplicated | — | — | — |
| ToolUniverse | 1000+ tools: models, datasets, APIs, packages | papers | — | — | — |
| BioMCP | genes, variants, trials, drugs, proteins, papers | yes (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.