SkillAgentSearch skills...

paper-search-mcp

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

Install / Use

claude mcp add openags -- npx -y github:openags/paper-search-mcp

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

92/100

Supported Platforms

Claude Code
Claude Desktop

Tags

Our assessment of paper-search-mcp

paper-search-mcp scores 92/100 on our quality scale, 93rd of 442 Education & Research skills we index (top 22%).

Its MCP Server is 26 KB long, well organised into 36 sections with 21 code examples: a thorough specification that gives an agent plenty to work with.

With 3,004 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
30/30
Structure
20/20
Description
12/15
Adoption
15/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 35 days ago, so paper-search-mcp is actively maintained.
  • Our last check on 2026-10-21 found the source still online.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands (2 minor notes below). An AI review of the same text found nothing harmful.

  • noteInstalls by piping a downloaded script into a shellline 268
    curl -LsSf https://astral.sh/uv/install.sh | sh
  • noteInstalls by piping a downloaded script into a shellline 425
    curl -LsSf https://astral.sh/uv/install.sh | sh

AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

paper-search-mcp compared with similar skills

All 4 of these similar skills score higher than paper-search-mcp; compare them before choosing.

SkillScoreStarsUpdatedFormat
paper-search-mcp (this skill)by openags923.0k35d agoMCP Server
Agent-Reachby Panniantong100109.5k1d agoCLAUDE.md
headroomby headroomlabs-ai10079.0ktodayCLAUDE.md
last30days-skillby mvanhorn10066.8ktodayCLAUDE.md
CowAgentby zhayujie10047.8ktodayCLAUDE.md

Frequently asked questions

How do I install paper-search-mcp?
Run claude mcp add openags -- npx -y github:openags/paper-search-mcp. The install tabs above show the steps for each supported agent.
Which AI agents does paper-search-mcp work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is paper-search-mcp safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands (2 minor notes below). An AI review of the same text found nothing harmful. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is paper-search-mcp still maintained?
The repository was last updated 35 days ago, so paper-search-mcp is actively maintained.

Paper Search MCP

A Model Context Protocol (MCP) server for searching and downloading academic papers from multiple sources. The project follows a free-first strategy: prioritize open and public data sources, support optional API keys when they improve stability or coverage, and keep source-specific connectors extensible for advanced users.

PyPI License Python smithery badge


Table of Contents


Overview

paper-search-mcp is a Python-based tool for searching and downloading academic papers from various platforms. It provides tools for searching papers, downloading PDFs, and extracting text, making it ideal for researchers and AI-driven workflows. It can be used as an MCP server (for Claude Desktop and other MCP clients) or as a Claude Code skill with a CLI interface.

Project Principles

  • Free-First: Public and open sources are the default roadmap. Paid or restricted sources are not the core direction of this project.
  • Optional API Keys: API keys are supported only when they improve stability, rate limits, or metadata quality. The MCP should still be usable without them whenever possible.
  • LLM-Friendly Retrieval: Search results should be standardized, deduplicated, and as complete as possible for downstream LLM workflows.
  • Source Transparency: Different sources have different strengths. The MCP should make those tradeoffs explicit instead of pretending every source supports full-text retrieval.

MCP Authorization Compatibility

The bundled MCP server currently runs locally over stdio. It does not implement OAuth 2.1 protected-resource metadata, bearer-token validation, scopes, or HTTP 401/403 authorization responses.

For a remote protected deployment, put the server behind an MCP/HTTP gateway or reverse proxy that enforces OAuth and forwards only authorized requests. Native authenticated HTTP transport requires a separate transport and security design and is intentionally outside this small stabilization batch.


Features

  • Two-Layer Architecture:
    • Layer 1 (Unified Tooling): High-level search_papers for multi-source concurrent search & deduplication, and download_with_fallback relying on publisher open access links with sequential fallbacks.
    • Layer 2 (Platform Connectors): Modular connectors for specific academic platforms (arXiv, PubMed, bioRxiv, Semantic Scholar, etc.) equipped with intelligent DOI extraction via regex text analysis or API fields.
  • Multi-Source Support: Search and download papers from arXiv, PubMed, bioRxiv, medRxiv, Google Scholar, IACR ePrint Archive, Semantic Scholar, Crossref, OpenAlex, PubMed Central (PMC), CORE, Europe PMC, dblp, OpenAIRE, CiteSeerX, DOAJ, BASE, Zenodo, HAL, SSRN, Unpaywall (DOI lookup), and optional Sci-Hub workflows.
  • Standardized Output: Papers are returned in a consistent dictionary format via the Paper class.
  • Free-First Design: Open and public sources are prioritized before any optional commercial or restricted integrations.
  • Optional API-Key Enhancement: Sources like Semantic Scholar can work better with a user-provided API key, but are not intended to force paid usage.
  • Discovery + Retrieval Workflow: Google Scholar and Crossref can be used for discovery and DOI backfilling, while open repositories and publisher links are used for lawful full-text resolution where available.
  • OA-First Fallback Chain: download_with_fallback now follows source-native download → OpenAIRE/CORE/Europe PMC/PMC discovery → Unpaywall DOI resolution → optional Sci-Hub.
  • MCP Integration: Compatible with MCP clients for LLM context enhancement.
  • Extensible Design: Easily add new academic platforms by extending the academic_platforms module.

Source Strategy

The long-term goal is not to depend on a single search engine, but to combine multiple free and public sources with clear roles:

  • Open metadata backbone: Crossref, OpenAlex, Semantic Scholar, dblp, CiteSeerX, SSRN, Unpaywall (DOI-centric OA metadata).
  • Discipline-specific sources: arXiv, PubMed, PubMed Central, Europe PMC, IACR.
  • Open-access full-text sources: arXiv, PMC, CORE, OpenAIRE, DOAJ, BASE, Zenodo, HAL, publisher open-access links.
  • Discovery and DOI recovery: Google Scholar can be useful for finding titles, versions, and DOI clues when other public metadata sources are incomplete.

Recommended free-first roadmap:

  1. Keep current public sources stable.
  2. Add OpenAlex as a broad free metadata source.
  3. Add PubMed Central and Europe PMC for stronger biomedical full-text access.
  4. Add CORE and OpenAIRE for repository-based open-access retrieval.
  5. Use Google Scholar mainly as a discovery fallback, not as the primary canonical source.

Platform Capability Matrix

This matrix reflects verified live-integration results from functional and end-to-end regression tests in this repository. Columns show the highest capability level observed under normal conditions.

| Platform | Search | Download | Read | Notes | |---|---|---|---|---| | arXiv | ✅ | ✅ | ✅ | Open API; reliable | | PubMed | ✅ | ❌ | ⚠️ info-only | Open API; reliable | | bioRxiv | ✅ | ✅ | ✅ | Open API; reliable | | medRxiv | ✅ | ✅ | ✅ | Open API; reliable | | Google Scholar | ⚠️ | ❌ | ❌ | Bot-detection active; set PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL | | IACR | ✅ | ✅ | ✅ | Open API; reliable | | Semantic Scholar | ✅ | ✅ (OA) | ✅ (OA) | Works without key (rate-limited); key improves limits; key rejection (403) retried automatically without key | | Crossref | ✅ | ❌ | ⚠️ info-only | Open API; reliable | | OpenAlex | ✅ | ❌ | ⚠️ info-only | Open API; free API key improves daily limits | | PMC | ✅ | ✅ (OA only) | ✅ (OA only) | OA PDFs only; direct download may be blocked by some proxy environments | | CORE | ✅ | ✅ (record-dependent) | ✅ (record-dependent) | Free key recommended; connector retries with backoff and falls back to key-less on 401/403 | | Europe PMC | ✅ | ✅ (OA) | ✅ (OA) | OA PDFs only; direct download may be blocked by some proxy environments | | dblp | ✅ | ❌ | ⚠️ info-only | Open API; reliable | | OpenAIRE | ✅ | ❌ | ❌ | Open API; retries 3× with escalating request profiles on transient 403 | | CiteSeerX | ⚠️ | ✅ (record-dependent) | ⚠️ | API endpoint intermittently unavailable / redirects to web archive | | DOAJ | ✅ | ⚠️ (URL-dependent) | ⚠️ (URL-dependent) | PDF availability varies by article; free key raises rate limits | | BASE | ⚠️ | ✅ (record-dependent) | ✅ (record-dependent) | OAI-PMH endpoint requires institutional IP registration; returns empty gracefully otherwise | | Zenodo | ✅ | ✅ (record-dependent) | ✅ (record-dependent) | Open API; reliable | | HAL | ✅ | ✅ (record-dependent) | ✅ (record-dependent) | Open API; reliable | | SSRN | ⚠️ | ⚠️ best-effort | ⚠️ best-effort | 403 bot-detection active; public PDF only | | Unpaywall | ✅ (DOI lookup) | ❌ | ❌ | Requires PAPER_SEARCH_MCP_UNPAYWALL_EMAIL | | Sci-Hub (optional) | ⚠️ fallback-only | ✅ | ❌ | Optional; unstable mirrors; user responsibility | | IEEE Xplore 🔑 | 🚧 skeleton | 🚧 skeleton | 🚧 skeleton | Requires PAPER_SEARCH_MCP_IEEE_API_KEY to activate | | ACM DL 🔑 | 🚧 skeleton | 🚧 skeleton | 🚧 skeleton | Requires PAPER_SEARCH_MCP_ACM_API_KEY to activate |

✅ = reliable in live tests. ⚠️ = works but subject to upstream instability or access restrictions. ❌ = not supported. 🔑 = key required. 🚧 = skeleton only.


Credential & API Key Requirements

All keys are optional unless noted. Configure them in ~/.config/paper-search-mcp/.env (preferred) or as shell exports.

| Environment Variable | Provider | Required? | How to obtain | |---|---|---|---| | PAPER_SEARCH_MCP_UNPAYWALL_EMAIL | Unpaywall | Yes (Unpaywall disabled without it) | Any valid email; register at unpaywall.org | | PAPER_SEARCH_MCP_CORE_API_KEY | CORE | Recommended | Free at core.ac.uk/services/api | | PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY | Semantic Scholar | Optional | Free at semanticscholar.org — improves rate limits | | PAPER_SEARCH_MCP_OPENALEX_API_KEY | OpenAlex | Optional | Free at openalex.org/settings/api; increases the keyless daily budget 10x | | PAPER_SEARCH_MCP_OPENALEX_EMAIL | OpenAlex | Optional | Contact email used in the OpenAlex User-Agent | | PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL | Google Scholar | Optional | Your HTTP/HTTPS proxy URL — bypasses bot-detection | | PAPER_SEARCH_MCP_DOAJ_API_KEY | DOAJ | Optional | Free at doaj.org — raises hourly rate limit | | PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN | Zenodo | Optional | Free at zenodo.org — required for private records | | PAPER_SEARCH_MCP_IEEE_API_KEY | IEEE Xplore | Required to activate | Free at developer.ieee.org | | PAPER_SEARCH_MCP_ACM_API_KEY | ACM DL | Required to activate | See libraries.acm.org/digital-library/acm-open |

All variables follow the PAPER_SEARCH_MCP_<NAME> prefix scheme. Legacy names without the prefix (e.g. CORE_API_KEY, UNPAYWALL_EMAIL) are still supported for backward compatibility.


Known Upstream Limitations

Some search failures are caused by external provider instability, not by bugs in this project:

| Source | Symptom | Cause | Workaround | |---|---|---|---| | Google Scholar | Returns 0 results / empty HTML | Bot-detection (CAPTCHA) | Set PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL to a proxy | | Semantic Scholar | 429 rate-limited responses | Anonymous access rate limit | Set PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY; if key is rejected (403) connector automatically retries without key | | OpenAlex | 403/429 or daily quota errors | Anonymous access daily limit | Set PAPER_SEARCH_MCP_OPENALEX_API_KEY | | CORE | 500 / timeout errors | Unauthenticated rate limiting | Set PAPER_SEARCH_MCP_CORE_API_KEY (free); connector retries with exponential backoff and falls back to key-less on 401/403 | | OpenAIRE | Transient 403 responses | IP-based session rate limiting | Connector retries 3× per profile, escalating: plain session → XML Accept header → raw requests.get with Mozilla UA | | CiteSeerX | 404 via web archive redirect | PSU endpoint intermittently redirects to archive | No workaround; connector returns empty gracefully | | BASE | Search returns 0 results | OAI-PMH endpoint requires institutional IP registration | Register at

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars3.0k
CategoryEducation
Updated1mo ago
Forks304

Languages

Python

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions