Paper Search

Paper Search MCP is an open-source MCP server and Claude Code skill for finding academic papers, retrieving lawful open-access PDFs, and extracting paper text within an AI-assisted research workflow.

It searches across arXiv, PubMed, bioRxiv, Semantic Scholar, Crossref, OpenAlex, Europe PMC, and many other research sources through one local server.

Research tasks often move across several databases. You may find a preprint on arXiv, recover a DOI through Crossref, confirm metadata in OpenAlex, and look for an open repository copy before asking an AI assistant to summarize the paper.

Paper Search MCP combines those steps through multi-source search, deduplication, DOI recovery, and open-access fallback retrieval.

Key Features

  • Searches multiple academic sources through the unified search_papers workflow.
  • Deduplicates overlapping records from different providers.
  • Retrieves available open-access PDFs through source-native and repository fallback paths.
  • Extracts paper text for AI-assisted reading and synthesis.
  • Returns normalized metadata through a shared paper format.
  • Runs as a Claude Code skill, MCP server, or local CLI.
  • Uses targeted source filters for faster research queries.
  • Stores optional provider credentials in environment variables or a .env file.
  • Keeps public and open-access sources ahead of restricted services.
  • Includes modular connectors for future academic platforms.

Paper Search MCP vs. a Single-Source Search Tool

Research taskPaper Search MCPSingle-source search
Search several databasesQueries multiple providers in one workflow.Requires separate searches and manual comparison.
Remove duplicate recordsUses unified results and deduplication.Requires manual filtering.
Recover DOI informationPulls metadata from sources such as Crossref and OpenAlex.Depends on the selected platform.
Find open-access copiesUses repository and publisher fallback paths.Often stops at the first source result.
Read paper text in an AI clientSupports text extraction through MCP tools and CLI commands.Requires manual copy-paste or another parser.
Run literature research in Claude CodeInstalls as a skill or MCP server.Needs separate browser and document workflows.

When a Browser Is Enough

Skip the local setup when your work only needs occasional title lookups, one DOI, or a single arXiv PDF. A browser and the original repository page require less configuration for that job.

Install Paper Search MCP when your research process repeats across several providers and your AI assistant needs structured paper metadata or extracted text. The project has more moving parts than a browser search, and provider reliability still changes by source.

Open-Access Rules and Privacy

Paper Search MCP can locate metadata across many services, but a search result does not guarantee a downloadable PDF. Full-text retrieval depends on publisher-permitted links, public repositories, and source-specific access rules.

Keep routine research on open-access repositories and publisher-approved copies. The project documents an optional restricted-source fallback separately, but it should not form part of a normal academic workflow.

The MCP server runs locally, yet each search query reaches the provider you select. Keep unpublished study titles, participant details, internal research plans, and sensitive project terms out of external provider queries.

How to Install Paper Search MCP

Install uv

Install uv before using the source-clone or uvx paths.

curl -LsSf https://astral.sh/uv/install.sh | sh

Clone and Run the Current Repository

The PyPI package page lists version 0.1.3 from April 29, 2025. The repository documents the broader connector set and current skill workflow, so the clone path gives you the clearest route when a specific connector matters.

git clone https://github.com/openags/paper-search-mcp.git
cd paper-search-mcp
uv run -m paper_search_mcp.server

Install the Claude Code Skill

Create the local Claude Code skill directory.

mkdir -p ~/.claude/skills/paper-search

Copy the skill file from your cloned repository.

cp ~/paper-search-mcp/claude-code/SKILL.md ~/.claude/skills/paper-search/SKILL.md

Replace every <REPO_PATH> entry in ~/.claude/skills/paper-search/SKILL.md with the absolute path to your local clone.

The skill activates when your Claude Code task asks for academic papers, research literature, paper PDFs, or extracted paper text.

Add It to Claude Desktop

Add this block to your Claude Desktop MCP configuration file. Replace /absolute/path/to/paper-search-mcp with your cloned project directory.

{
  "mcpServers": {
    "paper-search-mcp": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/paper-search-mcp",
        "-m",
        "paper_search_mcp.server"
      ],
      "env": {
        "PAPER_SEARCH_MCP_UNPAYWALL_EMAIL": "[email protected]",
        "PAPER_SEARCH_MCP_CORE_API_KEY": "",
        "PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY": "",
        "PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN": "",
        "PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL": "",
        "PAPER_SEARCH_MCP_IEEE_API_KEY": "",
        "PAPER_SEARCH_MCP_ACM_API_KEY": ""
      }
    }
  }
}

Claude Desktop stores its MCP configuration in these locations:

PlatformConfiguration path
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json

Start With Targeted Searches

List available sources before running your first paper search.

uv run --directory ~/paper-search-mcp paper-search sources

Search selected sources first. Targeted searches reduce irrelevant results and avoid unnecessary calls to unstable providers.

uv run --directory ~/paper-search-mcp paper-search search "transformer attention mechanisms" -n 5 -s arxiv,semantic,crossref -y 2020-2026

Read extracted text after you identify a relevant record.

uv run --directory ~/paper-search-mcp paper-search read arxiv 2106.12345

Download a PDF only when the selected source exposes a permitted file.

uv run --directory ~/paper-search-mcp paper-search download arxiv 2106.12345 -o ./downloads

Other Installation Routes

Smithery can add the server to Claude Desktop through one command.

npx -y @smithery/cli install @openags/paper-search-mcp --client claude

uvx runs the package without a permanent installation.

uvx paper-search-mcp

uv tool installs the package as a persistent local tool.

uv tool install paper-search-mcp

pip installs the Python package.

pip install paper-search-mcp

Smithery can also run the project through npx.

npx -y @smithery/cli run @openags/paper-search-mcp

Docker provides an isolated server process.

docker build -t paper-search-mcp .
docker run --rm -i \
  -e [email protected] \
  -e PAPER_SEARCH_MCP_CORE_API_KEY=your_core_key \
  paper-search-mcp

macOS users can avoid uvx wrapper issues by using the clone-and-run path. The repository notes that some uvx setups depend on realpath, which macOS does not include by default.

CLI Commands

uv run --directory <REPO_PATH> paper-search <command> [args]
CommandPurposeOutput
paper-search search "<query>"Searches academic sources for matching papers.JSON
-n <max_per_source>Sets results returned from each source. The default is 5.Search option
-s <sources>Selects comma-separated sources or all.Search option
-y <year>Filters Semantic Scholar results by year or year range.Search option
paper-search download <source> <paper_id>Downloads an available PDF.JSON
-o ./downloadsSets the output directory for downloads.Download option
paper-search read <source> <paper_id>Extracts available paper text.Plain text
paper-search sourcesLists configured and available sources.Terminal output

MCP Workflows

MCP workflowPurpose
search_papersRuns concurrent multi-source search and deduplicates results.
download_with_fallbackAttempts source-native retrieval, repository discovery, DOI resolution, and open-access fallbacks.
Platform connectorsRun source-specific search, download, and reading actions.
DOI extractionPulls DOI values from metadata fields and text patterns.

Source Capability Reference

SourceSearchPDF or text retrievalPractical role
arXivYesYesPreprints and open research papers.
PubMedYesMetadata onlyBiomedical records and abstracts.
bioRxivYesYesLife-science preprints.
medRxivYesYesHealth and clinical preprints.
Google ScholarUnstableNoDiscovery and DOI clues only.
IACR ePrintYesYesCryptography research.
Semantic ScholarYesOpen-access onlyMetadata and available open copies.
CrossrefYesMetadata onlyDOI recovery and citation metadata.
OpenAlexYesMetadata onlyBroad academic metadata coverage.
PubMed CentralYesOpen-access onlyBiomedical full text.
COREYesRecord-dependentRepository-based access.
Europe PMCYesOpen-access onlyBiomedical open-access papers.
dblpYesMetadata onlyComputer-science bibliography.
OpenAIREYesNoRepository discovery.
CiteSeerXUnstableRecord-dependentOlder computer-science records.
DOAJYesURL-dependentOpen-access journal discovery.
BASEUnstableRecord-dependentRepository search.
ZenodoYesRecord-dependentResearch deposits and datasets.
HALYesRecord-dependentOpen scholarly archive records.
SSRNUnstablePublic PDF onlySocial-science discovery.
UnpaywallDOI lookupNoOpen-access URL resolution.
IEEE XploreSkeleton onlySkeleton onlyNot ready for normal use.
ACM Digital LibrarySkeleton onlySkeleton onlyNot ready for normal use.

Google Scholar, CiteSeerX, BASE, and SSRN can fail because of provider restrictions, unstable endpoints, or bot detection. IEEE Xplore and ACM Digital Library connectors require keys but still expose skeleton implementations rather than complete search and retrieval support.

Environment Variables

VariableRequired?Purpose
PAPER_SEARCH_MCP_UNPAYWALL_EMAILYes for UnpaywallEnables DOI-based open-access URL lookup.
PAPER_SEARCH_MCP_CORE_API_KEYRecommendedImproves CORE reliability and rate limits.
PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEYOptionalImproves Semantic Scholar rate limits.
PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URLOptionalConfigures a proxy URL for the Google Scholar connector.
PAPER_SEARCH_MCP_DOAJ_API_KEYOptionalRaises DOAJ rate limits.
PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKENOptionalAccesses private Zenodo records.
PAPER_SEARCH_MCP_IEEE_API_KEYRequired for activationActivates the incomplete IEEE connector.
PAPER_SEARCH_MCP_ACM_API_KEYRequired for activationActivates the incomplete ACM connector.
PAPER_SEARCH_MCP_ENV_FILEOptionalPoints to a custom environment file.

Create a local .env file in the project root when you need provider credentials.

[email protected]
PAPER_SEARCH_MCP_CORE_API_KEY=
PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY=
PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN=
PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL=
PAPER_SEARCH_MCP_IEEE_API_KEY=
PAPER_SEARCH_MCP_ACM_API_KEY=

Set a custom environment-file path when your credentials live outside the repository.

export PAPER_SEARCH_MCP_ENV_FILE=/absolute/path/to/.env

Alternatives and Related Tools

Pros

  • Free-first source strategy.
  • MIT-licensed project.
  • Claude Code skill included.
  • Broad academic source coverage.
  • Open-access fallback retrieval.
  • Local CLI access.

Cons

  • Local setup takes time.
  • Download coverage varies by source.
  • Upstream limits remain.
  • Google Scholar remains unreliable.
  • Some connectors stay incomplete.
  • PyPI package may lag.

FAQs

Q: Is Paper Search MCP free?
A: Paper Search MCP uses an MIT license and prioritizes public and open-access sources. Several optional API keys are available at no cost, though some providers apply rate limits or require registration.

Q: Does Paper Search MCP require an API key?
A: Most core searches can run without an API key. Unpaywall requires an email address, while CORE, Semantic Scholar, DOAJ, Zenodo, IEEE, and ACM use optional or source-specific credentials.

Q: Can Paper Search MCP download every academic paper?
A: No. The server can only retrieve PDFs that a selected provider, repository, or publisher link makes available. Metadata-only sources can identify a paper or DOI but cannot guarantee a full-text file.

Q: Is Google Scholar reliable in Paper Search MCP?
A: Google Scholar can return empty results because automated requests often trigger bot detection. Keep it as a secondary discovery path and use public metadata sources such as Crossref, OpenAlex, or Semantic Scholar for routine research.

Q: Does Paper Search MCP keep research queries private?
A: The server process runs locally, but each selected connector sends your query to an external academic provider. Avoid sending confidential research topics or unpublished project details through provider requests.

Latest MCP Servers

Paper Search

Search across academic databases, retrieve lawful open-access PDFs, and bring paper text into Claude Code or another MCP client.

Codebase Memory

Use local codebase memory for AI coding agents. Search symbols, map architecture, trace dependencies, and review change impact.

CVE

An MCP Server that connects Claude to 27 security tools for CVE triage, EPSS checks, KEV status, exploit lookup, and package scanning.

View More MCP Servers >>

Featured MCP Servers

Codebase Memory

Use local codebase memory for AI coding agents. Search symbols, map architecture, trace dependencies, and review change impact.

Notion

Notion's official MCP Server allows you to interact with Notion workspaces through the Notion API.

Claude Peers

An MCP server that enables Claude Code instances to discover each other and exchange messages instantly via a local broker daemon with SQLite persistence.

More Featured MCP Servers >>

FAQs

Q: What exactly is the Model Context Protocol (MCP)?

A: MCP is an open standard, like a common language, that lets AI applications (clients) and external data sources or tools (servers) talk to each other. It helps AI models get the context (data, instructions, tools) they need from outside systems to give more accurate and relevant responses. Think of it as a universal adapter for AI connections.

Q: How is MCP different from OpenAI's function calling or plugins?

A: While OpenAI's tools allow models to use specific external functions, MCP is a broader, open standard. It covers not just tool use, but also providing structured data (Resources) and instruction templates (Prompts) as context. Being an open standard means it's not tied to one company's models or platform. OpenAI has even started adopting MCP in its Agents SDK.

Q: Can I use MCP with frameworks like LangChain?

A: Yes, MCP is designed to complement frameworks like LangChain or LlamaIndex. Instead of relying solely on custom connectors within these frameworks, you can use MCP as a standardized bridge to connect to various tools and data sources. There's potential for interoperability, like converting MCP tools into LangChain tools.

Q: Why was MCP created? What problem does it solve?

A: It was created because large language models often lack real-time information and connecting them to external data/tools required custom, complex integrations for each pair. MCP solves this by providing a standard way to connect, reducing development time, complexity, and cost, and enabling better interoperability between different AI models and tools.

Q: Is MCP secure? What are the main risks?

A: Security is a major consideration. While MCP includes principles like user consent and control, risks exist. These include potential server compromises leading to token theft, indirect prompt injection attacks, excessive permissions, context data leakage, session hijacking, and vulnerabilities in server implementations. Implementing robust security measures like OAuth 2.1, TLS, strict permissions, and monitoring is crucial.

Q: Who is behind MCP?

A: MCP was initially developed and open-sourced by Anthropic. However, it's an open standard with active contributions from the community, including companies like Microsoft and VMware Tanzu who maintain official SDKs.

Get the latest & top AI tools sent directly to your email.

Subscribe now to explore the latest & top AI tools and resources, all in one convenient newsletter. No spam, we promise!