/ ディレクトリ / プレイグラウンド / paper-fetch
● コミュニティ Agents365-ai ⚡ 即起動

paper-fetch

作者 Agents365-ai · Agents365-ai/paper-fetch

DOIからオープンアクセスのPDFをダウンロード — Unpaywall、arXiv、PMC、bioRxivから取得します。合法的かつマルチソース対応で、研究ワークフロー向けに設計されています。

DOIや引用情報を渡すと、合法的に無料で入手可能なバージョン(プレプリント、PMC、機関リポジトリのオープンアクセス)を見つけてPDFをダウンロードします。Unpaywall、arXiv、PMC、bioRxivを順にフォールバックします。ペイウォールの回避や海賊版は一切なし — 既存のオープンアクセスをより簡単に利用できるようにするだけです。

なぜ使うのか

主な機能

ライブデモ

実際の動作

paper-fetch-skill.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "paper-fetch-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Agents365-ai/paper-fetch",
        "~/.claude/skills/paper-fetch"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "paper-fetch-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Agents365-ai/paper-fetch",
        "~/.claude/skills/paper-fetch"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "paper-fetch-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Agents365-ai/paper-fetch",
        "~/.claude/skills/paper-fetch"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "paper-fetch-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Agents365-ai/paper-fetch",
        "~/.claude/skills/paper-fetch"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "paper-fetch-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Agents365-ai/paper-fetch",
        "~/.claude/skills/paper-fetch"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "paper-fetch-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/Agents365-ai/paper-fetch",
          "~/.claude/skills/paper-fetch"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add paper-fetch-skill -- git clone https://github.com/Agents365-ai/paper-fetch ~/.claude/skills/paper-fetch

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: paper-fetch

文献レビュー用リーディングリストのPDFを一括取得

👤 研究者、大学院生、サイエンスライター ⏱ ~15 min beginner

使うタイミング: 文献検索で得た40件のDOIがあり、ブラウザを40回クリックせずにざっと目を通したいとき。

前提条件
  • スキルのインストール — git clone https://github.com/Agents365-ai/paper-fetch ~/.claude/skills/paper-fetch
  • APIアクセス用のUnpaywallメールアドレス — 無料。メールアドレスがAPIキーになります: https://unpaywall.org/products/api
フロー
  1. リストを渡す
    Use paper-fetch. Here are 40 DOIs. Download the OA version of each to ~/papers/lit-review/.✓ コピーしました
    → DOIごとの進捗表示、取得済み/未取得の要約
  2. 未取得分の対応
    For ones not found, tell me what's available (abstract-only? preprint missing?).✓ コピーしました
    → 未取得分ごとのステータス
  3. 結果のインデックス作成
    Make an index.md with title, year, and file path per downloaded paper.✓ コピーしました
    → 閲覧可能なインデックス

結果: 実際に検索可能なPDFのローカルフォルダ。

注意点
  • 合法的にOAで公開されていない論文がある — スキルが未取得分を報告します。それらは所属図書館のILL(相互貸借)で依頼してください
組み合わせ: filesystem

引用を1ホップずつ辿る

👤 参考文献の連鎖を追う深掘り型の研究者 ⏱ ~20 min intermediate

使うタイミング: 良い論文を見つけ、その中で最も引用されている参考文献を入手したいとき。

フロー
  1. シード論文から開始
    Use paper-fetch. Download this paper [DOI] and list its top-10 most-cited references.✓ コピーしました
    → 論文がダウンロードされ、参照先のDOIがリスト化される
  2. 次のリングを取得
    Download those 10 too.✓ コピーしました
    → 一括ダウンロード

結果: ファイルシステム上に構築されたミニリサーチトレイル。

組み合わせ: arxiv

組み合わせ

他のMCPと組み合わせて10倍の力を

paper-fetch-skill + arxiv

プレプリントはarXivを優先し、ジャーナルOAはUnpaywallにフォールバック

Prefer arXiv preprints when present; otherwise use Unpaywall.✓ コピーしました
paper-fetch-skill + filesystem

整理されたローカルライブラリ

Save to ~/papers/<year>/<first-author>/✓ コピーしました
paper-fetch-skill + infinite-gratitude-skill

実際のPDFを活用したマルチエージェントリサーチ

Dojo explorer uses paper-fetch to ground claims in actual papers.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
fetch_by_doi DOI 論文ごとに使用 1-3 API lookups
batch_fetch DOI list 文献レビュー時に使用 N * lookups
resolve_citation free-text citation 引用テキストから検索を開始するとき Crossref + Unpaywall

コストと制限

運用コスト

APIクォータ
Unpayallは1日10万リクエスト(メールアドレス登録時)。arXivとPMCは十分な余裕あり
呼び出しあたりのトークン
少量
金額
無料
ヒント
DOIをまとめてバッチ処理し、ブロックを避けるためレートリミットを遵守してください。

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: Unpaywallのメールアドレス(秘密情報ではない)を環境変数に保存
データ送信先: Unpaywall、arXiv、PMC、bioRxivのAPIのみ

トラブルシューティング

よくあるエラーと対処法

OAであるはずのDOIでPDFが見つからない

Unpaywallの反映が遅れることがあります。oadoi.orgで直接確認するか、1日待ってから再試行してください

確認: curl https://api.unpaywall.org/v2/<DOI>[email protected]
Rate limited

バッチの間隔を空けてください。スキルのレートリミット対応バッチモードを使用してください

誤ったPDFがダウンロードされた(本文ではなく補足資料)

一部のソースは補足資料を返すことがあります。prefer-mainフラグを付けて再実行してください

代替案

paper-fetch 他との比較

代替案代わりに使う場面トレードオフ
arxiv MCParXivのみ必要で他のソースが不要なとき対象範囲が狭い
Manual browser + Zotero少量のリーディングリストの場合大量処理には手間がかかる

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る