name: paper-search
description: Search, download, and read academic papers through the paper-search MCP tools (mcp__paper-search__*), covering arXiv, PubMed, bioRxiv, Semantic Scholar, Crossref, OpenAlex and 15+ other sources. Use when the user asks to find papers, search research literature, download a paper PDF, or extract text from a paper.
whenToUse: Use when the user asks to find, download, or read academic papers or literature. Prefer these MCP tools over a raw web search for paper discovery.
Paper Search
Academic paper discovery and retrieval in this harness runs through the mcp__paper-search__* tools (the paper-search-mcp MCP server). Do not run the paper-search CLI or hand-write API requests — use these tools.
Core tools
mcp__paper-search__search_papers — multi-source concurrent search with deduplication and DOI backfill. Prefer it for broad queries; one call covers many sources at once.
mcp__paper-search__download_with_fallback — OA-first PDF download with a source-native → repository → Unpaywall fallback chain.
mcp__paper-search__search_unpaywall — DOI-centric open-access metadata lookup.
Source-specific tools
Per source the pattern is search_<source> / download_<source> / read_<source>_paper, with availability varying by source. Sources: arxiv, pubmed, biorxiv, medrxiv, iacr, semantic, crossref, openalex, pmc, core, europepmc, dblp, openaire, citeseerx, doaj, base, zenodo, hal, ssrn, openreview, google_scholar. ACM search is available without an API key. IEEE tools require PAPER_SEARCH_MCP_IEEE_API_KEY. Discover the current tool list rather than assuming every source supports full text.
Web of Science (search_wos) and Scopus (search_scopus, read_scopus_paper)
require runtime keys and explicit source selection; default/all searches never
include them. Scopus full-text retrieval requires explicit full_text=true;
respect its full_text, abstract_only, or unavailable status. Do not describe
an abstract or metadata record as retrieved full text.
get_citing_papers and get_referenced_papers provide bounded one-hop OpenAlex
lookups from a DOI or OpenAlex ID. Search caching is disabled by default; enabling
it persists queries and public results and is an operator choice. Use
get_search_cache_status to inspect it and clear_search_cache only when the
user asks to remove cached results. Clearing does not remove downloaded PDFs.
For speed, prefer a targeted set (search_arxiv, search_semantic, search_crossref) over multi-source search when the field is clear.
Workflow
- Search:
search_papers for broad coverage, search_<source> for targeted queries.
- Present results as a table: title, authors, year, source, DOI/URL.
- Full text:
read_<source>_paper; PDF: download_<source> or download_with_fallback, then report the saved path.
Notes
- Many public sources work without API keys; optional keys (Semantic Scholar, CORE, Unpaywall email, …) live in
~/.config/paper-search-mcp/.env and are loaded by the server automatically.
- Google Scholar and SSRN can be bot-blocked upstream; fall back to other sources rather than retrying.