search_papers

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

Keyword search across Unpaywall’s coverage of scholarly papers. Optionally restrict to OA-only. Returns up to 50 results per page.

Parameters

NameTypeRequiredDescription
querystringyesSearch term
is_oabooleannoRestrict to open-access papers
pagenumberno1-based page (default 1)

Example call

Arguments

{
  "query": "machine learning climate change"
}

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":"search_papers","arguments":{"query":"machine learning climate change"}}}'

TypeScript (@pipeworx/sdk)

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

const result = await pipeworx.call('search_papers', {
  "query": "machine learning climate change"
});

More examples

{
  "query": "CRISPR gene therapy",
  "is_oa": true,
  "page": 1
}

Response shape

Always returns: query, page, returned, results

FieldTypeDescription
querystringSearch query used
pagenumberPage number (1-based)
returnedintegerNumber of results returned
resultsarraySearch results
Full JSON Schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query used"
    },
    "page": {
      "type": "number",
      "description": "Page number (1-based)"
    },
    "returned": {
      "type": "integer",
      "description": "Number of results returned"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "score": {
            "type": [
              "number",
              "null"
            ],
            "description": "Search relevance score"
          },
          "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"
          },
          "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 journal open-access"
          },
          "journal_in_doaj": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "Is journal in DOAJ"
          },
          "is_oa": {
            "type": "boolean",
            "description": "Is OA version available"
          },
          "oa_status": {
            "type": [
              "string",
              "null"
            ],
            "description": "OA status category"
          },
          "has_repository_copy": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "Available in repository"
          },
          "authors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Author names"
          },
          "best_location": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "pdf_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "host_type": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "version": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "license": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "repository": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "evidence": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "other_locations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "pdf_url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "host_type": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "version": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "license": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "repository": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "evidence": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          }
        }
      },
      "description": "Search results"
    }
  },
  "required": [
    "query",
    "page",
    "returned",
    "results"
  ]
}

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