Paper Search MCP

An MCP server for searching and downloading academic papers from arXiv, PubMed, bioRxiv, Semantic Scholar and other open sources

MCP server

Medium risk

We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.

Why this level

  • Reaches external scientific services and downloads files to disk
  • Optional API keys are sent to third-party servers
All reasons and checks

openags/paper-search-mcp

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/paper-search-mcp

Detects the agents on your machine, checks the risk and pins the version.

Other ways to install

Run in a terminal

claude mcp add --transport stdio --env 'PAPER_SEARCH_MCP_UNPAYWALL_EMAIL=<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>' paper-search-mcp -- uvx paper-search-mcp

Or add to the file .mcp.json, in the project

{
  "mcpServers": {
    "paper-search-mcp": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "env": {
        "PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

PAPER_SEARCH_MCP_UNPAYWALL_EMAILrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Install in Cursor

The button opens the agent and offers to add the server. If nothing happens, copy the config below.

Add to the file ~/.cursor/mcp.json, for all projects

{
  "mcpServers": {
    "paper-search-mcp": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "env": {
        "PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.

Keys and settings

PAPER_SEARCH_MCP_UNPAYWALL_EMAILrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Install in VS Code

The button opens the agent and offers to add the server. If nothing happens, copy the config below.

Run in a terminal

code --add-mcp '{"name":"paper-search-mcp","type":"stdio","command":"uvx","args":["paper-search-mcp"],"env":{"PAPER_SEARCH_MCP_UNPAYWALL_EMAIL":"<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>"}}'

Or add to the file .vscode/mcp.json, in the project

{
  "servers": {
    "paper-search-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "env": {
        "PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>"
      }
    }
  }
}

If the file already exists, add the server inside the servers key.

Keys and settings

PAPER_SEARCH_MCP_UNPAYWALL_EMAILrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

codex mcp add paper-search-mcp --env 'PAPER_SEARCH_MCP_UNPAYWALL_EMAIL=<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>' -- uvx paper-search-mcp

Or add to the file ~/.codex/config.toml, for all projects

[mcp_servers.paper-search-mcp]
command = "uvx"
args = ["paper-search-mcp"]
env = { PAPER_SEARCH_MCP_UNPAYWALL_EMAIL = "<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>" }

If the file already exists, append the block to the end.

Keys and settings

PAPER_SEARCH_MCP_UNPAYWALL_EMAILrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

gemini mcp add -s user -e 'PAPER_SEARCH_MCP_UNPAYWALL_EMAIL=<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>' paper-search-mcp uvx paper-search-mcp

Or add to the file ~/.gemini/settings.json, for all projects

{
  "mcpServers": {
    "paper-search-mcp": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "env": {
        "PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

PAPER_SEARCH_MCP_UNPAYWALL_EMAILrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/devin/mcp_config.json, for all projects

{
  "mcpServers": {
    "paper-search-mcp": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "env": {
        "PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.

Keys and settings

PAPER_SEARCH_MCP_UNPAYWALL_EMAILrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Formerly Windsurf.

Add to the file cline_mcp_settings.json, for all projects

{
  "mcpServers": {
    "paper-search-mcp": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "env": {
        "PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.

Keys and settings

PAPER_SEARCH_MCP_UNPAYWALL_EMAILrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .roo/mcp.json, in the project

{
  "mcpServers": {
    "paper-search-mcp": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "env": {
        "PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

PAPER_SEARCH_MCP_UNPAYWALL_EMAILrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

A fork of Roo Code, same .roo folders.

Add to the file opencode.json, in the project

{
  "mcp": {
    "paper-search-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "paper-search-mcp"
      ],
      "environment": {
        "PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcp key.

Keys and settings

PAPER_SEARCH_MCP_UNPAYWALL_EMAILrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/zed/settings.json, for all projects

{
  "context_servers": {
    "paper-search-mcp": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "env": {
        "PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>"
      }
    }
  }
}

If the file already exists, add the server inside the context_servers key.

Keys and settings

PAPER_SEARCH_MCP_UNPAYWALL_EMAILrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .codeassistant/mcp.json, in the project

{
  "mcpServers": {
    "paper-search-mcp": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "env": {
        "PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "<PAPER_SEARCH_MCP_UNPAYWALL_EMAIL value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

PAPER_SEARCH_MCP_UNPAYWALL_EMAILrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

You will need: uv

Checked against the repository on Sep 25, 2026, commit 808e462.

Text for your agent

Install via uvx or add a uvx command with the paper-search-mcp package to your MCP configuration. For the Unpaywall source set PAPER_SEARCH_MCP_UNPAYWALL_EMAIL to any valid email.

Other ways from the author
{
  "mcpServers": {
    "paper-search-mcp": {
      "command": "uvx",
      "args": ["paper-search-mcp"],
      "env": {
        "PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "your@email.com"
      }
    }
  }
}

Runs through uvx with no permanent install. The email is only needed for the Unpaywall source.

This is third-party code. Review the repository files before installing.

What it does

The server gives an agent unified search and download of academic papers across many sources. A top layer combines concurrent multi-source search with deduplication and a download chain that runs from the source to open access and DOI resolution. A lower layer holds modular connectors for arXiv, PubMed, bioRxiv, medRxiv, Semantic Scholar, Crossref, OpenAlex, PubMed Central, Europe PMC, CORE, Zenodo, HAL and more. Results are normalized to one format, and for some papers PDF download and text extraction are available. The project follows a free-first principle: open databases come first, and API keys are optional, only widening limits and coverage. Beyond the MCP server, a Claude Code skill and a CLI over the same library are available.

Who it is for. For researchers, analysts and technical writers who gather academic literature through an agent.

Good fit when

  • You need papers on a topic across several databases at once
  • You need to download a PDF or extract text by identifier or DOI
  • You need a source list that prioritizes open access

Not a fit when

  • You need full text from paywalled databases you cannot access
  • A plain web search is enough without installing a server

Example request

Find recent papers on CRISPR base editing in arXiv and Semantic Scholar

Limitations

All API keys are optional except Unpaywall, which needs an email in an environment variable or the source is disabled. Some sources are limited on the provider side: Google Scholar and SSRN block bots, and Semantic Scholar and CORE can hit rate limits without a key. The IEEE and ACM connectors are skeletons for now and activate only with their own keys. PDF download is mostly available for open access. The optional Sci-Hub connector is unstable, and responsibility for its use lies with the user.

How to disable. Remove the server from the client's MCP configuration. If you installed the package, remove it via pip or uv, and delete the Claude Code skill from the skills directory.

MCP

Transport
stdio
Authentication
API key
Environment variables
Environment variables
PAPER_SEARCH_MCP_UNPAYWALL_EMAIL
required
Any valid email; without it the Unpaywall source is disabled.
PAPER_SEARCH_MCP_CORE_API_KEY
secret
Free CORE key that improves repository download stability.
PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY
secret
Free Semantic Scholar key that raises request limits.
PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL
Proxy URL to bypass Google Scholar bot-detection.
PAPER_SEARCH_MCP_IEEE_API_KEY
secret
Activates the IEEE Xplore connector, otherwise a skeleton.
PAPER_SEARCH_MCP_ACM_API_KEY
secret
Activates the ACM Digital Library connector, otherwise a skeleton.

Security check

  • Reaches external scientific services and downloads files to disk
  • Optional API keys are sent to third-party servers

README in short

The README describes a Python MCP server for searching and downloading academic papers from more than twenty sources with an open-access priority. The architecture has two layers: unified search with deduplication and a download chain on top, and modular per-database connectors below. It includes a capability matrix per source and a list of optional environment variables with keys. Installation is possible via Smithery, uvx, uv, pip, npx, Docker or from source, and for Claude Code there is a skill variant. MIT licensed.

FAQ

Are API keys required?

No, except the Unpaywall email. Open databases work without keys, and keys for Semantic Scholar, CORE and others only raise limits and stability.

Can I install it as a skill instead of a server?

Yes. For Claude Code there is a separate skill over the paper-search CLI that works without MCP configuration.

Editors’ pick

166 skills for scientific work: bioinformatics, cheminformatics, clinical data, geospatial analysis and 100+ databases

SkillMedium risk47KRepository stars
Official

Google's open-source MCP server for databases: ready tools for Postgres, MySQL, BigQuery, Spanner and more, plus custom tools in tools.yaml

MCP serverHigh risk16.5KRepository stars
Editors’ pick

Official Hugging Face skills: Hub operations via the hf CLI, datasets, model training, Spaces, evals and deployment

SkillHigh risk11.1KRepository stars
Official

A visualization language for agents and an MCP server: neat charts from a simple semantic spec

MCP serverMedium riskNo VPN needed4.3KRepository stars
Foxx AIPaper Search MCP

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.