mcpField
A
arxiv-search

arxiv-search

github.com/dsebastien生産性794 回インストール28 週間前に更新
リポジトリ

arxiv-search について

arxiv-searchは、arXivの公開APIで研究論文を検索するスキルです。構造化されたJSONメタデータを返し、トピック、カテゴリ、著者、日付を使った検索に対応します。

主な機能

  1. 01arXiv公開APIの検索
  2. 02カテゴリと日付範囲での絞り込み
  3. 03関連度または投稿日の順に並べ替え
  4. 04論文メタデータのJSON出力

活用シーン

  1. 01研究テーマに関する論文の検索
  2. 02カテゴリ内の最近の投稿の確認
  3. 03著者に関連する論文の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dsebastien/ai-skill-arxiv --skill arxiv-search

インストール後、Claude Code で/arxiv-searchを入力して読み込まれたか確認します。

同梱ファイルscripts/arxiv_search.py

詳細

arXiv 検索

arXiv の公開 API で研究論文を検索します。タイトル、著者、概要、arXiv ID、カテゴリー、日付、PDF/HTML リンクなどの構造化メタデータを JSON で返します。特定の論文の全文を分析する場合は、arxiv-analyze と組み合わせてください。

使用する場面

  • ユーザーが特定のトピックに関する論文を探したい場合
  • ユーザーが arXiv のカテゴリーにおける最近の投稿を知りたい場合
  • ユーザーがある著者の出版物を確認したい場合
  • 特定の論文を分析する前の出発点として

使用方法

スクリプトは scripts/arxiv_search.py にあります。arXiv API に直接アクセスし、Atom XML を JSON に解析するため、モデルが XML を扱う必要はありません。

# Topic search
python3 scripts/arxiv_search.py "mechanistic interpretability" --max 20

# Category filter (see arXiv taxonomy: cs.LG, cs.CL, stat.ML, etc.)
python3 scripts/arxiv_search.py --category cs.LG --max 30 --sort-by submittedDate

# Topic + category + date range
python3 scripts/arxiv_search.py "sparse autoencoders" --category cs.LG \
    --from 2025-01-01 --to 2026-04-16 --max 50

# Recency-focused (newest first)
python3 scripts/arxiv_search.py "LLM agents" --sort-by submittedDate --max 20

フラグ:

  • --max N — 結果の最大数(デフォルトは 20。arXiv API の上限は 2000)
  • --category CAT — arXiv のカテゴリーコード
  • --from YYYY-MM-DD / --to YYYY-MM-DD — 投稿日のフィルター
  • --sort-by relevance|lastUpdatedDate|submittedDate — デフォルトは relevance

出力: 標準出力に JSON を出力します。各結果には id、title、authors[]、abstract、categories[]、primary_category、published、updated、abs_url、pdf_url、doi、journal_ref、comment が含まれます。

ワークフロー

1. 意図を解析する
  • トピック検索: 「X に関する論文を探して」→ "X" をクエリとして使用
  • 分野の最近の論文: 「cs.LG の新着は?」→ --category cs.LG --sort-by submittedDate
  • 著者検索: 「 の論文」→ 名前をクエリとして使用。arXiv は all: で著者名をインデックス化しています
  • 組み合わせ: トピック+期間+カテゴリー
2. 検索を実行する

スクリプトを実行します。デフォルトの --max 20 は適切な開始値です。幅広いレビューでは 50 に増やしてください。

3. 結果を提示する

簡潔な表にまとめます。各論文について、以下を記載します。

  • arXiv ID(リンクには abs_url を使用)
  • タイトル
  • 著者(最初の 2 名。ほかにもいる場合は「et al.」を追加)
  • 公開日
  • メインカテゴリー
  • 1 文でまとめた概要(概要全文はそのまま掲載しないでください)
4. 次の操作を提案する

ユーザーに、以下を希望するか尋ねます。

  • 特定の論文を分析する(→ arxiv-analyze)
  • このクエリの監視を作成する(→ arxiv-monitor add)

出力形式

### arXiv Search: <query>

| # | arXiv ID | Title | Authors | Date |
|---|----------|-------|---------|------|
| 1 | 2501.11120v1 | Tell me about yourself... | Betley et al. | 2025-01-19 |

**Next:**
- analyze <id> to fetch full text
- watch <name> to track this query ongoingly

トークン効率

  • 20 件の結果で約 5K トークン(大部分を概要が占めます)
  • 50 件の結果をそのまま表示するのではなく、クエリを絞り込むようユーザーに依頼してください
  • 概要だけを伝える場合は、コンテキストに渡す前に jq '.results | map({id, title, authors, published})' を通してください

arXiv 分類のクイックリファレンス

主なカテゴリー(全一覧は https://arxiv.org/category_taxonomy を参照):

  • cs.CL — 計算と言語(NLP)
  • cs.LG — 機械学習
  • cs.AI — 人工知能
  • cs.CR — 暗号とセキュリティ
  • cs.CY — コンピューターと社会
  • stat.ML — 統計学:機械学習
  • cs.IR — 情報検索
  • cs.HC — ヒューマンコンピューターインタラクション

レート制限

arXiv API:IP あたり 3 秒につき 1 リクエストの緩やかな制限があります。このスキルは呼び出しごとに 1 回リクエストするため、制限の範囲内です。

エラー処理

  • カテゴリーが無効、またはクエリに誤りがある場合 → results 配列は空になります。「論文が見つかりませんでした」と伝え、クエリを広げるよう提案してください。
  • ネットワークエラー → 終了コード 4。メッセージは標準エラーに出力されます。
  • 応答の形式が不正 → 終了コード 5(極めてまれ。発生した場合は arXiv API の変更を示しています)。

要件

  • Python 3.11 以降(標準ライブラリのみ。pip install は不要)

コメント