Open-access availability for 120M+ scholarly articles via the Unpaywall API
Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
uvx unpaywall-mcp-server
MCP client config
{
"mcpServers": {
"unpaywall": {
"command": "uvx",
"args": [
"unpaywall-mcp-server"
]
}
}
}An MCP (Model Context Protocol) server for the Unpaywall API — open-access availability for 120M+ scholarly articles.
Built with FastMCP.
| 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 |
Unpaywall requires an email address as your API identifier (no API key needed). See the Unpaywall API docs.
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
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
MIT