mcp/paper-search

Verified Publisher

By mcp

Updated 17 days ago

MCP, CLI, Skills for searching and downloading academic papers from multiple sources like arXiv, ...

Image
Machine learning & AI
5

10K+

mcp/paper-search repository overview

Paper Search MCP Server

MCP, CLI, Skills for searching and downloading academic papers from multiple sources like arXiv, PubMed, bioRxiv, etc.

What is an MCP Server?

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/openags/paper-search-mcp/blob/c8b642183bb725f0a7faec89e58b558df09079d1/Dockerfile
Commitc8b642183bb725f0a7faec89e58b558df09079d1
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/paper-search --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (57)

Tools provided by this ServerShort Description
download_arxivDownload PDF of an arXiv paper.
download_baseDownload PDF for a paper from BASE.
download_biorxivDownload PDF of a bioRxiv paper.
download_citeseerxDownload PDF for a paper from CiteSeerX.
download_crossrefAttempt to download PDF of a CrossRef paper.
download_dblpDownload PDF for a paper from dblp.
download_doajDownload PDF for a paper from DOAJ.
download_halDownload PDF for a paper from HAL.
download_iacrDownload PDF of an IACR ePrint paper.
download_medrxivDownload PDF of a medRxiv paper.
download_openaireDownload PDF for a paper from OpenAIRE.
download_openalexDownload PDF for a paper from OpenAlex.
download_pubmedAttempt to download PDF of a PubMed paper.
download_scihubDownload paper PDF via Sci-Hub (optional fallback connector).
download_semanticDownload PDF of a Semantic Scholar paper.
download_ssrnDownload PDF for a paper from SSRN.
download_with_fallbackTry source-native download, OA repositories, Unpaywall, then optional Sci-Hub.
download_zenodoDownload PDF for a paper from Zenodo.
get_crossref_paper_by_doiGet a specific paper from CrossRef by its DOI.
read_arxiv_paperRead and extract text content from an arXiv paper PDF.
read_base_paperRead and extract text content from a BASE paper.
read_biorxiv_paperRead and extract text content from a bioRxiv paper PDF.
read_citeseerx_paperRead and extract text content from a CiteSeerX paper.
read_crossref_paperAttempt to read and extract text content from a CrossRef paper.
read_dblp_paperAttempt to read and extract text content from a dblp paper.
read_doaj_paperRead and extract text content from a DOAJ paper.
read_hal_paperRead and extract text content from a HAL paper.
read_iacr_paperRead and extract text content from an IACR ePrint paper PDF.
read_medrxiv_paperRead and extract text content from a medRxiv paper PDF.
read_openaire_paperAttempt to read and extract text content from an OpenAIRE paper.
read_openalex_paperAttempt to read and extract text content from an OpenAlex paper.
read_pubmed_paperRead and extract text content from a PubMed paper.
read_semantic_paperRead and extract text content from a Semantic Scholar paper.
read_ssrn_paperRead paper content from SSRN.
read_zenodo_paperRead and extract text content from a Zenodo paper.
search_arxivSearch academic papers from arXiv.
search_baseSearch academic papers from BASE (Bielefeld Academic Search Engine).
search_biorxivSearch academic papers from bioRxiv.
search_citeseerxSearch academic papers from CiteSeerX digital library.
search_coreSearch academic papers from CORE.
search_crossrefSearch academic papers from CrossRef database.
search_dblpSearch academic papers from dblp computer science bibliography.
search_doajSearch academic papers from DOAJ (Directory of Open Access Journals).
search_europepmcSearch academic papers from Europe PMC.
search_google_scholarSearch academic papers from Google Scholar.
search_halSearch academic papers from HAL open archive.
search_iacrSearch academic papers from IACR ePrint Archive.
search_medrxivSearch academic papers from medRxiv.
search_openaireSearch academic papers from OpenAIRE European Open Access infrastructure.
search_openalexSearch academic papers from OpenAlex.
search_papersUnified top-level search across all configured academic platforms.
search_pmcSearch academic papers from PubMed Central (PMC).
search_pubmedSearch academic papers from PubMed.
search_semanticSearch academic papers from Semantic Scholar.
search_ssrnSearch metadata records from SSRN.
search_unpaywallLookup a DOI via Unpaywall and return OA metadata.
search_zenodoSearch academic papers from Zenodo open repository.

Tools Details

Tool: download_arxiv

Download PDF of an arXiv paper.

ParametersTypeDescription
paper_idstringarXiv paper ID (e.g., '2106.12345').
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: download_base

Download PDF for a paper from BASE.

ParametersTypeDescription
paper_idstringBASE paper identifier.
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: download_biorxiv

Download PDF of a bioRxiv paper.

ParametersTypeDescription
paper_idstringbioRxiv DOI.
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: download_citeseerx

Download PDF for a paper from CiteSeerX.

ParametersTypeDescription
paper_idstringCiteSeerX paper identifier.
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: download_crossref

Attempt to download PDF of a CrossRef paper.

ParametersTypeDescription
paper_idstringCrossRef DOI (e.g., '10.1038/nature12373').
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: download_dblp

Download PDF for a paper from dblp.

Note: dblp doesn't provide direct PDF access.
This function returns an informative message.
ParametersTypeDescription
paper_idstringdblp paper identifier.
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: download_doaj

Download PDF for a paper from DOAJ.

ParametersTypeDescription
paper_idstringDOAJ paper identifier.
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: download_hal

Download PDF for a paper from HAL.

ParametersTypeDescription
paper_idstringHAL paper identifier.
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: download_iacr

Download PDF of an IACR ePrint paper.

ParametersTypeDescription
paper_idstringIACR paper ID (e.g., '2009/101').
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: download_medrxiv

Download PDF of a medRxiv paper.

ParametersTypeDescription
paper_idstringmedRxiv DOI.
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: download_openaire

Download PDF for a paper from OpenAIRE.

ParametersTypeDescription
paper_idstringOpenAIRE paper identifier.
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: download_openalex

Download PDF for a paper from OpenAlex.

ParametersTypeDescription
paper_idstringOpenAlex paper ID.
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: download_pubmed

Attempt to download PDF of a PubMed paper.

ParametersTypeDescription
paper_idstringPubMed ID (PMID).
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: download_scihub

Download paper PDF via Sci-Hub (optional fallback connector).

ParametersTypeDescription
identifierstringDOI, title, PMID, or paper URL.
base_urlstring optionalSci-Hub mirror URL.
save_pathstring optionalDirectory to save the PDF.

Tool: download_semantic

Download PDF of a Semantic Scholar paper.

ParametersTypeDescription
paper_idstringSemantic Scholar paper ID, Paper identifier in one of the following formats:
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: download_ssrn

Download PDF for a paper from SSRN.

Note: SSRN connector is metadata-only and download is not supported.
ParametersTypeDescription
paper_idstringSSRN paper identifier.
save_pathstring optionalDirectory to save the PDF (unused).

Tool: download_with_fallback

Try source-native download, OA repositories, Unpaywall, then optional Sci-Hub.

ParametersTypeDescription
paper_idstringSource-native paper identifier.
sourcestringSource name (arxiv, biorxiv, medrxiv, iacr, semantic, crossref, pubmed, pmc, core, europepmc, citeseerx, doaj, base, zenodo, hal, ssrn).
doistring optionalOptional DOI used for repository/unpaywall/Sci-Hub fallback.
save_pathstring optionalDirectory to save downloaded files.
scihub_base_urlstring optionalSci-Hub mirror URL for fallback.
titlestring optionalOptional title used for repository/Sci-Hub fallback when DOI is unavailable.
use_scihubboolean optionalWhether to fallback to Sci-Hub after OA attempts fail.

Tool: download_zenodo

Download PDF for a paper from Zenodo.

ParametersTypeDescription
paper_idstringZenodo paper identifier.
save_pathstring optionalDirectory to save the PDF (default: './downloads').

Tool: get_crossref_paper_by_doi

Get a specific paper from CrossRef by its DOI.

ParametersTypeDescription
doistringDigital Object Identifier (e.g., '10.1038/nature12373').

Tool: read_arxiv_paper

Read and extract text content from an arXiv paper PDF.

ParametersTypeDescription
paper_idstringarXiv paper ID (e.g., '2106.12345').
save_pathstring optionalDirectory where the PDF is/will be saved (default: './downloads').

Tool: read_base_paper

Read and extract text content from a BASE paper.

ParametersTypeDescription
paper_idstringBASE paper identifier.
save_pathstring optionalDirectory where the PDF is/will be saved (default: './downloads').

Tool: read_biorxiv_paper

Read and extract text content from a bioRxiv paper PDF.

ParametersTypeDescription
paper_idstringbioRxiv DOI.
save_pathstring optionalDirectory where the PDF is/will be saved (default: './downloads').

Tool: read_citeseerx_paper

Read and extract text content from a CiteSeerX paper.

ParametersTypeDescription
paper_idstringCiteSeerX paper identifier.
save_pathstring optionalDirectory where the PDF is/will be saved (default: './downloads').

Tool: read_crossref_paper

Attempt to read and extract text content from a CrossRef paper.

ParametersTypeDescription
paper_idstringCrossRef DOI (e.g., '10.1038/nature12373').
save_pathstring optionalDirectory where the PDF is/will be saved (default: './downloads').

Tool: read_dblp_paper

Attempt to read and extract text content from a dblp paper.

Note: dblp doesn't provide direct paper content access.
This function returns an informative message.
ParametersTypeDescription
paper_idstringdblp paper identifier.
save_pathstring optionalDirectory where the PDF would be saved (unused).

Tool: read_doaj_paper

Read and extract text content from a DOAJ paper.

ParametersTypeDescription
paper_idstringDOAJ paper identifier.
save_pathstring optionalDirectory where the PDF is/will be saved (default: './downloads').

Tool: read_hal_paper

Read and extract text content from a HAL paper.

ParametersTypeDescription
paper_idstringHAL paper identifier.
save_pathstring optionalDirectory where the PDF is/will be saved (default: './downloads').

Tool: read_iacr_paper

Read and extract text content from an IACR ePrint paper PDF.

ParametersTypeDescription
paper_idstringIACR paper ID (e.g., '2009/101').
save_pathstring optionalDirectory where the PDF is/will be saved (default: './downloads').

Tool: read_medrxiv_paper

Read and extract text content from a medRxiv paper PDF.

ParametersTypeDescription
paper_idstringmedRxiv DOI.
save_pathstring optionalDirectory where the PDF is/will be saved (default: './downloads').

Tool: read_openaire_paper

Attempt to read and extract text content from an OpenAIRE paper.

ParametersTypeDescription
paper_idstringOpenAIRE paper identifier.
save_pathstring optionalDirectory where the PDF is/will be saved (default: './downloads').

Tool: read_openalex_paper

Attempt to read and extract text content from an OpenAlex paper.

ParametersTypeDescription
paper_idstringOpenAlex paper ID.
save_pathstring optionalDirectory where the PDF is/will be saved (default: './downloads').

Tool: read_pubmed_paper

Read and extract text content from a PubMed paper.

ParametersTypeDescription
paper_idstringPubMed ID (PMID).
save_pathstring optionalDirectory where the PDF would be saved (unused).

Tool: read_semantic_paper

Read and extract text content from a Semantic Scholar paper.

ParametersTypeDescription
paper_idstringSemantic Scholar paper ID, Paper identifier in one of the following formats:
save_pathstring optionalDirectory where the PDF is/will be saved (default: './downloads').

Tool: read_ssrn_paper

Read paper content from SSRN.

Note: SSRN connector is metadata-only and read is not supported.
ParametersTypeDescription
paper_idstringSSRN paper identifier.
save_pathstring optionalDirectory where the PDF is/will be saved (unused).

Tool: read_zenodo_paper

Read and extract text content from a Zenodo paper.

ParametersTypeDescription
paper_idstringZenodo paper identifier.
save_pathstring optionalDirectory where the PDF is/will be saved (default: './downloads').

Tool: search_arxiv

Search academic papers from arXiv.

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).
sort_bystring optionalSort criterion — 'relevance', 'submittedDate', or 'lastUpdatedDate' (default: 'relevance').
sort_orderstring optionalSort direction — 'descending' or 'ascending' (default: 'descending').

Tool: search_base

Search academic papers from BASE (Bielefeld Academic Search Engine).

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_biorxiv

Search academic papers from bioRxiv.

Note: bioRxiv API filters by category name within the last 30 days, not full-text
keyword search. Use a category keyword such as 'bioinformatics', 'neuroscience',
'cell biology', etc.
ParametersTypeDescription
querystringCategory name to filter by (e.g., 'bioinformatics', 'neuroscience').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_citeseerx

Search academic papers from CiteSeerX digital library.

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_core

Search academic papers from CORE.

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_crossref

Search academic papers from CrossRef database.

CrossRef is a scholarly infrastructure organization that provides 
persistent identifiers (DOIs) for scholarly content and metadata.
It's one of the largest citation databases covering millions of 
academic papers, journals, books, and other scholarly content.
ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning', 'climate change').
filterstring optionalCrossRef filter string (e.g., 'has-full-text:true,from-pub-date:2020').
max_resultsinteger optionalMaximum number of papers to return (default: 10, max: 1000).
orderstring optionalSort order ('asc' or 'desc').
sortstring optionalSort field ('relevance', 'published', 'updated', 'deposited', etc.).

Tool: search_dblp

Search academic papers from dblp computer science bibliography.

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_doaj

Search academic papers from DOAJ (Directory of Open Access Journals).

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_europepmc

Search academic papers from Europe PMC.

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_google_scholar

Search academic papers from Google Scholar.

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_hal

Search academic papers from HAL open archive.

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_iacr

Search academic papers from IACR ePrint Archive.

ParametersTypeDescription
querystringSearch query string (e.g., 'cryptography', 'secret sharing').
fetch_detailsboolean optionalWhether to fetch detailed information for each paper (default: True).
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_medrxiv

Search academic papers from medRxiv.

Note: medRxiv API filters by category name within the last 30 days, not full-text
keyword search. Use a category keyword such as 'infectious_diseases',
'cardiovascular_medicine', 'oncology', etc.
ParametersTypeDescription
querystringCategory name to filter by (e.g., 'infectious_diseases', 'oncology').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_openaire

Search academic papers from OpenAIRE European Open Access infrastructure.

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_openalex

Search academic papers from OpenAlex.

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_papers

Unified top-level search across all configured academic platforms.

ParametersTypeDescription
querystringSearch query string.
max_results_per_sourceinteger optionalMax results to fetch from each selected source.
sourcesstring optionalComma-separated source names or 'all'.
yearstring optionalOptional year filter for Semantic Scholar only.

Tool: search_pmc

Search academic papers from PubMed Central (PMC).

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_pubmed

Search academic papers from PubMed.

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).
sortstring optionalSort order — 'relevance' or 'pub_date' (default: 'relevance').

Tool: search_semantic

Search academic papers from Semantic Scholar.

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).
yearstring optionalOptional year filter (e.g., '2019', '2016-2020', '2010-', '-2015').

Tool: search_ssrn

Search metadata records from SSRN.

Note: SSRN connector is metadata-only and does not support direct PDF download.
ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Tool: search_unpaywall

Lookup a DOI via Unpaywall and return OA metadata.

Unpaywall is DOI-centric and does not support generic keyword search.
This tool extracts the first DOI from `query` and returns at most one record.
ParametersTypeDescription
querystringDOI string or text containing a DOI.
max_resultsinteger optionalKept for API consistency; Unpaywall returns max 1 record.

Tool: search_zenodo

Search academic papers from Zenodo open repository.

ParametersTypeDescription
querystringSearch query string (e.g., 'machine learning').
max_resultsinteger optionalMaximum number of papers to return (default: 10).

Use this MCP Server

{
  "mcpServers": {
    "paper-search": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "mcp/paper-search"
      ]
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Install from MCP:Hub

Tag summary

Content type

Image

Digest

sha256:19d0af269

Size

75.9 MB

Last updated

17 days ago

docker pull mcp/paper-search

This week's pulls

Pulls:

505

Last week