Paper Search

Paper Search

Unverified verified 13 jun 2026
Pricing: Free Last verified: 2026-06-13
Visit Website
Updated

TL;DR

Paper Search is an open-source Model Context Protocol (MCP) server designed to give AI agents direct access to global academic repositories. It enables researchers to search, retrieve metadata, and extract full-text content from sources like arXiv and PubMed through a unified interface. Its key differentiator is the support for eight simultaneous academic platforms, streamlining the transition from discovery to deep analysis within LLM workflows.

What Users Actually Pay

No user-reported pricing yet.

Our Take

Paper Search occupies a vital niche in the emerging agentic research stack by solving the 'data silo' problem inherent in academic literature. While dedicated research platforms like Elicit or Consensus offer polished web interfaces, Paper Search is built specifically for the Model Context Protocol (MCP), allowing it to live natively inside AI environments like Claude Desktop or Cursor. This enables a level of automation and context-injection that traditional search engines cannot match, as agents can autonomously iterate on search queries and ingest full-text PDFs for RAG-based analysis. From a market perspective, this is a developer-first tool that prioritizes utility over UI. It leverages existing APIs (SerpApi, Semantic Scholar) rather than building its own index, which ensures data freshness but introduces dependencies on external tokens and potential rate limits. The architecture is highly extensible, allowing developers to add new scholarly platforms easily, though it currently requires a technical setup that might alienate non-technical academics. The tool's biggest strength—its multi-source aggregation—is also its primary maintenance challenge. Since academic databases frequently change their access patterns, the reliability of individual connectors (like Google Scholar scraping) can vary. However, for users building custom research agents, it is currently one of the most comprehensive 'all-in-one' bridges to the scientific world. It is best suited for AI engineers, data scientists, and power-users of LLMs who need to perform automated literature reviews, systematic mapping, or large-scale document synthesis without manually downloading dozens of files.

Pros

  • + Aggregates search results from 8 major academic sources including arXiv, PubMed, bioRxiv, and Google Scholar.
  • + Supports full-text extraction and PDF downloading, not just metadata retrieval, enabling deeper AI analysis.
  • + Built on the Model Context Protocol (MCP), allowing seamless 'plug-and-play' integration with Claude and other agents.
  • + Provides standardized JSON metadata across all platforms, simplifying data processing and citation management.
  • + Completely free and open-source, allowing for local hosting and privacy-conscious research workflows.

Cons

  • - Requires manual setup and configuration of environment variables, which may be difficult for non-technical users.
  • - Depends on third-party API keys (e.g., SerpApi for Google Scholar or Semantic Scholar keys) for full functionality.
  • - Reliability is subject to upstream changes in academic database structures and API rate limits.
  • - Limited built-in filtering options compared to commercial research platforms like Scopus or Web of Science.

Sentiment Analysis

+0.86Very PositiveUpdated May 10, 2026

Sentiment has improved since last capture. The community sentiment is overwhelmingly positive, specifically praising the tool's ability to unify fragmented academic sources into a single stream for AI. Previous sentiment was unrated (0.00), showing a significant surge in interest following the adoption of the Model Context Protocol.

Sentiment Over Time

By Source

github+0.90

796 mentions

Sample quotes (1)
  • "An MCP server for searching and downloading academic papers... designed for seamless integration with large language models like Claude Desktop."
Reddit+0.85

12 mentions

Sample quotes (1)
  • "The paper-search-mcp is awesome for Claude. It searches 7 sources simultaneously with standardized output across all databases."
mcp-directories+0.80

5 mentions

Sample quotes (1)
  • "A Node.js MCP server for searching and downloading academic papers... Requires API keys for some platforms."

Agent Readiness

56/100

Paper Search is highly optimized for AI agent autonomy via the Model Context Protocol (MCP). It does not offer standard SaaS integrations like Zapier but instead functions as a 'skill' that can be natively called by LLMs to browse the web and fetch documents. Documentation is clear for developers, focusing on local deployment and environment variable configuration for API keys.

API Surface85
Public APIMCPJSON-RPCFree Tiernone
Protocol Support40
MCP (25 tools)
SDK Availability70
npm: @lrnwebcomponents/paper-searchnpm: litra-paper-search-mcpnpm: paper-search-agent-mcppypi: paper-search
Integration Ecosystem0
Claude DesktopCursorSmitheryLobeChat
Developer Experience65
Docs: goodVersioningChangelog

Last checked May 10, 2026

MCP Integrations

1 server25 tools6,240 total uses
Paper Search
Paper Searchadamamer20/paper-search-mcp-openai
smitheryRemoteHigh match

Search and download academic papers from arXiv, PubMed, bioRxiv, medRxiv, Google Scholar, Semantic Scholar, and IACR. Fetch PDFs and extract full text to accelerate literature reviews. Get consistent metadata for easier filtering, citation, and analysis.

6,240 uses
25 tools
  • searchDeep Research compatible search tool aggregating across sources.
  • fetchFetch full document content for a search result.
  • search_arxivSearch academic papers from arXiv. 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_pubmedSearch academic papers from PubMed. 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_biorxivSearch academic papers from bioRxiv. 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_medrxivSearch academic papers from medRxiv. 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_google_scholarSearch 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_iacrSearch 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). Returns: List of paper metadata in dictionary format.
  • download_arxivDownload 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_pubmedAttempt 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_biorxivDownload 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_medrxivDownload 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_iacrDownload 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_paperRead 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_paperRead 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_paperRead 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_paperRead 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_paperRead 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_semanticSearch 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 of paper metadata in dictionary format.
  • download_semanticDownload 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") - ARXIV:<id> (e.g., "ARXIV:2106.15928") - MAG:<id> (e.g., "MAG:112218234") - ACL:<id> (e.g., "ACL:W12-3903") - PMID:<id> (e.g., "PMID:19872477") - PMCID:<id> (e.g., "PMCID:2323736") - URL:<url> (e.g., "URL:https://arxiv.org/abs/2106.15928v1") save_path: Directory to save the PDF (default: './downloads'). Returns: Path to the downloaded PDF file.
  • read_semantic_paperRead 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/N18-3011") - ARXIV:<id> (e.g., "ARXIV:2106.15928") - MAG:<id> (e.g., "MAG:112218234") - ACL:<id> (e.g., "ACL:W12-3903") - PMID:<id> (e.g., "PMID:19872477") - PMCID:<id> (e.g., "PMCID:2323736") - URL:<url> (e.g., "URL:https://arxiv.org/abs/2106.15928v1") save_path: Directory where the PDF is/will be saved (default: './downloads'). Returns: str: The extracted text content of the paper.
  • search_crossrefSearch 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, and other scholarly content. Args: query: Search query string (e.g., 'machine learning', 'climate change'). max_results: Maximum number of papers to return (default: 10, max: 1000). **kwargs: Additional search parameters: - filter: CrossRef filter string (e.g., 'has-full-text:true,from-pub-date:2020') - sort: Sort field ('relevance', 'published', 'updated', 'deposited', etc.) - order: Sort order ('asc' or 'desc') Returns: List of paper metadata in dictionary format. Examples: # Basic search search_crossref("deep learning", 20) # Search with filters search_crossref("climate change", 10, filter="from-pub-date:2020,has-full-text:true") # Search sorted by publication date search_crossref("neural networks", 15, sort="published", order="desc")
  • get_crossref_paper_by_doiGet 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_crossrefAttempt 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: CrossRef is a citation database and doesn't provide direct PDF downloads. Use the DOI to access the paper through the publisher's website.
  • read_crossref_paperAttempt 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 supported. Note: CrossRef is a citation database and doesn't provide direct paper content. Use the DOI to access the paper through the publisher's website.

Last checked May 27, 2026

Reviews

0 reviews
Write a Review

No reviews yet. Be the first to review Paper Search!