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
Metadata
Release files for unpaywall-mcp-server 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| unpaywall_mcp_server-1.0.1.tar.gz | 6.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| unpaywall_mcp_server-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.8 kB
Release files / unpaywall_mcp_server-1.0.1.tar.gz
| Download URL | unpaywall_mcp_server-1.0.1.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e54ca1d9a068f7c873f0e8d3ff298d8517e5f5e5b3f09a30f865bb71c23a9a43
|
|
BLAKE2b-256 checksum How to use checksums |
bf1930f1c7a68d6ec0fb279c16b22296ed15f029ba25c2eee5b376a4b3a109f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / unpaywall_mcp_server-1.0.1-py3-none-any.whl
| Download URL | unpaywall_mcp_server-1.0.1-py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4da15504c84803f3706c5481268fc2bec22c2be48910da03078a39c0d9c7cc9e
|
|
BLAKE2b-256 checksum How to use checksums |
47b76df39df7e19ecae1ee6f056d4cd8773b2029ea480318689ee6b7d87b9875
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|