Paper Search MCP
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 mcp add paper-search-mcp -- uvx paper-search-mcp{
"mcpServers": {
"paper-search-mcp": {
"command": "uvx",
"args": [
"paper-search-mcp"
]
}
}
}{
"mcpServers": {
"paper-search-mcp": {
"command": "uvx",
"args": [
"paper-search-mcp"
]
}
}
}code --add-mcp '{"name":"paper-search-mcp","command":"uvx","args":["paper-search-mcp"]}'What Paper Search MCP can touch
- Our checks did not find this. The tool may still do it.Run shell commandsNot seen in this scan
- Our checks did not find this. The tool may still do it.Run dynamic codeNot seen in this scan
- Our checks did not find this. The tool may still do it.Read or write filesNot seen in this scan
- Seen in this scan, either in the code or while it ran.Read environment and secretsFound in the code by our scan
- Our checks did not find this. The tool may still do it.Control a web browserNot seen in this scan
- Our checks did not find this. The tool may still do it.Connect to databasesNot seen in this scan
- Our checks did not find this. The tool may still do it.Read or send messagesNot seen in this scan
- Our checks did not find this. The tool may still do it.Touch money or tradingNot seen in this scan
- Seen in this scan, either in the code or while it ran.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
- Pin the version you reviewed instead of always installing the latest release.
- 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_statusShow 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_cacheDelete 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_papersUnified 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_wosExplicit 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_scopusExplicit 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_paperRetrieve 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_arxivSearch 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_pubmedSearch 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_biorxivSearch 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_medrxivSearch 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_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).
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 o
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")
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
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,
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:
download_scihubDownload 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_fallbackTry 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_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
search_openalexSearch 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_sectionsSplit 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_papersGet 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_papersGet 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_pmcSearch 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_coreSearch 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_europepmcSearch 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_dblpSearch 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_openaireSearch 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
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.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| Paper Search MCP (this page) openags | 3k | MIT | Oct 2, 2026 | Scanned, no flagged issues |
| Worldmonitor koala73 | 90k | AGPL-3.0 | Nov 1, 2026 | Scanned, no flagged issues |
| GPT Researcher assafelovic | 30k | Apache-2.0 | Oct 10, 2026 | Scanned, no flagged issues |
| Auto Claude Code Research In Sleep wanshuiyin | 18k | MIT | Nov 1, 2026 | Scanned, no flagged issues |
| Deep Research u14app | 4.7k | MIT | Jun 18, 2026 | Scanned, no flagged issues |
| MCP Server Chart antvis | 4.4k | MIT | Aug 27, 2026 | Scanned, no flagged issues |