- Home
- MCP servers
- Unpaywall
Unpaywall
- typescript
1
GitHub Stars
typescript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"elliotpadfield-unpaywall-mcp": {
"command": "npx",
"args": [
"-y",
"unpaywall-mcp"
],
"env": {
"UNPAYWALL_EMAIL": "you@example.com"
}
}
}
}This MCP server exposes Unpaywall tools so you can fetch metadata by DOI, search article titles, retrieve the best OA full-text links, and extract text from OA PDFs. It’s designed to work with any MCP-enabled client, letting you discover OA resources efficiently and then pull content for downstream processing or summarization.
How to use
You interact with the server through an MCP client. Start by listing the available tools, then perform a sequence of calls to search, locate, and retrieve content from Unpaywall. Favor open-access results when you want immediate access to full text and plan to extract text from PDFs.
How to install
Prerequisites you need before running the server:
-
Node.js 18+ installed on your machine.
-
An email address to include with requests to Unpaywall (polite usage and rate limiting purposes). Set UNPAYWALL_EMAIL in your environment or provide email per call.
Install and run the server locally
# Install dependencies
npm install
# Build the project
npm run build
# Run (stdio transport, as required by MCP clients)
UNPAYWALL_EMAIL=you@example.com npm start
Alternative local start (no build step)
UNPAYWALL_EMAIL=you@example.com npm run dev
Configure the MCP client to connect
Add the MCP server definition to your client configuration. The following example shows how to enable the Unpaywall MCP server using an MCP client that supports npx-based stdio servers.
{
"mcpServers": {
"unpaywall": {
"command": "npx",
"args": ["-y", "unpaywall-mcp"],
"env": { "UNPAYWALL_EMAIL": "you@example.com" }
}
}
}
Available tools
unpaywall_get_by_doi
Fetch Unpaywall metadata for a DOI. Inputs: doi (string, required) and optional email to override the default. Output: JSON metadata from Unpaywall.
unpaywall_search_titles
Search Unpaywall for article titles matching a query (50 results per page). Inputs: query (string, required), is_oa (boolean, optional), page (integer, optional), email (string, optional). Output: JSON search results from the Unpaywall API.
unpaywall_get_fulltext_links
Return the best OA PDF URL and Open URL for a DOI, plus all OA locations. Inputs: doi (string, required) and optional email. Output: JSON with best_pdf_url, best_open_url, best_oa_location, oa_locations, and select metadata.
unpaywall_fetch_pdf_text
Download and extract text from the best OA PDF for a DOI, or from a provided pdf_url. Inputs: pdf_url (string, optional), doi (string, optional), email (string, optional), truncate_chars (integer >= 1000, optional). Output: JSON with extracted text, length, and PDF metadata.