English | 使い方ガイド | インストール | 開発者ガイド
PaperFetch は、研究者やエンジニアのための、論文・技術文書の収集と管理を自動化する"Universal Fetcher" です。
Arxiv、IEEE、3GPPなど、分散している情報源から必要なドキュメントを効率的に検索・ダウンロードし、AI時代に即した形式(Markdown等)へ変換、さらには NotebookLM などのRAGツールへ直接橋渡しをします。
- All-in-One 収集: 論文(Arxiv/IEEE)も仕様書(3GPP)も、一つのツールで統一的に扱えます。
- AI Ready: ダウンロードするだけでなく、PDFを解析しやすいMarkdownに変換したり、NotebookLMへ自動アップロードしてすぐにチャットを開始できる状態にします。
- Safe & Robust: サイトごとのレート制限やダウンロード待機時間を適切に管理し、IPブロックのリスクを低減しながら大量の文献を収集できます。
- Flexible Interfaces:
- Web GUI: 検索結果を見ながらポチポチ選びたい時に。
- CLI: スクリプトに組み込んで定期実行したい時に。
- MCP Server: Claude などのAIエージェントに調べ物を依頼したい時に。
機能や使い方の詳細は、以下のドキュメントに分割して管理しています。
- インストール: セットアップ手順と前提条件(Python, uv, patchright)。
- 基本的な使い方: GUIとCLIの操作方法、検索からダウンロードまでのフロー。
- 対応データソース: Arxiv, IEEE, 3GPP, Patentsの詳細仕様。
- NotebookLM 連携: AIノートブックへの自動アップロード機能について。
- 設定ガイド:
config.tomlによるデフォルト設定のカスタマイズ。 - トラブルシューティング: よくあるエラーと対処法。
- アーキテクチャ・開発: 内部構造とコントリビュートのガイド。
uv (Python package manager) を使用するのが最も簡単です。
uv tool install .
# NotebookLM連携用ブラウザの準備
uv run patchright install chromiumuv run paper-fetch-guiブラウザが立ち上がり、すぐに論文検索を始められます。
論文はプロジェクトルート(または設定したパス)の downloads/ に、検索クエリと日付ごとに整理されて保存されます。
downloads/
└── 20240101_generative_ai/ # {日付}_{クエリ}
├── arxiv/
│ ├── 2312.12345.pdf # 原本PDF
│ ├── 2312.12345.md # 変換されたMarkdownテキスト
│ └── ...
├── notebooklm_session.json # NotebookLM連携用のセッション情報
└── ...
## 🤖 MCP Server (Claude Desktop 連携)
PaperFetch は [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) に対応しており、Claude Desktop などのMCPクライアントから直接以下の機能を呼び出せます。
- **`search_papers`**: Arxiv, IEEE, 3GPP(URL), USPTO から文献を検索。
- **`download_paper`**: 検索結果や指定URLからPDFをダウンロード。
- **`upload_to_notebooklm_tool`**: ダウンロードしたファイルを NotebookLM へ自動アップロード。
### 設定 (claude_desktop_config.json)
```json
{
"mcpServers": {
"paper-fetch": {
"command": "uv",
"args": [
"tool",
"run",
"paper-fetch-mcp"
]
}
}
}
※ uv tool install . でインストール済みであることが前提です。