Skip to main content
Glama
ElliotPadfield

Unpaywall MCP Server

Unpaywall MCP サーバー

npm version CI license node >=18

Unpaywallツールを公開するMCP (Model Context Protocol) サーバーであり、AIクライアントは以下のことが可能です:

  • DOIによるメタデータの取得

  • 論文タイトルの検索

  • 最適なOA(オープンアクセス)全文リンクの取得

  • OA PDFのダウンロードとテキスト抽出

クイックスタート (npx)

MCPクライアントの設定(Claude Desktopの例)に以下を追加してください:

{
  "mcpServers": {
    "unpaywall": {
      "command": "npx",
      "args": ["-y", "unpaywall-mcp"],
      "env": { "UNPAYWALL_EMAIL": "you@example.com" }
    }
  }
}

次に、ツールを試してみてください:unpaywall_search_titles, unpaywall_get_fulltext_links, unpaywall_fetch_pdf_text

このリポジトリをクローンしたり npm install を実行したりする必要はありません。npx が初回呼び出し時にフェッチとキャッシュを処理します。

Related MCP server: ScholarScope MCP

要件

  • Node.js 18+ (npx用)

  • Unpaywall / OpenAlexリクエスト用のメールアドレス(Unpaywallで必須、OpenAlexのポライトプールで使用されます)

ローカル開発(コントリビューターのみ)

エンドユーザーは上記のnpx設定を使用してください。ソースからビルドするコントリビューター向け:

npm install
npm run build
UNPAYWALL_EMAIL=you@example.com npm start   # stdio transport, as required by MCP clients

ホットラン(ビルドステップなし):

UNPAYWALL_EMAIL=you@example.com npm run dev

ツール

unpaywall_get_by_doi

  • 説明: DOIのUnpaywallメタデータを取得します

  • 入力スキーマ:

    • doi (文字列, 必須): 例: 10.1038/nphys1170

    • email (文字列, オプション): 指定された場合、UNPAYWALL_EMAIL を上書きします

  • 出力: UnpaywallからのJSONレスポンス

unpaywall_search_titles

  • 説明: 論文タイトルを検索し、各ヒットに対するUnpaywall形式のOAメタデータを返します(1ページあたり50件)

  • 入力スキーマ:

    • query (文字列, 必須): タイトル検索クエリ

    • is_oa (ブール値, オプション): trueの場合、OA結果のみ。falseの場合、クローズドのみ。省略時はすべて

    • page (整数 >= 1, オプション): ページ番号

    • email (文字列, オプション): UNPAYWALL_EMAIL を上書きします

  • 出力: Unpaywallの検索形式に一致するJSON。results[].response はDOI形式のレコード(doi, title, is_oa, oa_status, best_oa_location, oa_locations)であり、各結果に scoresnippet が含まれます。_source: "openalex" はアップストリームを示します。

  • 注: Unpaywall独自の /v2/search が2025年5月の書き換え以降HTTP 500を返しているため、OpenAlexの /works エンドポイントを利用しています。Unpaywallは現在OpenAlexのサブルーチンとして動作しているため、これが現代における標準的な代替手段です。

unpaywall_get_fulltext_links

  • 説明: DOIに対する最適なOA PDF URLとOpen URL、およびすべてのOAロケーションを返します

  • 入力スキーマ:

    • doi (文字列, 必須)

    • email (文字列, オプション): UNPAYWALL_EMAIL を上書きします

  • 出力: best_pdf_url, best_open_url, best_oa_location, oa_locations および選択されたメタデータを含むJSON

unpaywall_fetch_pdf_text

  • 説明: DOIに対する最適なOA PDF、または提供された pdf_url からテキストをダウンロードして抽出します

  • 入力スキーマ:

    • pdf_url (文字列, オプション): 直接のPDF URL(優先されます)

    • doi (文字列, オプション): pdf_url が提供されない場合に最適なOA PDFを解決するために使用されます

    • email (文字列, オプション): doi を使用し、UNPAYWALL_EMAIL 環境変数がない場合に必須

    • truncate_chars (整数 >= 1000, オプション): 返される抽出テキストの最大文字数(デフォルト 20000)

  • 出力: text(切り詰められる可能性あり)、length_charstruncatedpdf_url、およびPDFメタデータを含むJSON

LLMプロンプトのヒント (MCP)

MCP対応のLLMクライアントからこのサーバーを使用する場合、モデルに以下のように指示してください:

  • 検索してから取得: unpaywall_search_titles を簡潔なタイトルフレーズで使用し、結果を選択してから、選択したDOIに対して unpaywall_get_fulltext_links または unpaywall_fetch_pdf_text を呼び出します。

  • OAを優先: オープンアクセスのみが必要な場合は、検索時に is_oa: true を渡します。

  • サイズを制御: unpaywall_fetch_pdf_texttruncate_chars(デフォルト 20000)を設定し、処理を進める前に長いテキストを要約させます。

  • 回復力を持たせる: 最適なPDF URLが見つからない場合は、best_open_url にフォールバックし、ランディングページからコンテンツを抽出します(このサーバーの外部)。

  • レート制限を尊重: 多くの呼び出しを行う場合はリクエストの間隔を空け、同じ呼び出しを繰り返す代わりに以前のレスポンスを再利用します。

LLMへの良いユーザー指示の例:

  • 「'foundation models in biomedicine' に関するOA論文を3つ見つけ、その中で最も良いものの導入部を抽出して要約してください。」

  • 「'Graph Neural Networks survey 2024' を検索し、可能であればOAにフィルタリングしてから、PDFテキストを取得し、10個の箇条書きで要約を作成してください。」

ツール呼び出しペイロードの例

MCPクライアントによって構造は異なりますが、コアとなるペイロードは以下の通りです:

// Search titles
{
  "name": "unpaywall_search_titles",
  "arguments": {
    "query": "graph neural networks survey",
    "is_oa": true,
    "page": 1
  }
}
// Get best OA links for a DOI
{
  "name": "unpaywall_get_fulltext_links",
  "arguments": {
    "doi": "10.48550/arXiv.1812.08434"
  }
}
// Fetch and extract PDF text (by DOI)
{
  "name": "unpaywall_fetch_pdf_text",
  "arguments": {
    "doi": "10.48550/arXiv.1812.08434",
    "truncate_chars": 20000
  }
}

MCPクライアントでの設定

npm/npxを使用するClaude Desktop向けの推奨(ビルド不要)設定:

{
  "mcpServers": {
    "unpaywall": {
      "command": "npx",
      "args": ["-y", "unpaywall-mcp"],
      "env": {
        "UNPAYWALL_EMAIL": "you@example.com"
      }
    }
  }
}

コンパイル済みのdistを使用する代替(ローカルリポジトリ)設定:

{
  "mcpServers": {
    "unpaywall": {
      "command": "node",
      "args": ["/absolute/path/to/dist/index.js"],
      "env": {
        "UNPAYWALL_EMAIL": "you@example.com"
      }
    }
  }
}

追加後、クライアントにツールをリストアップさせ、以下を試してください:

  • query を指定した unpaywall_search_titles

  • doi を指定した unpaywall_get_fulltext_links

  • doi(または pdf_url)を指定した unpaywall_fetch_pdf_text

注意事項

  • Unpaywallのレート制限と利用ガイドラインを尊重してください: https://unpaywall.org/products/api

  • サーバーはstdioトランスポートと @modelcontextprotocol/sdk を使用します。

  • UNPAYWALL_EMAIL を設定するか、呼び出しごとに email を渡して、Unpaywallが利用状況について連絡できるようにしてください。

メンテナー向け: npmへの公開

# 1) Build the project (also runs automatically on publish)
npm run build

# 2) Bump version (choose patch/minor/major)
npm version patch

# 3) Publish (ensure you are logged in: npm login)
npm publish --access public

# 4) Tag a release on GitHub (optional, recommended)

ユーザーは上記のように npx -y unpaywall-mcp を使用してMCPクライアントを設定できます。クローンやビルドは不要です。

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    C
    quality
    F
    maintenance
    Enables real-time search and retrieval of academic paper information from multiple sources, providing access to paper metadata, abstracts, and full-text content when available, with structured data responses for integration with AI models that support tool/function calling.
    3
    119
    AGPL 3.0
  • A
    license
    A
    quality
    D
    maintenance
    Enables academic research through the OpenAlex API, allowing users to search for papers, authors, and institutions, retrieve citations, and fetch full-text content when available. Perfect for building intelligent research assistants that can explore academic literature and related works.
    8
    7
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Enables looking up free-to-read versions of scholarly papers by DOI and searching article titles for Open Access matches via the Unpaywall API.
    2
    1

View all related MCP servers

Related MCP Connectors

  • Unpaywall MCP — open-access lookup for scholarly papers (free, no key)

  • Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.

  • Find academic papers across major sources like arXiv, PubMed, bioRxiv, and more. Download PDFs whe…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ElliotPadfield/unpaywall-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server