get_oa

Pack: unpaywall · Endpoint: https://gateway.pipeworx.io/unpaywall/mcp

Given a DOI, fetch open-access status and the best free legal copy if one exists. Returns is_oa, oa_status (gold | green | hybrid | bronze | closed), best location (URL, host type, license), and journal metadata.

Parameters

NameTypeRequiredDescription
doistringyesDOI (e.g., “10.1038/nature12373”)

Example call

Arguments

{
  "doi": "10.1038/nature12373"
}

curl

curl -X POST https://gateway.pipeworx.io/unpaywall/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_oa","arguments":{"doi":"10.1038/nature12373"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('get_oa', {
  "doi": "10.1038/nature12373"
});

More examples

{
  "doi": "10.1371/journal.pmed.1002295"
}

Response shape

Always returns: doi, doi_url, title, genre, year, published_date, publisher, journal_name, journal_issns, journal_is_oa, journal_in_doaj, is_oa, oa_status, has_repository_copy, authors, best_location, other_locations

FieldTypeDescription
doistring | nullDigital Object Identifier
doi_urlstring | nullDOI resolver URL
titlestring | nullPaper title
genrestring | nullPublication type (journal-article, etc.)
yearinteger | nullPublication year
published_datestring | nullPublication date
publisherstring | nullPublisher name
journal_namestring | nullJournal name
journal_issnsstring | nullJournal ISSN(s)
journal_is_oaboolean | nullIs the entire journal open-access
journal_in_doajboolean | nullIs journal in DOAJ directory
is_oabooleanIs open-access version available
oa_statusstring | nullOA category: gold, green, hybrid, bronze, or closed
has_repository_copyboolean | nullAvailable in institutional repository
authorsarrayList of author names
best_locationobject | null
other_locationsarrayAlternative free access locations
Full JSON Schema
{
  "type": "object",
  "properties": {
    "doi": {
      "type": [
        "string",
        "null"
      ],
      "description": "Digital Object Identifier"
    },
    "doi_url": {
      "type": [
        "string",
        "null"
      ],
      "description": "DOI resolver URL"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "Paper title"
    },
    "genre": {
      "type": [
        "string",
        "null"
      ],
      "description": "Publication type (journal-article, etc.)"
    },
    "year": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Publication year"
    },
    "published_date": {
      "type": [
        "string",
        "null"
      ],
      "description": "Publication date"
    },
    "publisher": {
      "type": [
        "string",
        "null"
      ],
      "description": "Publisher name"
    },
    "journal_name": {
      "type": [
        "string",
        "null"
      ],
      "description": "Journal name"
    },
    "journal_issns": {
      "type": [
        "string",
        "null"
      ],
      "description": "Journal ISSN(s)"
    },
    "journal_is_oa": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Is the entire journal open-access"
    },
    "journal_in_doaj": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Is journal in DOAJ directory"
    },
    "is_oa": {
      "type": "boolean",
      "description": "Is open-access version available"
    },
    "oa_status": {
      "type": [
        "string",
        "null"
      ],
      "description": "OA category: gold, green, hybrid, bronze, or closed"
    },
    "has_repository_copy": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Available in institutional repository"
    },
    "authors": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of author names"
    },
    "best_location": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "url": {
          "type": [
            "string",
            "null"
          ],
          "description": "Access URL for full text"
        },
        "pdf_url": {
          "type": [
            "string",
            "null"
          ],
          "description": "Direct PDF URL if available"
        },
        "host_type": {
          "type": [
            "string",
            "null"
          ],
          "description": "Host type: publisher, repository, etc."
        },
        "version": {
          "type": [
            "string",
            "null"
          ],
          "description": "Version: published, accepted, submitted"
        },
        "license": {
          "type": [
            "string",
            "null"
          ],
          "description": "License type (CC-BY, etc.)"
        },
        "repository": {
          "type": [
            "string",
            "null"
          ],
          "description": "Repository institution name"
        },
        "evidence": {
          "type": [
            "string",
            "null"
          ],
          "description": "How OA status was determined"
        }
      }
    },
    "other_locations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": [
              "string",
              "null"
            ],
            "description": "Access URL for full text"
          },
          "pdf_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "Direct PDF URL if available"
          },
          "host_type": {
            "type": [
              "string",
              "null"
            ],
            "description": "Host type: publisher, repository, etc."
          },
          "version": {
            "type": [
              "string",
              "null"
            ],
            "description": "Version: published, accepted, submitted"
          },
          "license": {
            "type": [
              "string",
              "null"
            ],
            "description": "License type"
          },
          "repository": {
            "type": [
              "string",
              "null"
            ],
            "description": "Repository institution name"
          },
          "evidence": {
            "type": [
              "string",
              "null"
            ],
            "description": "How location was determined"
          }
        }
      },
      "description": "Alternative free access locations"
    }
  },
  "required": [
    "doi",
    "doi_url",
    "title",
    "genre",
    "year",
    "published_date",
    "publisher",
    "journal_name",
    "journal_issns",
    "journal_is_oa",
    "journal_in_doaj",
    "is_oa",
    "oa_status",
    "has_repository_copy",
    "authors",
    "best_location",
    "other_locations"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "unpaywall": {
      "url": "https://gateway.pipeworx.io/unpaywall/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build June 27, 2026