mcpField
P
paperport

paperport

ローカル
github.com/CloudCorpRecords検索02 週間前に更新

paperport について

paperport は、arXiv を検索し、ダウンロードした論文レコードをローカルに保存する CLI および MCP サーバーです。論文のメタデータと要旨を取得し、保存済みレコードの一覧表示や再読に対応します。保存内容はメタデータと要旨で、PDF 全文の変換データではありません。

主な機能

  1. 01日付とカテゴリで絞り込む arXiv 検索
  2. 02ID による論文要旨の取得
  3. 03論文レコードのローカル保存
  4. 04保存済みレコードの一覧表示と読み込み
  5. 05論文 ID と arXiv URL の正規化

活用シーン

  1. 01研究テーマに合う論文を探す
  2. 02arXiv 論文の要旨を確認する
  3. 03論文レコードをローカルに保管する

MCP 対応

MCP サーバーは、論文検索、要旨取得、レコードのダウンロード、ローカル論文の一覧表示、保存済みレコードの読み込み用ツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-paperport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/paperport"
]
}
}
}
起動コマンドnpx -y @reneturcios/paperport

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/paperport0.1.0
ocighcr.io/cloudcorprecords/paperport:0.1.0

ツール

5

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
querystringはい検索クエリ
date_tostringいいえ最新の投稿日(YYYY-MM-DD)
date_fromstringいいえ最も古い投稿日(YYYY-MM-DD)
categoriesarrayいいえ絞り込みに使用する arXiv カテゴリ
max_resultsintegerいいえ返す結果の最大数

詳細

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_papersquery(文字列、必須)、max_results(整数、任意)、date_from / date_to(文字列、任意、YYYY-MM-DD)、categories(文字列の配列、任意)論文の一覧:id、title、summary、authors、published、categories、pdf_url。
get_abstractpaper_id(文字列、必須)論文の paper_id、title、abstract、authors、published、pdf_url。
download_paperpaper_id(文字列、必須)論文をローカルに保存し(下記の制限事項を参照)、paper_id、title、保存先の path、pdf_url を返します。
list_papers(入力なし)ローカルの書棚にある論文:保存済みファイルごとの paper_id と path。
read_paperpaper_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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。