Search across preprint servers and open catalogues is common; retrieving readable full text from six different hosting arrangements is not, and the per-source extraction strategies with a DOI fallback chain are why a paper usually comes back as text rather than a link. The honest bit is the flags — when extraction truncates or fails you are told, so an answer built on a partial paper is visible as such. Plan around the split: search returns metadata with an empty text field, and full text is a second call per paper.
A harvester across six literature sources, with the source named on every call. Search and listing return metadata; full text is a separate call, because extraction is where the work happens.
- search_papers queries arXiv, OpenAlex, Europe PMC or CORE, with field set to all, title, abstract, author or fulltext, and sortBy relevance, date or citations
- fetch_latest returns the newest papers in a category for a source, and list_categories shows what categories that source offers
- fetch_top_cited returns the most cited papers for a concept since a date you give, from OpenAlex's citation data
- fetch_content retrieves one paper by id with its text extracted — id formats differ per source, from arXiv's 2401.12345 to OpenAlex's W2741809807 and DOIs for bioRxiv
- Extraction is per-source: arXiv HTML with an ar5iv fallback, PMC through E-utilities, Europe PMC over REST, CORE from PDF or HTML, each falling back rather than failing outright
- A DOI resolution chain — Unpaywall, then Crossref, then Semantic Scholar — for finding a free full text when the direct route has none
- Every result carries textTruncated and textExtractionFailed flags, so a partial extraction is visible rather than silent
- fetch_pdf_content reads a PDF from a URL, bounded by maxPages, maxSizeMB and a timeout, with a confirmation step for large files
- Per-source rate limiting built in: 5 requests a minute for arXiv and bioRxiv, 10 for OpenAlex, Europe PMC and CORE, 3 a second for PMC
No account for the default setup — it runs as npx -y @futurelab-studio/latest-science-mcp@latest and all six sources are reachable without keys. CORE_API_KEY is the one optional credential, and it raises CORE's rate limit above the public tier.
One command — npm install -g @futurelab-studio/latest-science-mcp
