/ Directory / Playground / paper-search-mcp
● Community openags ⚡ Instant

paper-search-mcp

by openags · openags/paper-search-mcp

Search and download academic papers across arXiv, PubMed, bioRxiv, Semantic Scholar and 20+ other sources — free-first strategy.

openags/paper-search-mcp is a Python MCP that unifies academic search and download across preprint servers, biomedical DBs, metadata providers, and open-access repositories. Paid sources (IEEE, ACM) supported when you supply a key.

Why use it

Key features

Live Demo

What it looks like in practice

paper-search.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "paper-search": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "paper-search": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "paper-search": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "paper-search": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "paper-search",
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "paper-search": {
      "command": {
        "path": "uvx",
        "args": [
          "paper-search-mcp"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add paper-search -- uvx paper-search-mcp

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use paper-search-mcp

How to build a literature review bibliography from a prompt

👤 Researchers, grad students ⏱ ~30 min intermediate

When to use: New topic, need a starting set of 20-50 papers.

Prerequisites
  • uv — brew install uv
Flow
  1. Broad search
    search_papers 'mechanistic interpretability attention heads' across arXiv, Semantic Scholar, OpenAlex. Return top 30 by citations.✓ Copied
    → Cross-source list with titles, authors, citation counts
  2. Download the winners
    For the top 10 by citation, download_with_fallback to /papers/interp/.✓ Copied
    → PDFs saved
  3. Extract abstracts
    Read each PDF's abstract and produce a grouped summary.✓ Copied
    → Grouped bibliography

Outcome: Starter bibliography you can actually read.

Pitfalls
  • Duplicate entries across sources — Deduplicate by DOI before ranking
  • Closed-access papers without OA versions — Use download_with_fallback which tries OA mirrors (arXiv, Unpaywall) first
Combine with: filesystem

How to find the latest papers on a topic since a date

👤 Researchers tracking a fast-moving area ⏱ ~20 min beginner

When to use: Weekly/monthly scan.

Flow
  1. Date-bounded search
    search_arxiv 'constitutional AI' submitted after 2026-01-01. Sort by date desc.✓ Copied
    → Recent list
  2. Read new abstracts
    For each new paper, get the abstract and tag: confirms prior work / extends / contradicts / unrelated.✓ Copied
    → Tagged triage

Outcome: Up-to-date view without wading through the whole feed.

Combine with: notion

How to cross-check a clinical claim in PubMed + Europe PMC

👤 Clinicians, biotech researchers ⏱ ~25 min intermediate

When to use: A patient-facing doc makes a claim and you want to verify.

Flow
  1. Search PubMed
    search_pubmed 'metformin cognitive decline' — RCTs only, 2020+.✓ Copied
    → RCT list
  2. Pull full context from Europe PMC if needed
    For the top 5, check if Europe PMC has the full text (OA).✓ Copied
    → Full texts where available

Outcome: Source-backed verification.

Pitfalls
  • Do not rely on abstracts alone for clinical decisions — Read the actual methodology before citing

Combinations

Pair with other MCPs for X10 leverage

paper-search + markdownify

Convert downloaded PDFs to markdown for RAG ingestion

For every PDF in /papers/interp/, run pdf-to-markdown and save to /kb/papers/.✓ Copied
paper-search + deep-research

Cross-check a deep research report's sources against arXiv

Given this deep research report, identify any 2024-2026 arXiv papers missing from the citations.✓ Copied
paper-search + notion

Maintain a research reading log

Add each newly-downloaded paper to the Notion 'Reading Log' database with title, authors, DOI, and a 3-line summary.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
search_papers query, sources?: str[], limit?: int, year_min?: int Multi-source search free (public APIs)
download_with_fallback doi_or_arxiv_id, dest_dir Get PDF via best available route free
search_arxiv query, sort?, year_min? arXiv-specific free
download_arxiv arxiv_id, dest_dir Get arXiv PDF free
search_pubmed query, filters? Biomedical search free
search_semantic_scholar query Citation-aware search free
search_biorxiv query Biology preprints free

Cost & Limits

What this costs to run

API quota
Public APIs have per-IP rate limits (arXiv 3 req/s, PubMed 3/s without key)
Tokens per call
Search metadata: 200-1000 tokens per paper; PDFs are file-based (no token cost)
Monetary
Free for public sources; paid sources (IEEE, ACM) need their own keys
Tip
Get a free NCBI API key for 10x PubMed rate; arXiv has no key but respect the 3 req/s limit.

Security

Permissions, secrets, blast radius

Minimum scopes: Filesystem write to your download directory Optional keys for paid sources
Credential storage: Env vars for optional API keys
Data egress: Hits the public academic APIs you enable
Never grant: Nothing destructive — all read/download

Troubleshooting

Common errors and fixes

429 rate limit

Throttle — arXiv needs 3 req/s max, PubMed without key is 3/s. Back off.

download_with_fallback fails for a closed-access DOI

No legal free source exists. Use your library's subscription; this tool only uses OA routes.

Search returns fewer results than the source's website

Some APIs have narrower indexes than their UIs. Cross-check with search_semantic_scholar which has broad coverage.

PDF downloaded but unreadable

Source may return an HTML splash page instead of PDF; check file type and report via the issue tracker.

Verify: file path/to/downloaded.pdf

Alternatives

paper-search-mcp vs others

AlternativeWhen to use it insteadTradeoff
arxiv-mcpYou only need arXiv, nothing elseSingle-source only
deep-research MCPYou want synthesis, not just retrievalLLM costs; different shape

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills