paper-mcp について
paper-mcpは、学術・医学文献の検索、論文取得、文書処理を行うリモート利用可能なMCPサーバーです。arXiv、Semantic Scholar、OpenAlexの検索に加え、PubMedのエビデンス分類、画像からのLaTeX認識、LaTeX検査、PDF抽出を提供します。
主な機能
- 013つの学術文献コーパスを横断検索
- 02論文メタデータ・引用・全文の取得
- 03研究種別による医学文献の順位付け
- 04数式・表画像からLaTeXへの変換
- 05LaTeX検査とPDFテキスト抽出
活用シーン
- 01arXiv、Semantic Scholar、OpenAlexで論文を検索
- 02論文全文や引用関係を取得
- 03研究種別を指定して臨床文献を検索
- 04画像中の数式や表をLaTeXに変換
- 05PDFの内容抽出やLaTeXコードの検査
MCP 対応
ホスト型エンドポイントを通じて、文献検索、論文取得、OCR、LaTeX、PDFのツールをMCPクライアントに公開します。ローカル実行にも対応し、Semantic Scholar APIキーは任意です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://latex-tools.online/mcpclaude mcp add --transport http mcpservings-paper https://latex-tools.online/mcp{"mcpServers":{"mcpservings-paper":{"type":"http","url":"https://latex-tools.online/mcp"}}}Cursor で開く{"servers":{"mcpservings-paper":{"type":"http","url":"https://latex-tools.online/mcp"}}}VS Code で開く{"mcpServers":{"mcpservings-paper":{"type":"http","url":"https://latex-tools.online/mcp"}}}{"mcpServers":{"mcpservings-paper":{"serverUrl":"https://latex-tools.online/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
41| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | はい | |
| start | integer | いいえ | |
| source | string | いいえ | |
| sort_by | string | いいえ | |
| max_results | integer | いいえ |
詳細
paper-mcp
https://latex-tools.online/mcp で提供される、学術論文の検索、全文取得、画像→LaTeX に対応したリモート呼び出し可能な MCP サーバーです。
3つのコーパスを、正規化された単一のインターフェースで利用できます。
arxiv(デフォルト) — 検索、メタデータ、全文(HTML/Markdown/LaTeX ソース)semanticscholar(別名s2) — 引用グラフ、著者、おすすめ、全文スニペット、バルクデータセットなど、S2 API の全機能openalex(別名oa) — 全分野を網羅する3億1,600万件の論文:引用グラフ、h-index 付き著者情報、機関、トピック、影響度指標
さらに、3つのコーパスを統合する search_all、画像→LaTeX の OCR、LaTeX の lint と PDF→テキスト変換ツールも利用できます。
ツール(41)
汎用/ソース非依存(8)
| ツール | 用途 |
|---|---|
search_all(query, max_results=10, sources='arxiv,semanticscholar,openalex') | 統合検索。 3つのコーパスすべてに並行して検索を実行し、同じ論文を(DOI/タイトルで)重複排除したうえで、Reciprocal Rank Fusion により再ランキングします。各検索結果には、検索元を示す sources と、後続の呼び出しに使える ids マップが含まれます。幅広い検索では、このツールを優先してください。 |
search_papers(query, source='arxiv', max_results=10, sort_by='relevance') | 単一コーパスの検索。arXiv の query には、プレーンテキストまたはフィールド構文(ti: au: cat:cs.CL abs: と AND/OR)を指定できます。 |
get_paper(paper_id, source='arxiv') | 論文1件の完全なレコード。S2 ID には、S2 ID/DOI:/ARXIV:/CorpusId: を指定できます。 |
search_by_author(author, source='arxiv') | 著者別の論文を新しい順に検索します。 |
list_recent(category, source='arxiv') | カテゴリー(arXiv コードまたは S2 の研究分野)の最新論文を取得します。 |
list_categories(source='arxiv') | よく使われるカテゴリーコードを取得します。 |
read_paper(paper_id, format='markdown') | 全文(arXiv)。 markdown = 数式を $LaTeX$ として含む本文、html = LaTeXML の生ページ、latex = 原稿の元の .tex ソース。 |
list_paper_sources() | 利用可能なコーパスを取得します。 |
read_paper の取得順序:arxiv.org/html/{id} → 取得できない場合は ar5iv(Markdown/HTML)、または arxiv.org/e-print/{id} の tarball にあるメインの .tex(LaTeX)。数式は LaTeXML の alttext 不変条件から復元されます。
医学/エビデンス評価付き(1)
| ツール | 用途 |
|---|---|
search_medical(query, study_types='rct,meta-analysis,systematic-review', year_from=0, max_results=10, fetch_fulltext=True) | 臨床文献検索。 PubMed を検索し、Publication-Type タグで研究タイプを絞り込み、エビデンスピラミッド(メタ分析/システマティックレビュー > RCT > コホート研究 > ...)に基づいて再ランキングします。そのため、引用数だけのランキングで上位に表示される、引用数の多いレビューやガイドラインよりも、実際の臨床試験が上位に表示されます。PMID を使用して、Europe PMC からオープンアクセスの全文を取得し、結果に添付します。タイプのフィルターで結果が見つからない場合は、自動的に条件を緩和します(filter_relaxed フラグで通知)。query は英語のキーワードまたはブール式テキストです。NL/多言語のクエリ解釈は事前に行ってください。NCBI E-utilities と Europe PMC を利用しており、どちらも無料で API キーは不要です。 |
画像 → LaTeX(3)
数式や表の画像(論文から切り抜いた図など)を、自前のビジョンモデルなしで LaTeX に変換できます。併設の認識サービス(PaddleOCR-VL/DeepSeek-OCR/texify)を利用します。
| ツール | 用途 |
|---|---|
recognize_formula(image_url=... or image_base64=..., model='deepseek-ocr') | 数式画像 → LaTeX。image_url はサーバー側でダウンロードされます(SSRF 対策あり)。{latex, model, elapsed_ms} を返します。 |
recognize_table(image_url=... or image_base64=..., model='deepseek-ocr') | 表画像 → LaTeX の tabular。 |
list_ocr_models() | 利用可能な OCR モデル(deepseek-ocr、paddleocr-vl、texify)。 |
LaTeX ツール(3)
latex-tools.online の LaTeX/PDF ウェブツールと連携します。同じバックエンドを MCP 経由で利用できます。
| ツール | 目的 |
|---|---|
lint_latex(code) | LaTeX のスニペットをチェックしてエラーを検出し、自動修正版を返します。{errors, fixed_code, summary_en, summary_zh, elapsed_ms} を返します。 |
extract_pdf(pdf_url=... or pdf_base64=..., formula=True, table=True) | MinerU を使って PDF をクリーンな Markdown/LaTeX テキストに変換します(オープンアクセスの全文がない論文に便利です)。pdf_url はサーバー側でダウンロードされます(SSRF 対策済み)。コンテンツアドレス方式でキャッシュされます。最近処理した PDF またはサイズの小さい PDF は、1 回の呼び出しで content を返します。新しい PDF(MinerU は GPU 負荷が高く、数分かかります)の場合は、status='running' と task_id を返します。 |
extract_pdf_result(task_id) | task_id を指定して extract_pdf ジョブの結果を取得します。status='done' になると content を返します。'running' の間は content が null なので、しばらくしてから再度呼び出してください。 |
OpenAlex(8)
- 論文:
get_openalex_work·get_openalex_citations·get_openalex_references·search_openalex_works(フィルター:年の範囲、オープンアクセス、最小被引用数、機関) - 著者/機関:
search_openalex_authors·search_openalex_institutions - 分析:
get_openalex_trends·list_openalex_topics
Semantic Scholar(18)
- グラフ:
get_paper_citations·get_paper_references·get_paper_authors - 検索:
match_paper_title·autocomplete_papers - 一括処理:
search_papers_bulk(最大1000件、並べ替え可能、トークンによるページ分割) ·get_papers_batch - 著者:
search_authors·get_author·get_author_papers·get_authors_batch - 全文検索:
search_snippets(論文本文を検索) - おすすめ:
recommend_papers_for_paper·recommend_papers_from_examples - データセット:
list_dataset_releases·get_dataset_release·get_dataset_download_links·get_dataset_diffs
レイアウト
paper_mcp/
server.py FastMCP server (tool registrations + instructions)
models.py normalized Paper model
aggregate.py cross-source fusion (dedup + Reciprocal Rank Fusion)
sources/
base.py source registry (get_source / list_sources)
arxiv.py arXiv Atom API + read_paper (HTML/markdown/latex)
semanticscholar.py Semantic Scholar full API surface
openalex.py OpenAlex REST API (works/authors/institutions/topics)
recognize.py image→LaTeX client over the co-located recognize service
latextools.py lint + PDF-extract clients over the latex-tools services
pyproject.toml
ローカルで実行
cd paper-mcp
python -m venv .venv && . .venv/bin/activate
pip install -e .
PAPER_MCP_PORT=9400 python -m paper_mcp.server
# MCP endpoint at http://127.0.0.1:9400/mcp (JSON-RPC; a plain GET returns 406)
環境変数
| 変数 | デフォルト | 備考 |
|---|---|---|
PAPER_MCP_HOST | 127.0.0.1 | |
PAPER_MCP_PORT | 9400 | |
PAPER_MCP_PATH | /mcp | |
SEMANTIC_SCHOLAR_API_KEY | — | 任意。S2 のレート制限が緩和されます。 |
MCP_MAX_PER_HOUR | 300 | クライアントから直接送信する JSON-RPC POST の IP ごとの上限です。 |
MCP_WORKER_MAX_PER_HOUR | 300 | 信頼されたリバースプロキシ Worker の HMAC 由来接続キーごとの上限です。生のキーは保持されません。 |
MCP_WORKER_SHARED_MAX_PER_HOUR | 2400 | 信頼されたすべての Worker 接続に共通する上限です。 |
MCP_RATE_COOLDOWN_SEC | 300 | バケットが上限に達した後、最低限適用される高速拒否のクールダウン時間です。 |
備考
- arXiv への呼び出しには、適切なレート制限と再試行が適用されます(
_USER_AGENT、バックオフ)。 read_paperは公式 HTML を介して論文の約80%以上をカバーします。古いスキャンのみの論文には全文がない場合があります。- 2026-06-07 に
docsリポジトリから移動しました。そちらのコピーは削除されています。
ライセンス
MIT © MCPServings。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。