mcpField
A
Arxiv Mcp Server

Arxiv Mcp Server

ローカル
arxiv.orgデータ・分析1964 週間前に更新

Arxiv Mcp Server について

arXiv MCP Server は、arXiv.org の論文を AI アシスタントから検索、分析、エクスポートするための MCP サーバーです。研究者や文献調査を行う人を対象とし、引用分析、トレンド統計、複数形式の出力に対応します。

主な機能

  1. 01キーワード、著者、カテゴリによる論文検索
  2. 02論文の詳細情報と整形された要約
  3. 03推定引用指標と影響度分析
  4. 04論文数、著者、キーワードのトレンド統計
  5. 05BibTeX、JSON、CSV、Markdown へのエクスポート

活用シーン

  1. 01AI アシスタントによるテーマや著者別の最新論文検索
  2. 02執筆用に参考文献を BibTeX で一括出力
  3. 03arXiv カテゴリ内の研究トピックの推移把握

MCP 対応

本プロジェクトは MCP サーバーであり、arXiv 論文データにアクセスするための search_arxiv、get_paper、analyze_trends、export_papers などのツールを MCP クライアントに公開します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

arXiv MCP サーバー クライアント

arXiv.org と連携するための包括的な Model Context Protocol(MCP)実装です。AI アシスタントが学術論文をシームレスに検索、取得、分析、エクスポートできます。

🚀 特長

コア機能
  • 論文検索:キーワード、著者、タイトル、カテゴリを使用した高度な検索
  • 論文取得:特定の arXiv 論文の詳細なメタデータを取得
  • スマート要約:重要な情報を含む、形式を整えた論文の要約を生成
高度なツール
  • 著者検索:特定の研究者によるすべての論文を検索
  • カテゴリの閲覧:特定の arXiv カテゴリ(cs.AI、cs.LG など)の論文を閲覧
  • 最近の論文:期間をカスタマイズして最新の出版物を取得
  • 論文の比較:複数の論文を並べて分析
  • 関連論文:インテリジェントなマッチングにより、指定した研究に関連する論文を発見
  • 引用分析:引用指標の推定とインパクト分析
  • トレンド分析:出版数、主要な著者、キーワードの頻度を用いた研究トレンド分析
  • 複数形式へのエクスポート:BibTeX、JSON、CSV、Markdown 形式で論文をエクスポート

📦 インストール

Poetry を使用(推奨)
# Clone the repository
git clone https://github.com/yourusername/arxiv-mcp-client.git
cd arxiv-mcp-client

# Install dependencies
poetry install

# Activate virtual environment
poetry shell
pip を使用
# Install dependencies
pip install mcp httpx

# Run the client
python arxiv_mcp_client.py

🛠️ 使い方

基本設定
import asyncio
from arxiv_mcp_client import ArxivMCPClient

async def main():
    # Initialize client
    client = ArxivMCPClient()
    
    # Connect to MCP server
    await client.connect("arxiv_mcp_server.py")
    
    # Your code here...
    
    # Close connection
    await client.close()

asyncio.run(main())
検索例
# General search
results = await client.search_papers("transformer neural networks", max_results=10)

# Search by author
papers = await client.search_by_author("Geoffrey Hinton", max_results=20)

# Search by category
ai_papers = await client.search_by_category("cs.AI", max_results=15)

# Get recent papers
recent = await client.get_recent_papers("cs.LG", days_back=7, max_results=10)
論文分析
# Get paper details
paper = await client.get_paper_details("2301.07041")

# Get formatted summary
summary = await client.get_paper_summary("2301.07041")

# Compare papers
comparison = await client.compare_papers(
    ["2301.07041", "2302.13971"], 
    comparison_fields=["authors", "abstract", "categories"]
)

# Find related papers
related = await client.find_related_papers("2301.07041", max_results=10)
エクスポートと分析
# Export to BibTeX
bibtex = await client.export_papers(
    ["2301.07041", "2302.13971"], 
    format="bibtex", 
    include_abstract=True
)

# Analyze research trends
trends = await client.analyze_trends(
    category="cs.AI", 
    time_period="3_months", 
    analysis_type="top_authors"
)

🔧 利用可能なツール

ツール説明主なパラメーター
search_arxiv論文の一般検索query、max_results、sort_by
get_paper特定の論文の詳細を取得arxiv_id
summarize_paper形式を整えた要約を生成arxiv_id
search_by_author著者別に論文を検索author_name、max_results
search_by_categoryカテゴリ別に論文を閲覧category、max_results、sort_by
get_recent_papers最新の出版物を取得category、days_back、max_results
compare_papers複数の論文を比較arxiv_ids、comparison_fields
find_related_papers関連する研究を発見arxiv_id、max_results
get_paper_citations引用分析arxiv_id
analyze_trends研究トレンド分析category、time_period、analysis_type
export_papers複数形式へのエクスポートarxiv_ids、format、include_abstract

📊 対応カテゴリ

コンピューターサイエンス
  • cs.AI - 人工知能
  • cs.LG - 機械学習
  • cs.CV - コンピュータービジョン
  • cs.CL - 計算と言語
  • cs.CR - 暗号とセキュリティ
  • cs.DB - データベース
  • cs.DS - データ構造とアルゴリズム
数学
  • math.CO - 組合せ論
  • math.ST - 統計理論
  • math.PR - 確率論
  • math.OC - 最適化と制御
物理学
  • physics.comp-ph - 計算物理学
  • physics.data-an - データ分析
  • quant-ph - 量子物理学

カテゴリ一覧の全体を見る

📄 エクスポート形式

BibTeX
@article{2301_07041,
  title={Title of the Paper},
  author={Author One and Author Two},
  journal={arXiv preprint arXiv:2301.07041},
  year={2023},
  url={https://arxiv.org/abs/2301.07041}
}
JSON
{
  "id": "2301.07041",
  "title": "Title of the Paper",
  "authors": ["Author One", "Author Two"],
  "abstract": "Paper abstract...",
  "published": "2023-01-17",
  "categories": ["cs.AI", "cs.LG"]
}
CSV
id,title,authors,published,categories,url
2301.07041,Title of the Paper,"Author One; Author Two",2023-01-17,"cs.AI; cs.LG",https://arxiv.org/abs/2301.07041

🔍 検索クエリの例

基本的な検索
# Keyword search
await client.search_papers("neural networks")

# Multiple keywords
await client.search_papers("transformer attention mechanism")

# Exact phrase
await client.search_papers('"large language models"')
高度な検索
# Author search
await client.search_by_author("Yoshua Bengio")

# Category search  
await client.search_by_category("cs.AI")

# Recent papers in category
await client.get_recent_papers("cs.LG", days_back=14)

📈 トレンド分析の種類

出版数分析

特定のカテゴリで、一定期間に出版された論文の数を追跡します。

trends = await client.analyze_trends("cs.AI", "6_months", "publication_count")
# Returns: monthly publication counts
主要著者分析

指定した期間において、ある分野で最も多くの論文を発表した著者を特定します。

trends = await client.analyze_trends("cs.LG", "1_year", "top_authors")
# Returns: authors ranked by paper count
キーワード頻度分析

カテゴリ内の論文タイトルで最もよく使われるキーワードを分析します。

trends = await client.analyze_trends("cs.CV", "3_months", "keyword_frequency")
# Returns: keywords ranked by frequency

🚨 エラー処理

クライアントには包括的なエラー処理が備わっています。

try:
    results = await client.search_papers("machine learning")
    if "error" in results:
        print(f"Search failed: {results['error']}")
    else:
        print(f"Found {len(results['papers'])} papers")
except Exception as e:
    print(f"Connection error: {e}")

🔧 設定

レート制限

クライアントはレート制限とタイムアウト処理を組み込み、arXiv の API ガイドラインに準拠しています。

カスタマイズ
# Custom timeout
client = ArxivMCPClient()
client.http_client = httpx.AsyncClient(timeout=60.0)

# Custom result limits
results = await client.search_papers("AI", max_results=50)  # Max: 100

🤝 貢献

  1. リポジトリをフォークします
  2. 機能ブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. Pull Request を作成します

📝 ライセンス

このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルをご覧ください。

🙏 謝辞

  • 学術論文への無料アクセスを提供しているarXiv.orgに感謝します
  • Model Context Protocolを提供しているAnthropicに感謝します
  • 基盤となるライブラリを提供しているオープンソースコミュニティに感謝します

📞 サポート


研究コミュニティのために ❤️ を込めて作成

コメント

MCP は初めてですか?

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

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