@pipeworx/nasa-ads
Connect: https://gateway.pipeworx.io/nasa-ads/mcp · Install: one-click buttons
No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.
Tools: 3
The NASA Astrophysics Data System — essentially the complete bibliography of astronomy and astrophysics since 1823, with hand-curated citation and reference graphs.
Tools
ads_search(query, sort?, limit?, start?, include_abstract?)— search the literature with the full ADS query syntax (author:"Rubin, V",year:2020-2024,bibstem:ApJ,abs:"phrase",property:refereed).ads_paper(identifier)— the full record for one paper by bibcode, DOI or arXiv id. The identifier form is detected and searched in the right field, so a DOI never silently free-text matches an unrelated paper.ads_citations(bibcode, direction?, sort?, limit?, start?)— papers citing this one (citations, default) or its bibliography (references).
Auth
BYO only. Pass _apiKey. There is no keyless path: ADS Bearer-authenticates every
endpoint and an unauthenticated request is a flat 401 Missing "Authorization" in headers
(verified 2026-09-17). The refusal says “requires an API key” so a caller is not left reading a
401 as our outage.
The token is free and generous: create an account at https://ui.adsabs.harvard.edu/ then Settings → API Token (https://ui.adsabs.harvard.edu/user/settings/token).
Platform fallback: PLATFORM_ADS_TOKEN. Until that secret is set, the pack-manifest entry
carries byoExpected: true; remove it in the same change that lands the value.
Data sources
- https://api.adsabs.harvard.edu/v1/search/query — every tool here is one call to this endpoint
with a different
q.ads_citationsuses ADS’s owncitations(bibcode:...)andreferences(bibcode:...)operators rather than a separate endpoint.
Traps
flis not optional in practice. Omit it and ADS returns bare ids with no title, author or year — a clean 200 that looks like a stripped result set. Every call here sends an explicit field list.- Unquoted author names are searched as free text.
author:Rubinis not an author search;author:"Rubin, V"is. A free-text match returns plausible, wrong papers with no error, so the zero-result note says this explicitly. - Year ranges are
year:2020-2024.year>2020is a syntax error. - A bibcode is exactly 19 characters, dot-padded (
2015ApJ...808...50A). A copy that lost its padding to reflowing matches nothing, which is indistinguishable from “this paper is not indexed”. - Zero citations is usually real. For a paper published in the last few months an empty
citationsresult is ordinary; so is an unknown bibcode. Both return zero rather than an error, so the note names both causes.
Tools
- ads_search — Search the NASA Astrophysics Data System — the complete bibliography of astronomy and
- ads_paper — Full record for one paper by bibcode, DOI or arXiv id — title, every author, journal,
- ads_citations — Papers that cite a given paper, or the papers it cites — the ADS citation graph, which is
Tools
ads_citations— Papers that cite a given paper, or the papers it cites — the ADS citation graph, which isads_paper— Full record for one paper by bibcode, DOI or arXiv id — title, every author, journal,ads_search— Search the NASA Astrophysics Data System — the complete bibliography of astronomy and