mcpField
T
Trove

Trove

ローカル
github.com/LalwaniPalash検索02 週間前に更新

Trove について

Troveは、論文検索、メタデータ取得、オープンな全文取得、研究成果の構造化を行う学術研究向けMCPサーバーです。公開学術APIに接続し、根拠や提供元の対応が不十分な場合は推測で補わず、部分的または利用不可として返します。

主な機能

  1. 01複数ソースの検索・重複排除・順位付け
  2. 02全文、引用、参考文献の取得
  3. 03著者、機関、共著ネットワークの検索
  4. 04文献マップの作成と論文比較
  5. 05研究アイデアの系譜追跡
  6. 06引用速度による話題論文の順位付け

活用シーン

  1. 01複数の学術ソースからテーマの論文を検索
  2. 02全文を取得して引用関係を確認
  3. 03文献の主張、手法、限界を整理
  4. 04論文を比較し概念の起源を追跡

MCP 対応

MCPサーバーとして、学術検索、論文・著者の照会、文献整理のツールに加え、リソースとワークフロープロンプトを提供します。MCPクライアントはstdio、またはBearerトークン付きHTTPで接続できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"lalwanipalash-trove": {
"command": "npx",
"args": [
"-y",
"trove-mcp"
],
"env": {
"TROVE_CONTACT_EMAIL": "<TROVE_CONTACT_EMAIL>",
"UNPAYWALL_EMAIL": "<UNPAYWALL_EMAIL>",
"TROVE_DB_PATH": "<TROVE_DB_PATH>",
"SEMANTIC_SCHOLAR_API_KEY": "<SEMANTIC_SCHOLAR_API_KEY>",
"CORE_API_KEY": "<CORE_API_KEY>"
}
}
}
}
起動コマンドnpx -y trove-mcp
設定が必要な環境変数
TROVE_CONTACT_EMAILContact email for polite OpenAlex usage
UNPAYWALL_EMAILEmail required to enable Unpaywall open-access lookup
TROVE_DB_PATHPath to the local SQLite cache and citation-snapshot database
SEMANTIC_SCHOLAR_API_KEYシークレットNeeded for reliable find_similar_papers
CORE_API_KEYシークレットImproves CORE full-text throughput

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmtrove-mcp0.1.11

ツール

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

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

詳細

trove-mcp

npm パッケージ · GitHub リポジトリ

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
  1. Claude Desktop を開きます。
  2. Settings -> Developer -> Edit Config に移動します。
  3. ~/Library/Application Support/Claude/claude_desktop_config.json を編集します。
  4. 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": ""
      }
    }
  }
}
  1. ファイルを保存し、Claude Desktop を完全に再起動します。
  2. 新しいチャットを開始し、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 を一度実行して初期データを取得し、その後、日を改めて再実行して履歴を蓄積してください。
  • 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_EMAIL
  • UNPAYWALL_EMAIL
  • TROVE_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_paperDOI/arXiv/S2/OpenAlex/PubMed/タイトルから論文を特定
get_full_textarXiv → OpenAlex のオープンアクセス PDF の場所 → Unpaywall → CORE の全文フォールバックを、分割出力で提供。ジャーナルのランディングページの場合は、その citation_pdf_url タグで指定された PDF を取得
get_citations対象論文を引用している論文を取得
get_references対象論文が引用している論文を取得
find_similar_papersSemantic Scholar の推薦を取得。キーなしでも動作しますが、SEMANTIC_SCHOLAR_API_KEY を設定すると安定して利用できます
get_author著者プロフィールと影響力指標を取得。論文リストの拡充はベストエフォートです
get_institution_output機関のプロフィールと出版実績を取得
get_coauthor_network著者を中心とする共同研究ネットワークを取得
build_literature_map構造化されたエビデンスマップ(主張/手法/限界/コンセンサス)を作成
compare_papers2~5本の論文を構造化して比較
trace_idea時系列と影響に沿って概念の系譜を追跡

リソース

  • trove://resources/version
  • trove://resources/source-capability-matrix
  • trove://resources/schema-reference
  • trove://resources/cache-health

プロンプト

  • literature-review-workflow
  • paper-comparison-workflow
  • idea-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

コメント

MCP は初めてですか?

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

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