Unpaywall

Provides Unpaywall tools to fetch metadata, search titles, and retrieve OA PDFs via MCP.
  • 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.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational