paper-search-mcp
by openags
A MCP for searching and downloading academic papers from multiple sources like arXiv, PubMed, bioRxiv, etc.
# Add to your Claude Code skills
git clone https://github.com/openags/paper-search-mcpPaper Search MCP
A Model Context Protocol (MCP) server for searching and downloading academic papers from multiple sources, including arXiv, PubMed, bioRxiv, and Sci-Hub (optional). Designed for seamless integration with large language models like Claude Desktop.
Table of Contents
Overview
paper-search-mcp is a Python-based MCP server that enables users to search and download academic papers from various platforms. It provides tools for searching papers (e.g., search_arxiv) and downloading PDFs (e.g., download_arxiv), making it ideal for researchers and AI-driven workflows. Built with the MCP Python SDK, it integrates seamlessly with LLM clients like Claude Desktop.
Features
- Multi-Source Support: Search and download papers from arXiv, PubMed, bioRxiv, medRxiv, Google Scholar, IACR ePrint Archive, Semantic Scholar.
- Standardized Output: Papers are returned in a consistent dictionary format via the
Paperclass. - Asynchronous Tools: Efficiently handles network requests using
httpx. - MCP Integration: Compatible with MCP clients for LLM context enhancement.
- Extensible Design: Easily add new academic platforms by extending the
academic_platformsmodule.
Installation
paper-search-mcp can be installed using uv or pip. Below are two approaches: a quick start for immediate use and a detailed setup for development.
Installing via Smithery
To install paper-search-mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @openags/paper-search-mcp --client claude
Quick Start
For users who want to quickly run the server:
-
Install Package:
uv add paper-search-mcp -
Configure Claude Desktop: Add this configuration to
~/Library/Application Support/Claude/claude_desktop_config.json(Mac) or%APPDATA%\Claude\claude_desktop_config.json(Windows):{ "mcpServers": { "paper_search_server": { "command": "uv", "args": [ "run", "--directory", "/path/to/your/paper-search-mcp", "-m", "paper_search_mcp.server" ...