Are you the author? Sign in to claim
mcp-paper-search
日本語・英語の学術論文を検索し、本文の取得可能性を判定し、公開 PDF をローカル収集する MCP サーバー。Claude Code などの LLM エージェントから利用することを想定しています。
データソースごとの API 差異はサーバー内部で吸収し、LLM には統一された 4 つの Tool だけを公開します。
| Tool | 役割 |
|---|---|
search_papers | 日英複数ソースの並列検索。正規化・重複除去・ランキング済みの候補を返す |
inspect_papers | 複数論文の詳細と本文取得可能性(available / restricted 等)を一括調査 |
collect_papers | 公開 PDF を一括ダウンロードしローカル保存(SHA-256 記録、重複防止) |
get_collected_papers | 収集済みファイルのローカルパス等を返す |
すべてバッチ入力(paper_ids[])で、一部の失敗があっても成功分は返します(部分成功)。
要件: uv(Python 3.12+ は uv が自動管理)
git clone <this-repo>
cd mcp-paper-search
uv sync
プロジェクトルート(または利用したいワークスペース)の .mcp.json に追加:
{
"mcpServers": {
"paper-search": {
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-paper-search", "paper-search-mcp"],
"env": {
"PAPER_SEARCH_DATA_DIR": "/path/to/mcp-paper-search/data"
}
}
}
}
| 変数 | 必須 | 説明 |
|---|---|---|
PAPER_SEARCH_DATA_DIR | 任意 | PDF・収集記録の保存先(デフォルト ./data) |
CINII_APP_ID | 任意 | CiNii Research の appid。なしでも動作するが、継続利用には NII へのアプリケーション登録を推奨 |
Claude Code に次のように依頼すると、search → inspect → collect のワークフローが実行されます。
組込みソフトウェア開発における AI エージェント活用について、
日本語と英語の論文を探して、関連度の高いものを PDF で収集して。
収集した PDF は data/papers/{年}/{paper-id}.pdf に保存されます。
uv run pytest # offline テスト(実 API は叩かない)
uv run pytest -m live # 実 API との整合検証(arXiv / CiNii)
uv run ruff check src tests # lint
uv run mypy # 型チェック(strict)
設計ドキュメントは docs/plan.md、開発時の規約は CLAUDE.md を参照してください。
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows