Academic paper full-text fetcher - MCP server for Claude Code with Open Access, arXiv, and EZproxy support
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"paper-fetcher": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
An MCP server and CLI tool for fetching academic paper full texts. Designed to work as a Claude Code MCP tool, enabling AI-assisted literature review and research workflows.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in education / search
Web and local search using Brave Search API
Production ready MCP server with real-time search, extract, map & crawl.
Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
MCP Security Weekly
Get CVE alerts and security updates for Paper Fetcher and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP server and CLI tool for fetching academic paper full texts. Designed to work as a Claude Code MCP tool, enabling AI-assisted literature review and research workflows.
paper-fetcher uses a three-layer strategy to maximize access to full-text papers:
Layer 1: Open Access (Unpaywall + arXiv) ← free, no login required
Layer 2: Institutional proxy (EZproxy) ← requires university login
Layer 3: Metadata only (Semantic Scholar) ← always available
For each paper request, it tries Open Access sources first. If the paper is paywalled, it falls back to your institution's EZproxy. Metadata and search are always available via Semantic Scholar.
# Clone the repository
git clone https://github.com/YOUR_USERNAME/paper-fetcher.git
cd paper-fetcher
# Install in development mode
pip install -e .
Register paper-fetcher as an MCP server in Claude Code:
claude mcp add paper-fetcher -- paper-fetcher-mcp
After restarting Claude Code, you can ask Claude to search and fetch papers directly:
"Search for recent papers on perovskite solar cells" "Fetch the full text of DOI 10.1038/s41566-024-01234-5"
# Opens a browser for manual login. Cookies are saved for future use.
paper-fetcher login
# Force re-login even if session appears valid
paper-fetcher login --force
# Basic search
paper-fetcher search "organic photovoltaics stability"
# Limit results and filter by year
paper-fetcher search "perovskite solar cells" --limit 20 --year 2022-2025
# Search and fetch full texts
paper-fetcher search "silver nanowire transparent electrode" --fetch
# By DOI
paper-fetcher fetch "10.1038/s41566-024-01234-5"
# By URL
paper-fetcher fetch "https://www.nature.com/articles/s41566-024-01234-5"
# Output as markdown
paper-fetcher fetch "10.1038/s41566-024-01234-5" --format markdown
# Create a file with one DOI per line
paper-fetcher batch dois.txt --format markdown --output ./papers
# View current config
paper-fetcher config-cmd
# Set email (required for Unpaywall OA detection)
paper-fetcher config-cmd --email your@email.com
# Set output directory
paper-fetcher config-cmd --output-dir ./my-papers
Configuration is stored at ~/.paper-fetcher/config.json and includes:
| Field | Description | Default |
|---|---|---|
proxy_base | Your institution's EZproxy login URL | http://eproxy.lib.hku.hk/login?url= |
email | Email for Unpaywall API (OA detection) | "" (set via CLI) |
output_dir | Directory for downloaded PDFs | ~/.paper-fetcher/papers |
cache_dir | Directory for cached results | ~/.paper-fetcher/cache |
request_delay_min | Minimum delay between requests (seconds) | 2.0 |
request_delay_max | Maximum delay between requests (seconds) | 5.0 |
To use with a different institution's EZproxy, edit ~/.paper-fetcher/config.json:
{
"proxy_base": "http://your-institution-proxy.edu/login?url=",
"email": "your@email.com"
}
When used as an MCP server, paper-fetcher exposes three tool