Paper Search MCP

by openags• 3k•• Scanned•Claim this listing•Request removal
Research & Analysisai scientistarxiv papersmcp serverpaper search

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

Paper Search MCP is an open-source mcp server by openags, written mainly in Python, with 2,962 GitHub stars and the MIT license. Its code was last updated Oct 2, 2026. The latest PyPI release is paper-search-mcp 0.1.4, published Jul 2, 2026, with 3,250 downloads last week.

Scan summary: scanned Nov 5, 2026 at commit cab1b5c. Seen able to read environment and secrets, connect to the internet. Scan policy

How to install Paper Search MCP

Built from the start command in the project's README: uvx paper-search-mcp. Check the README for required keys or settings.

Claude Code · Terminal
claude mcp add paper-search-mcp -- uvx paper-search-mcp
Claude Desktop · claude_desktop_config.json
{
  "mcpServers": {
    "paper-search-mcp": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ]
    }
  }
}
Cursor · .cursor/mcp.json
{
  "mcpServers": {
    "paper-search-mcp": {
      "command": "uvx",
      "args": [
        "paper-search-mcp"
      ]
    }
  }
}
VS Code · Terminal
code --add-mcp '{"name":"paper-search-mcp","command":"uvx","args":["paper-search-mcp"]}'

What Paper Search MCP can touch

  • Run shell commandsNot seen in this scan
  • Run dynamic codeNot seen in this scan
  • Read or write filesNot seen in this scan
  • Read environment and secretsFound in the code by our scan
  • Control a web browserNot seen in this scan
  • Connect to databasesNot seen in this scan
  • Read or send messagesNot seen in this scan
  • Touch money or tradingNot seen in this scan
  • Connect to the internetFound in the code by our scan

"Not seen" means our checks did not find it, and the tool may still do it. Covers commit cab1b5c, Nov 5, 2026. See the scan policy.

Before you install Paper Search MCP

AgenticMart scanned Paper Search MCP on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What it can access

  • An MCP server is a program your AI app starts and talks to. A local one runs with your user's permissions: it can see the files, environment variables and network your account can.

Before you install

  1. Pin the version you reviewed instead of always installing the latest release.
  2. Read the tool list or scripts before the first run, and keep approval prompts on for actions that write, send or delete.
  • Maintained by openags on GitHub, 2,962 stars and 305 forks. Popularity is not proof of safety.
  • Last code change: Oct 2, 2026.
  • Open-source license: MIT.

Tools Paper Search MCP exposes (71)

Listed by the server itself during our scan of commit cab1b5c.

  • get_search_cache_status

    Show opt-in local search cache settings and entry count, never query contents. Enable/disable with PAPER_SEARCH_MCP_SEARCH_CACHE_ENABLED and restart the server. Defaults to disabled; inspect docs/SEARCH_CACHE.md for TTL/size knobs.

  • clear_search_cache

    Delete all cached search results at the configured local cache path. Works while caching is disabled and never creates a missing database. Does not delete downloaded PDFs or other files. New searches can fill the cache again if enabled; disable caching and restart to stop future writes.

  • search_papers

    Unified top-level search across all configured academic platforms. Args: query: Search query string. max_results_per_source: Max results to fetch from each selected source. sources: Comma-separated source names or 'all'. Available: arxiv,pubmed,biorxiv,medrxi

  • search_wos

    Explicit Web of Science Starter metadata search; never part of 'all'. Requires a runtime WOS_API_KEY (PAPER_SEARCH_MCP_ prefix supported). Native WoS query syntax, max_results 0..100 (at most two requests). No PDF, abstract, or full-text capability. API errors are not empty results.

  • search_scopus

    Explicit Scopus metadata search, never part of 'all'. Requires runtime SCOPUS_API_KEY (PAPER_SEARCH_MCP_ prefix supported). max_results 0..100; at most four pages. COMPLETE requires extra entitlement. sort: relevance, coverDate, citedby-count, creator; date: YYYY or YYYY-YYYY. Field

  • read_scopus_paper

    Retrieve Scopus abstract metadata, with explicit ScienceDirect opt-in. full_text=True attempts one article retrieval by a verified DOI/PII. Returns status full_text, abstract_only, or unavailable, plus reason. Never guesses by title or writes PDFs; typed API failures are not empty text.

  • search_arxiv

    Search academic papers from arXiv. Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). sort_by: Sort criterion — 'relevance', 'submittedDate', or 'lastUpdatedDate' (default: 'relevance'). sor

  • search_pubmed

    Search academic papers from PubMed. Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). sort: Sort order — 'relevance' or 'pub_date' (default: 'relevance'). Returns: List of paper metadat

  • search_biorxiv

    Search academic papers from bioRxiv. Note: bioRxiv does not provide full-text keyword search. The query may be a DOI, a date range such as '2024-01-01/2024-01-31', a category such as 'bioinformatics', or an empty string for recent papers. Args: query: DOI, date range, categ

  • search_medrxiv

    Search academic papers from medRxiv. Note: medRxiv API filters by category name within the last 30 days, not full-text keyword search. Use a category keyword such as 'infectious_diseases', 'cardiovascular_medicine', 'oncology', etc. Args: query: Category name to filter by (

  • search_google_scholar

    Search academic papers from Google Scholar. Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.

  • search_iacr

    Search academic papers from IACR ePrint Archive. Args: query: Search query string (e.g., 'cryptography', 'secret sharing'). max_results: Maximum number of papers to return (default: 10). fetch_details: Whether to fetch detailed information for each paper (default: True).

  • download_arxiv

    Download PDF of an arXiv paper. Args: paper_id: arXiv paper ID (e.g., '2106.12345'). save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.

  • download_pubmed

    Attempt to download PDF of a PubMed paper. Args: paper_id: PubMed ID (PMID). save_path: Directory to save the PDF (default: './downloads'). Returns: str: Message indicating that direct PDF download is not supported.

  • download_biorxiv

    Download PDF of a bioRxiv paper. Args: paper_id: bioRxiv DOI. save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.

  • download_medrxiv

    Download PDF of a medRxiv paper. Args: paper_id: medRxiv DOI. save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.

  • download_iacr

    Download PDF of an IACR ePrint paper. Args: paper_id: IACR paper ID (e.g., '2009/101'). save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.

  • read_arxiv_paper

    Read and extract text content from an arXiv paper PDF. Args: paper_id: arXiv paper ID (e.g., '2106.12345'). save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.

  • read_pubmed_paper

    Read and extract text content from a PubMed paper. Args: paper_id: PubMed ID (PMID). save_path: Directory where the PDF would be saved (unused). Returns: str: Message indicating that direct paper reading is not supported.

  • read_biorxiv_paper

    Read and extract text content from a bioRxiv paper PDF. Args: paper_id: bioRxiv DOI. save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.

  • read_medrxiv_paper

    Read and extract text content from a medRxiv paper PDF. Args: paper_id: medRxiv DOI. save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.

  • read_iacr_paper

    Read and extract text content from an IACR ePrint paper PDF. Args: paper_id: IACR paper ID (e.g., '2009/101'). save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.

  • search_semantic

    Search academic papers from Semantic Scholar. Args: query: Search query string (e.g., 'machine learning'). year: Optional year filter (e.g., '2019', '2016-2020', '2010-', '-2015'). max_results: Maximum number of papers to return (default: 10). Returns: List o

  • download_semantic

    Download PDF of a Semantic Scholar paper. Args: paper_id: Semantic Scholar paper ID, Paper identifier in one of the following formats: - Semantic Scholar ID (e.g., "649def34f8be52c8b66281af98ae884c09aef38b") - DOI:<doi> (e.g., "DOI:10.18653/v1/N18-3011")

  • read_semantic_paper

    Read and extract text content from a Semantic Scholar paper. Args: paper_id: Semantic Scholar paper ID, Paper identifier in one of the following formats: - Semantic Scholar ID (e.g., "649def34f8be52c8b66281af98ae884c09aef38b") - DOI:<doi> (e.g., "DOI:10.18653/v1

  • search_crossref

    Search academic papers from CrossRef database. CrossRef is a scholarly infrastructure organization that provides persistent identifiers (DOIs) for scholarly content and metadata. It's one of the largest citation databases covering millions of academic papers, journals, books,

  • get_crossref_paper_by_doi

    Get a specific paper from CrossRef by its DOI. Args: doi: Digital Object Identifier (e.g., '10.1038/nature12373'). Returns: Paper metadata in dictionary format, or empty dict if not found. Example: get_crossref_paper_by_doi("10.1038/nature12373")

  • download_crossref

    Attempt to download PDF of a CrossRef paper. Args: paper_id: CrossRef DOI (e.g., '10.1038/nature12373'). save_path: Directory to save the PDF (default: './downloads'). Returns: str: Message indicating that direct PDF download is not supported. Note:

  • download_scihub

    Download paper PDF via Sci-Hub (optional fallback connector). Args: identifier: DOI, title, PMID, or paper URL. save_path: Directory to save the PDF. base_url: Sci-Hub mirror URL. Returns: Downloaded PDF path on success; error message on failure.

  • download_with_fallback

    Try source-native download, OA repositories, Unpaywall, then optional Sci-Hub. Args: source: Source name (arxiv, biorxiv, medrxiv, iacr, semantic, crossref, pubmed, pmc, core, europepmc, citeseerx, doaj, base, zenodo, hal, ssrn). paper_id: Source-native paper identifier.

  • read_crossref_paper

    Attempt to read and extract text content from a CrossRef paper. Args: paper_id: CrossRef DOI (e.g., '10.1038/nature12373'). save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: Message indicating that direct paper reading is not

  • search_openalex

    Search academic papers from OpenAlex. Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). filter: OpenAlex filter string. Examples: - 'open_access.is_oa:true,from_publication_

  • extract_sections

    Split an already-downloaded PDF into heuristic heading-based sections. pdf_path must be relative to PAPER_SEARCH_MCP_SECTION_PDF_ROOT (default ./downloads); absolute paths, traversal and symlinks are rejected. Reads at most 20 MiB, 100 pages, 200000 characters and 100 sections, with a 6

  • get_citing_papers

    Get one hop of papers citing a DOI or OpenAlex work ID (never a title). Most-cited first. Limits: 500 results, 5 pages, 8 HTTP requests, 60 seconds. The seed lookup and redirects consume requests; no retries or enrichment. Returns papers with pagination/truncation metadata. API failures

  • get_referenced_papers

    Get one hop of papers referenced by a DOI or OpenAlex work ID. Same budgets/error contract as get_citing_papers. Missing OpenAlex reference coverage may yield an empty successful list; it does not prove no references exist in the original paper. No title guessing or multi-hop graph trav

  • search_pmc

    Search academic papers from PubMed Central (PMC). Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.

  • search_core

    Search academic papers from CORE. Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.

  • search_europepmc

    Search academic papers from Europe PMC. Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.

  • search_dblp

    Search academic papers from dblp computer science bibliography. Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.

  • search_openaire

    Search academic papers from OpenAIRE European Open Access infrastructure. Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.

Paper Search MCP is an open-source mcp server by openags, written mainly in Python. MCP, CLI, Skills for searching and downloading academic papers from multiple sources like arXiv, PubMed, bioRxiv, etc.

At a glance

Stars
3k
Forks
305
Language
Python
License
MIT
Created
Apr 2025
Last update
Oct 2, 2026
Type
MCP Server
Price
Free

Topics

ai-scientistarxiv-papersmcp-serverpaper-search

Questions about Paper Search MCP

What is Paper Search MCP?

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

Who maintains Paper Search MCP?

Paper Search MCP is maintained by openags on GitHub (openags/paper-search-mcp). AgenticMart lists it from public repository data.

Is Paper Search MCP safe to use?

AgenticMart scanned Paper Search MCP on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.

What license does Paper Search MCP use?

It is published under the MIT license.

Paper Search MCP alternatives

View more →

Similar mcp servers in Research & Analysis, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Paper Search MCP (this page)
openags
3kMITOct 2, 2026Scanned, no flagged issues
Worldmonitor
koala73
90kAGPL-3.0Nov 1, 2026Scanned, no flagged issues
GPT Researcher
assafelovic
30kApache-2.0Oct 10, 2026Scanned, no flagged issues
Auto Claude Code Research In Sleep
wanshuiyin
18kMITNov 1, 2026Scanned, no flagged issues
Deep Research
u14app
4.7kMITJun 18, 2026Scanned, no flagged issues
MCP Server Chart
antvis
4.4kMITAug 27, 2026Scanned, no flagged issues