paperport について
paperport は、arXiv を検索し、ダウンロードした論文レコードをローカルに保存する CLI および MCP サーバーです。論文のメタデータと要旨を取得し、保存済みレコードの一覧表示や再読に対応します。保存内容はメタデータと要旨で、PDF 全文の変換データではありません。
主な機能
- 01日付とカテゴリで絞り込む arXiv 検索
- 02ID による論文要旨の取得
- 03論文レコードのローカル保存
- 04保存済みレコードの一覧表示と読み込み
- 05論文 ID と arXiv URL の正規化
活用シーン
- 01研究テーマに合う論文を探す
- 02arXiv 論文の要旨を確認する
- 03論文レコードをローカルに保管する
MCP 対応
MCP サーバーは、論文検索、要旨取得、レコードのダウンロード、ローカル論文の一覧表示、保存済みレコードの読み込み用ツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | はい | 検索クエリ |
| date_to | string | いいえ | 最新の投稿日(YYYY-MM-DD) |
| date_from | string | いいえ | 最も古い投稿日(YYYY-MM-DD) |
| categories | array | いいえ | 絞り込みに使用する arXiv カテゴリ |
| max_results | integer | いいえ | 返す結果の最大数 |
詳細
paperport
paperport は、arXiv での作業に使える小さなデスクです。arXiv の公開 API を検索し、タイトル、著者、日付、カテゴリ、要約を整理された形式で取得します。 また、ID が分かっている論文の要約を取得したり、ダウンロードした論文をローカルの 書棚に保存したりできます。保存した論文は、ネットワークに再接続せずに後から 一覧表示して読み返せます。
インストール
npx @reneturcios/paperport search "small language models"
または、コンテナーイメージを実行します。
docker run -i ghcr.io/cloudcorprecords/paperport
コンテナーは、デフォルトで MCP サーバーとして起動します(下記を参照)。CLI として使用するには、CLI 引数を渡してください。
CLI
read は保存済みの論文を出力します。それ以外のコマンドは JSON を出力します。
# Search, with optional filters
paperport search "attention patterns" --max-results 5 \
--date-from 2024-01-01 --date-to 2024-12-31 --categories cs.CL,cs.LG
# One paper's abstract
paperport abstract 2401.12345
# Store a paper locally, then list and read the shelf
paperport download 2401.12345
paperport list
paperport read 2401.12345
paperport --version
ダウンロードした論文は、保存ディレクトリ内に <paper_id>.md ファイルとして保存されます。保存ディレクトリには、PAPERPORT_STORAGE_DIR 環境変数が設定されている場合はその値が使われ、設定されていない場合は ./papers が使われます。
終了コード:成功時は 0、論文が見つからない、取得できない、または読み取れない場合は 1、使用方法に誤りがある場合は 2 です。
MCP サーバー
1 つの実行ファイルで、どちらの用途にも対応します。mcp サブコマンドは、標準入出力を使う MCP サーバーを起動します。
npx -y @reneturcios/paperport mcp
MCP クライアントの設定:
{
"mcpServers": {
"paperport": {
"command": "npx",
"args": ["-y", "@reneturcios/paperport", "mcp"]
}
}
}
ツール
| ツール | 入力 | 戻り値 |
|---|---|---|
search_papers | query(文字列、必須)、max_results(整数、任意)、date_from / date_to(文字列、任意、YYYY-MM-DD)、categories(文字列の配列、任意) | 論文の一覧:id、title、summary、authors、published、categories、pdf_url。 |
get_abstract | paper_id(文字列、必須) | 論文の paper_id、title、abstract、authors、published、pdf_url。 |
download_paper | paper_id(文字列、必須) | 論文をローカルに保存し(下記の制限事項を参照)、paper_id、title、保存先の path、pdf_url を返します。 |
list_papers | (入力なし) | ローカルの書棚にある論文:保存済みファイルごとの paper_id と path。 |
read_paper | paper_id(文字列、必須) | 保存済み論文の paper_id と全文の content。論文がダウンロードされていない場合はエラーになります。 |
論文 ID は、単独の形式(2401.12345)、バージョン接尾辞付きの形式(2401.12345v2)、または完全な arxiv.org/abs/... URL で指定できます。使用前に正規化されます。
既知の制限事項:ダウンロードした論文は PDF を変換したものではなく、要約ファイルです
このツールの再構築元である元のツールは、ダウンロードした論文の PDF を Markdown に変換します。paperport ではその変換を行いません。download_paper は、論文のメタデータと要約(タイトル、著者、カテゴリ、日付、要約ページと PDF へのリンク)を Markdown ファイルとして保存し、read_paper はそのファイルを返します。論文の全文は、リンク先の PDF からのみ取得できます。これは、このバージョンにおける意図的に文書化された制限であり、明示されていない制限ではありません。
開発
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network
npm run dev # run the CLI from source via tsx
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。