unpaywall-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UNPAYWALL_MCP_EMAIL | Yes | Contact email Unpaywall requires on every request |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_doiA | Look up Open Access status and bibliographic metadata for a single DOI. Returns the full Unpaywall DOI object: title, authors, publication info, OA status, best OA location (free PDF link if available), and more. Examples: get_doi(doi="10.1038/nature12373") get_doi(doi="10.1007/s11222-022-10107-2") |
| search_articlesA | Search Unpaywall article titles and return matching DOI objects. Search terms are whitespace-split and AND-ed by default. Modifiers inside
Returns up to 50 results per page, sorted by match score. Each result
contains the full DOI object, a numeric Examples: search_articles(query="cell thermometry") search_articles(query='single "cell thermometry"', is_oa=True) search_articles(query="machine learning OR deep learning", is_oa=False, page=2) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: get_doi retrieves data for a known DOI, while search_articles finds articles by title query. No overlap or ambiguity.
Both tools follow a consistent verb_noun pattern: get_doi and search_articles. The naming is predictable and easy to understand.
Two tools is lean but reasonable for a focused API that covers the primary use cases: fetching by DOI and searching by title. Could be expanded with additional identifiers, but the count is appropriate for a minimal server.
The server covers the core functionality of the Unpaywall API: single DOI lookup and title search. Minor gaps exist (e.g., no batch operations or search by other metadata), but the main workflows are supported.