home / mcp / paper search mcp server

Paper Search MCP Server

Provides multi-platform academic paper search and download through an MCP interface with 14 sources and unified data modeling.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "dianel555-paper-search-mcp-nodejs": {
      "command": "npx",
      "args": [
        "-y",
        "paper-search-mcp-nodejs"
      ],
      "env": {
        "WOS_API_KEY": "YOUR_WOS_API_KEY",
        "PUBMED_API_KEY": "YOUR_NCBI_KEY",
        "WILEY_TDM_TOKEN": "YOUR_WILEY_TOKEN",
        "WOS_API_VERSION": "v1",
        "ELSEVIER_API_KEY": "YOUR_ELSEVIER_KEY",
        "SPRINGER_API_KEY": "YOUR_SPRINGER_KEY",
        "SEMANTIC_SCHOLAR_API_KEY": "YOUR_SCHOLAR_KEY",
        "SPRINGER_OPENACCESS_API_KEY": "YOUR_SPRINGER_OA_KEY"
      }
    }
  }
}

You can run a Node.js MCP server that searches and downloads academic papers from multiple sources, normalizes the data, and exposes a unified set of tools your MCP client can use. This server helps you access arXiv, PubMed, Web of Science, Google Scholar, Sci-Hub, ScienceDirect, Springer, Wiley, Scopus and more through a single interface, while handling rate limits, errors, and security considerations for you.

How to use

You connect an MCP client to the paper search server to run queries across multiple platforms. Use the client to search for papers by keywords, filters, and time ranges, then download PDFs when available. The server prioritizes academic papers, provides unified paper data, and can fetch metadata, citations, and full text where allowed by each platform.

How to install

Prerequisites: Node.js version 18.0.0 or higher, and npm or yarn.

Step 1: Clone the project folder and install dependencies.

Step 2: Copy the environment template and customize keys that your setup requires.

Step 3: Start the server using one of the available execution methods.

Configuration and running options

To enable remote API access and integrate with your client, you configure the MCP server in your client’s setup. The server supports running via an automated NSPX/NPM-based command or by invoking a local built file.

Security and keys

Set and protect API keys for platforms that require them. The server environment includes keys for Web of Science, PubMed, Semantic Scholar, Elsevier, Springer, Wiley, and other providers. Do not expose these keys in logs or client responses.

Testing and maintenance

Run tests and lint the codebase to ensure platform integrations, error handling, and rate limiting function correctly. Regularly verify that API keys are valid and that mirrors or mirrors health checks remain up to date.

Notes for operation

If you plan to use Wiley or Sci-Hub features, be aware of legal and terms-of-service considerations. Ensure your use complies with applicable laws and organizational policies.

Available tools

search_papers

Search across multiple platforms with unified results and a consolidated data model.

search_crossref

Search Crossref database for metadata and optional results.

search_arxiv

Query arXiv preprint server for physics and computer science papers.

search_webofscience

Query Web of Science for multi-topic scholarly results.

search_pubmed

Search PubMed/MEDLINE biomedical literature.

search_google_scholar

Search Google Scholar for comprehensive academic results.

search_biorxiv

Search bioRxiv preprints for biology research.

search_medrxiv

Search medRxiv medical preprints.

search_semantic_scholar

Semantic Scholar AI-powered search with citation data.

search_iacr

Search IACR ePrint cryptography archive.

search_scihub

Search and download papers via Sci-Hub using DOI or URL.

search_sciencedirect

Search Elsevier ScienceDirect database.

search_springer

Search Springer Nature using Metadata and Open Access APIs.

search_wiley

Wiley download by DOI via TDM API for PDFs.

search_scopus

Search Scopus citation database.

download_paper

Download paper PDFs by paperId or DOI.

get_paper_by_doi

Retrieve paper information using a DOI.

get_platform_status

Check status and keys for all platforms.