Unpaywall MCP Server
An MCP (Model Context Protocol) server for the Unpaywall API — open-access availability for 120M+ scholarly articles.
Built with FastMCP.
Tools
| Tool | Description |
|---|---|
unpaywall_lookup | Look up open-access availability by DOI — returns OA status, PDF/landing page URLs, license, all OA locations |
unpaywall_search | Search 120M+ article titles with OA filtering and pagination |
unpaywall_export_ris | Export results as RIS (for Zotero, EndNote, etc.) |
unpaywall_export_bibtex | Export results as BibTeX |
What you get
- Open-access status and OA type (gold, green, hybrid, bronze)
- Best OA location with direct PDF link
- All OA locations across repositories and publishers
- Journal OA status, ISSN, publisher info
- Author lists, publication dates, DOIs
- License information per location
Setup
1. Get your email ready
Unpaywall requires an email address as your API identifier (no API key needed). See the Unpaywall API docs.
2. Install
pip install unpaywall-mcp-server
Or install from source:
cd unpaywall-mcp-server
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
3. Add to Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"unpaywall": {
"command": "uvx",
"args": ["unpaywall-mcp-server"],
"env": {
"UNPAYWALL_EMAIL": "your-email@example.com"
}
}
}
}
Or if using Claude Code CLI:
claude mcp add unpaywall \
uvx unpaywall-mcp-server \
-e UNPAYWALL_EMAIL=your-email@example.com
Usage examples
- "Is there an open-access version of DOI 10.1038/nature12373?"
- "Search Unpaywall for open-access papers on CRISPR gene editing"
- "Export these results as RIS for Zotero"
- "Find OA articles about climate change mitigation"
License
MIT
<!-- mcp-name: io.github.SMABoundless/unpaywall -->