Trove について
Troveは、論文検索、メタデータ取得、オープンな全文取得、研究成果の構造化を行う学術研究向けMCPサーバーです。公開学術APIに接続し、根拠や提供元の対応が不十分な場合は推測で補わず、部分的または利用不可として返します。
主な機能
- 01複数ソースの検索・重複排除・順位付け
- 02全文、引用、参考文献の取得
- 03著者、機関、共著ネットワークの検索
- 04文献マップの作成と論文比較
- 05研究アイデアの系譜追跡
- 06引用速度による話題論文の順位付け
活用シーン
- 01複数の学術ソースからテーマの論文を検索
- 02全文を取得して引用関係を確認
- 03文献の主張、手法、限界を整理
- 04論文を比較し概念の起源を追跡
MCP 対応
MCPサーバーとして、学術検索、論文・著者の照会、文献整理のツールに加え、リソースとワークフロープロンプトを提供します。MCPクライアントはstdio、またはBearerトークン付きHTTPで接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y trove-mcpTROVE_CONTACT_EMAILContact email for polite OpenAlex usageUNPAYWALL_EMAILEmail required to enable Unpaywall open-access lookupTROVE_DB_PATHPath to the local SQLite cache and citation-snapshot databaseSEMANTIC_SCHOLAR_API_KEYシークレットNeeded for reliable find_similar_papersCORE_API_KEYシークレットImproves CORE full-text throughputローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
trove-mcp
Trove は学術研究向けの MCP サーバーです。
基本的な考え方はシンプルです。Claude が論文を検索し、メタデータを取得し、可能な場合はオープンな全文を読み取り、その情報をもとに構造化された出力を作成できるようにします。
保守的な動作になるよう努めています。プロバイダーが十分に裏付けられた回答を提供できない場合、知っている以上のことを知っているかのように装うのではなく、Trove は partial、error、または unavailable を返します。
接続先
- OpenAlex(主なメタデータ、発見、引用)
- Semantic Scholar(セマンティックな推薦と類似性)
- arXiv(プレプリントのメタデータと全文)
- Unpaywall(DOI による OA の発見)
- PubMed(生物医学分野のインデックス)
- Hugging Face Papers API(発見のコンテキスト用エンドポイント。厳密なトレンド判定では引用スナップショットのみを使用)
- CORE(全文のフォールバック)
インストール(Claude Desktop、stdio)
npx を使えばローカルへのインストールは不要です。
簡単なスモークテスト:
npx -y trove-mcp@latest sync --queries="graph neural network"
グローバルインストール(任意):
npm i -g trove-mcp
trove-mcp sync --queries="graph neural network"
macOS の Claude Desktop
- Claude Desktop を開きます。
Settings->Developer->Edit Configに移動します。~/Library/Application Support/Claude/claude_desktop_config.jsonを編集します。mcpServersの下に、このサーバーエントリを追加します。
{
"mcpServers": {
"trove": {
"command": "npx",
"args": ["-y", "trove-mcp"],
"env": {
"TROVE_CONTACT_EMAIL": "[email protected]",
"TROVE_DB_PATH": "/Users/you/.trove-mcp/trove.db",
"SEMANTIC_SCHOLAR_API_KEY": "",
"UNPAYWALL_EMAIL": "[email protected]",
"CORE_API_KEY": ""
}
}
}
}
- ファイルを保存し、Claude Desktop を完全に再起動します。
- 新しいチャットを開始し、Trove のツールを使います。
開始時に API キーは必要ありません。任意のキーが設定されていない場合も、適切に部分的な応答や機能を制限した応答が返されます。
Claude での使用
Claude に Trove を使わせたい場合は、プロンプトでそのように伝えてください。
例:
- 「Trove を使って speculative decoding に関する論文を探してください」
- 「Trove を使って DPO と RLHF の論文を比較してください」
- 「Trove を使って LoRA の起源をたどってください」
セットアップに影響するツールを Claude に使わせたくない場合は、TROVE_DISABLED_TOOLS で非表示にしてください。
新規インストール直後に想定される動作
get_trending_papersは、初回実行時に通常mode = unavailableを返します。引用速度を正しく計算するには、Trove がローカルの引用スナップショットの日付を少なくとも 2 つ蓄積する必要があります。find_similar_papersは Semantic Scholar のキーなしでも動作しますが、キーなしの呼び出しは混雑したプールを共有するため、429が頻繁に発生します。また、Semantic Scholar では、コンピューターサイエンス以外の分野や最近の研究の多くについて、推薦がありません。どちらの場合も、Trove は理由を示してエラーを返します。キーワードの重複を代替手段として使うことはありません。- プロバイダーの収録範囲が不完全でも、取得できる論文があります。たとえば、arXiv のプレプリントに全文があっても、Semantic Scholar や OpenAlex には利用可能な参考文献リストがない場合があります。
実行時の動作
- 各ツールは、
status、degraded、warnings、provenance、meta.version、およびツール固有のdataを含む構造化されたエンベロープを返します。 - プロバイダーの障害やレート制限は、プロセスのクラッシュではなく警告として通知されます。
- Trove は近似的な出力よりも、明示的な利用不可の通知を優先します。そのため、一部のツールでは「最善努力」による推測ではなく、警告とともに空の結果を返します。
実際の前提条件があるツール
get_trending_papers- 厳格なフェイルクローズ方式です。ローカルの引用履歴に少なくとも 2 つのスナップショット日が含まれ、計算された速度がゼロ以外の場合にのみ、
mode = snapshotを返します。 - 候補の発見には OpenAlex、Semantic Scholar、Hugging Face を利用できますが、これらの公式 API には日単位の過去の引用データがありません。
- 初回実行時に
mode = unavailableとなるのは想定どおりです。まずtrove syncを一度実行して初期データを取得し、その後、日を改めて再実行して履歴を蓄積してください。
- 厳格なフェイルクローズ方式です。ローカルの引用履歴に少なくとも 2 つのスナップショット日が含まれ、計算された速度がゼロ以外の場合にのみ、
find_similar_papers- 厳格なフェイルクローズ方式です。Semantic Scholar のみを使用し、語彙的なフォールバックはありません。
- 安定して利用するには
SEMANTIC_SCHOLAR_API_KEYが必要です。 - キーがない場合、信頼性の低い未認証リクエストに時間を費やすことなく、Trove はただちに明示的なエラーを返します。
プロバイダーの既知の制約
- Semantic Scholar はキーなしで一般公開されていますが、認証されていないトラフィックは共有プールを使用するため、
429が頻繁に返されます。 - Unpaywall は、
UNPAYWALL_EMAILまたはTROVE_CONTACT_EMAILが設定されている場合にのみ使用されます。 - CORE は基本的なアクセスであればキーなしで利用できますが、負荷が高いとレート制限が適用されたり、性能が低下したりすることがあります。
CORE_API_KEYを設定するとスループットが向上します。また、CORE API は無料です。サイトでサインアップし、メールアドレスを確認するだけで利用できます。 get_referencesは厳格なフェイルクローズ方式です。一部の大規模な機関による arXiv プレプリントは論文として取得できても、Semantic Scholar と OpenAlex のどちらでも利用可能な参考文献情報が不足している場合があります。その場合、Trove は明示的な警告を返し、本文中の引用を確認するためにget_full_textを使うよう提案します。get_authorは、ベストエフォートの拡充情報としてmostCitedPaperIdsとrecentPaperIdsを返します。これらの後続リストを確実に取得できない場合、Trove はプロフィールをpartialとして返し、空の配列を確定情報としてキャッシュしません。- OpenAlex を多用する検索では、ニッチなクエリが扱う分野を特定できない場合があります。
search_papersとbuild_literature_mapでは精度のゲートを適用しますが、複数の意味を持つ用語では、より具体的なプロンプトやフィルターが必要になることがあります。 trace_ideaはヒューリスティックに基づいて起源を順位付けします。タイムラインは多くの場合役立ちますが、プロバイダーの順位付けが不正確だと、最も古い主要論文を見落とすことがあります。
実用的なセットアップ
便利な基本ワークフローだけを使いたい場合は、次の設定で十分です。
TROVE_CONTACT_EMAILUNPAYWALL_EMAILTROVE_DB_PATH
類似論文の推薦を安定して利用したい場合は、次も設定してください。
SEMANTIC_SCHOLAR_API_KEY
トレンド機能を活用したい場合は、次を実行してください。
npx -y trove-mcp@latest sync
これを定期的に実行してください。トレンド機能はローカルのスナップショット履歴に依存するため、初日から役立つわけではありません。
より保守的なセットアップにしたい場合は、追加の設定が必要なツールを非表示にできます。
{
"mcpServers": {
"trove": {
"command": "npx",
"args": ["-y", "trove-mcp"],
"env": {
"TROVE_CONTACT_EMAIL": "[email protected]",
"TROVE_DB_PATH": "/Users/you/.trove-mcp/trove.db",
"UNPAYWALL_EMAIL": "[email protected]",
"TROVE_DISABLED_TOOLS": "get_trending_papers,find_similar_papers"
}
}
}
}
これにより、セットアップの影響を特に受けやすい2つのツールを公開せずに、論文の検索・閲覧・比較・追跡という基本ワークフローを利用できます。
HTTP モード(ストリーミング可能)
TROVE_HTTP_BEARER_TOKEN=change-me npx trove-mcp --transport=http --port=3000
ブラウザクライアントの例:
TROVE_HTTP_BEARER_TOKEN=change-me TROVE_HTTP_CORS_ORIGIN=http://localhost:3000 npx trove-mcp --transport=http --port=3000
- 認証済みの MCP リクエストには
POST /mcp - ヘルスチェックには
GET /health - 認証ヘッダー:
Authorization: Bearer <token> - CORS では、ブラウザ MCP クライアント向けに
Mcp-Session-Id/MCP-Session-Idを公開します
ツール
| ツール | 機能 |
|---|---|
search_papers | 複数ソースからの検索、重複排除、決定論的な順位付け(OpenAlex/S2/arXiv/PubMed/CORE) |
get_trending_papers | `mode = snapshot |
get_paper | DOI/arXiv/S2/OpenAlex/PubMed/タイトルから論文を特定 |
get_full_text | arXiv → OpenAlex のオープンアクセス PDF の場所 → Unpaywall → CORE の全文フォールバックを、分割出力で提供。ジャーナルのランディングページの場合は、その citation_pdf_url タグで指定された PDF を取得 |
get_citations | 対象論文を引用している論文を取得 |
get_references | 対象論文が引用している論文を取得 |
find_similar_papers | Semantic Scholar の推薦を取得。キーなしでも動作しますが、SEMANTIC_SCHOLAR_API_KEY を設定すると安定して利用できます |
get_author | 著者プロフィールと影響力指標を取得。論文リストの拡充はベストエフォートです |
get_institution_output | 機関のプロフィールと出版実績を取得 |
get_coauthor_network | 著者を中心とする共同研究ネットワークを取得 |
build_literature_map | 構造化されたエビデンスマップ(主張/手法/限界/コンセンサス)を作成 |
compare_papers | 2~5本の論文を構造化して比較 |
trace_idea | 時系列と影響に沿って概念の系譜を追跡 |
リソース
trove://resources/versiontrove://resources/source-capability-matrixtrove://resources/schema-referencetrove://resources/cache-health
プロンプト
literature-review-workflowpaper-comparison-workflowidea-lineage-workflow
これらは任意で利用できるワークフロー補助機能です。
引用スナップショットの同期ジョブ
npx trove-mcp sync
npx trove-mcp sync --queries="agentic ai,graph neural network,causal inference"
get_trending_papers の品質を高めるため、スケジュール(例:cron)に登録して実行してください。
古いローカルスナップショットがない場合、初回のトレンド結果は mode = unavailable を正しく返します。
短期間の実際のトレンドを取得するには、異なる日に少なくとも2回実行してください。
テスト
テストは主に、気付かないうちに壊れやすい部分を保護するために用意されています。
- 識別子の正規化
- 重複排除/エイリアス処理
- ランキングとトピック外の項目のフィルタリング
- 全文のクリーンアップ品質
- 統合情報の抽出品質
- プロバイダーのフェイルクローズ動作
- 偽のトレンド/偽の類似性/根拠不足に対するリリースゲート
- ライブプロバイダーの契約チェック
npm run verify:release は公開プロセスに含まれています。ライブテストは上流のプロバイダーのその日の動作に依存するため、別に実施します。
開発
npm install
npm run typecheck
npm test
npm run test:quality
npm run verify:release
npm run build
npm run inspect
ライブ契約テスト:
LIVE_CONTRACT=1 npm run test:live
厳格なリリースゲートのために、MCP 登録からツールを一時的に非表示にする方法:
TROVE_DISABLED_TOOLS=get_trending_papers,find_similar_papers npx -y trove-mcp@latest
データとコンプライアンス
- スクレイピングは行いません
- Sci-Hub の利用や有料コンテンツの回避は行いません
- すべてのソースは公開/オープン API、または合法的な OA リンクです
貢献とサポート
バグ報告、質問、プルリクエストを歓迎します。CONTRIBUTING.md をご覧ください。
引用
研究で Trove を使用する場合は、CITATION.cff を使って引用してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。