Academia MCP について
Academia MCP は、科学論文とデータセットの検索、取得、分析、レポート作成を行うツールを提供する MCP サーバーです。研究者や科学研究の自動化を想定しており、arXiv、ACL Anthology、Hugging Face、Web 検索などのソースを利用できます。LLM を用いた文書 QA や研究提案のツールもオプションで有効にできます。
主な機能
- 01arXiv の検索と論文のダウンロード
- 02ACL Anthology の検索
- 03Hugging Face データセットの検索
- 04Semantic Scholar の被引用・参考文献の取得
- 05Web 検索と PDF の読み取り
- 06オプションの LaTeX コンパイルと LLM ツール
活用シーン
- 01文献レビューのための論文の検索とダウンロード
- 02特定の論文を引用している論文や参考文献の一覧取得
- 03LaTeX レポートのコンパイルと PDF 内容の読み取り
MCP 対応
本プロジェクトは MCP サーバーとして、論文検索・分析ツールを stdio や HTTP トランスポートで Claude Desktop などの MCP クライアントに公開します。HTTP トランスポートではトークン認証も利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://server.smithery.ai/@IlyaGusev/academia_mcp/mcpclaude mcp add --transport http academia_mcp https://server.smithery.ai/@IlyaGusev/academia_mcp/mcp{"mcpServers":{"academia_mcp":{"type":"http","url":"https://server.smithery.ai/@IlyaGusev/academia_mcp/mcp"}}}Cursor で開く{"servers":{"academia_mcp":{"type":"http","url":"https://server.smithery.ai/@IlyaGusev/academia_mcp/mcp"}}}VS Code で開く{"mcpServers":{"academia_mcp":{"type":"http","url":"https://server.smithery.ai/@IlyaGusev/academia_mcp/mcp"}}}{"mcpServers":{"academia_mcp":{"serverUrl":"https://server.smithery.ai/@IlyaGusev/academia_mcp/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://server.smithery.ai/@IlyaGusev/academia_mcp/mcp認証が必要ツール
詳細
Academia MCP
科学論文やデータセットの検索、取得、分析、レポート作成を行うツールを備えた MCP サーバーです。
機能
- arXiv の検索とダウンロード
- ACL Anthology の検索
- Hugging Face データセットの検索
- Semantic Scholar の引用と参考文献
- Exa、Brave、または Tavily を使ったウェブ検索
- ウェブページのクローリング、LaTeX のコンパイル、PDF の読み取り
- ドキュメントへの質問応答や研究提案ワークフロー向けの、LLM を活用したオプションのツール
要件
- Python 3.12+
インストール
- pip を使用(エンドユーザー向け):
pip3 install academia-mcp
- 開発向け(uv + Makefile):
uv venv .venv
make install
クイックスタート
- HTTP で実行(デフォルトのトランスポート):
python -m academia_mcp --transport streamable-http
# OR
uv run -m academia_mcp --transport streamable-http
- stdio で実行(Claude Desktop など、ローカルの MCP クライアント向け):
python -m academia_mcp --transport stdio
# OR
uv run -m academia_mcp --transport stdio
注:
- トランスポート:
stdio、sse、streamable-http。 host/portは HTTP トランスポートで使用され、stdioでは無視されます。デフォルトのポートは5056(またはPORT)です。
認証
Academia MCP は、HTTP トランスポート(streamable-http と sse)でオプションのトークンベース認証をサポートしています。後方互換性を維持するため、認証はデフォルトで無効になっています。
認証を有効にする
ENABLE_AUTH 環境変数を true に設定します。
export ENABLE_AUTH=true
export TOKENS_FILE=/path/to/tokens.json # Optional, defaults to ./tokens.json
トークンの管理
新しいトークンを発行します:
academia_mcp auth issue-token --client-id=my-client --description="Production API client"
# Issue token with 30-day expiration
academia_mcp auth issue-token --client-id=test-client --expires-days=30
# Issue token with custom scopes
academia_mcp auth issue-token --client-id=admin --scopes="read,write,admin"
有効なトークンを一覧表示します:
academia_mcp auth list-tokens
トークンを失効させます:
academia_mcp auth revoke-token mcp_a1b2c3d4e5f6...
トークンの使用
Bearer スキームを使って Authorization ヘッダーにトークンを含めるか、クエリパラメーター apiKey として指定します。
セキュリティに関する注意:
- トークンは発行時に一度だけ表示されます。安全に保管してください。
- 通信中のトークンを保護するため、本番環境では HTTPS を使用してください。
tokens.jsonファイルは、制限付きの権限(モード 600)で自動作成されます。- トークンは平文で保存されます(ベアラートークンの標準的な慣行です)。トークンファイルを保護してください。
Claude Desktop の設定
{
"mcpServers": {
"academia": {
"command": "python3",
"args": [
"-m",
"academia_mcp",
"--transport",
"stdio"
]
}
}
}
利用可能なツール(一行での説明)
arxiv_search:フィールド指定のクエリとフィルターを使って arXiv を検索します。arxiv_download:ID で論文を取得し、構造化テキストに変換します(HTML/PDF モード)。anthology_search:フィールド指定のクエリと任意の日付フィルターを使って ACL Anthology を検索します。hf_datasets_search:フィルターと並べ替えを使って Hugging Face のデータセットを検索します。s2_get_citations:指定した arXiv 論文を引用している論文を一覧表示します(Semantic Scholar Graph)。s2_get_references:指定した arXiv 論文が参照している論文を一覧表示します。visit_webpage:ウェブページを取得し、標準化します。web_search:統合検索ラッパー。Exa/Brave/Tavily のキーが少なくとも1つ設定されている場合に利用できます。exa_web_search、brave_web_search、tavily_web_search:プロバイダー固有の検索です。get_latex_templates_list、get_latex_template:組み込みの LaTeX テンプレートを列挙して取得します。compile_latex:WORKSPACE_DIR内で LaTeX を PDF にコンパイルします。read_pdf:PDF からページごとにテキストを抽出します。download_pdf_paper、review_pdf_paper:PDF をダウンロードし、任意でレビューします(LLM とワークスペースが必要です)。document_qa:提供されたドキュメントのチャンクについて質問に回答します(LLM が必要です)。extract_bitflip_info、generate_research_proposals、score_research_proposals:研究提案を支援するツールです(LLM が必要です)。
利用可否に関する注意:
compile_latex、read_pdf、download_pdf_paper、review_pdf_paperを有効にするには、WORKSPACE_DIRを設定します。- LLM ツール(
document_qa、review_pdf_paper、bitflip ツール)を有効にするには、OPENROUTER_API_KEYを設定します。 web_searchとプロバイダーツールを有効にするには、EXA_API_KEY、BRAVE_API_KEY、TAVILY_API_KEYのいずれか、または複数を設定します。
環境変数
使用するツールに応じて、必要なものを設定します。
OPENROUTER_API_KEY:LLM 関連のツールに必要です。BASE_URL:OpenRouter のベース URL を上書きします。DOCUMENT_QA_MODEL_NAME:document_qaのデフォルトモデルを上書きします。BITFLIP_MODEL_NAME:bitflip ツールのデフォルトモデルを上書きします。TAVILY_API_KEY:web_searchで Tavily を有効にします。EXA_API_KEY:web_searchとvisit_webpageで Exa を有効にします。BRAVE_API_KEY:web_searchで Brave を有効にします。WORKSPACE_DIR:生成ファイル(PDF、一時ファイル)の保存先ディレクトリです。PORT:HTTP ポート(デフォルトは5056)です。
これらはプロジェクトのルートにある .env ファイルに記述できます。
Docker
イメージをビルドします。
docker build -t academia_mcp .
サーバーを実行します(HTTP)。
docker run --rm -p 5056:5056 \
-e PORT=5056 \
-e OPENROUTER_API_KEY=your_key_here \
-e WORKSPACE_DIR=/workspace \
-v "$PWD/workdir:/workspace" \
academia_mcp
または、既存のイメージを使用します:phoenix120/academia_mcp
例
Makefile のターゲット
make install:uv を使用して、編集可能モードでパッケージをインストールしますmake validate:black、flake8、mypy(strict)を実行しますmake test:pytest でテストスイートを実行しますmake publish:uv を使用してビルドし、公開します
LaTeX/PDF の要件
LaTeX/PDF ツールを使用する場合にのみ必要です。LaTeX ディストリビューションがインストールされ、pdflatex と latexmk が PATH に設定されていることを確認してください。Debian/Ubuntu の場合:
sudo apt install texlive-latex-base texlive-fonts-recommended texlive-latex-extra texlive-science latexmk
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。