Trove

io.github.LalwaniPalash由 GitHub 帳號 LalwaniPalash 發布v0.1.11更新於 Oct 24, 2026

Fail-closed academic research server: search, full text, citations across open scholarly APIs.

發布方自己的服務:Trove

概覽

AI 產生的概覽

Trove 是本地 MCP 伺服器,讓助理檢索學術文獻、讀取開放全文、追蹤引用關係,並產出結構化的研究結果。

可以做什麼
跨 OpenAlex、Semantic Scholar、arXiv、PubMed 與 CORE 檢索並解析論文,支援去重與排序,可用 DOI、arXiv、PubMed 編號或標題定位,並依本地快照的引用速度列出熱門論文。讀取開放全文,分塊輸出,並回退到開放取用 PDF。追蹤引用與被引用文獻,透過 Semantic Scholar 推薦尋找相似論文。查詢作者與機構資料,整理共同作者網路。建立文獻地圖、比較二到五篇論文,並追溯某個想法的歷史脈絡。
適用情境
適合在對話中進行文獻探索與閱讀:尋找某主題的論文、比較方法、追溯想法來源,或查看某篇論文被誰引用。適合偏好明確回傳部分結果或不可用、而非猜測答案的研究者。
執行需求
以 stdio 在本機執行,通常透過 npx 與 Node.js 啟動,也可使用帶 bearer 權杖的 HTTP 模式。啟動不需要 API 金鑰。選用設定:TROVE_CONTACT_EMAIL 與 UNPAYWALL_EMAIL 用於 OpenAlex 合規使用與開放取用查詢,TROVE_DB_PATH 指定本機 SQLite 快取,SEMANTIC_SCHOLAR_API_KEY 讓相似論文更可靠,CORE_API_KEY 提升全文吞吐量。需要連線各學術 API 的網路。
安裝前請注意
選用金鑰 CORE_API_KEY 與 SEMANTIC_SCHOLAR_API_KEY 以環境變數傳入。聯絡信箱會傳送給 OpenAlex、Unpaywall 等提供者。伺服器會在 TROVE_DB_PATH 保存本機 SQLite 快取與引用快照。熱門論文與相似論文工具需要額外設定與歷史資料,在此之前會回傳不可用或錯誤;若不需要可用 TROVE_DISABLED_TOOLS 隱藏。HTTP 模式需設定 bearer 權杖。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Trove,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

trove-mcp

npm package · GitHub repo

Trove is an MCP server for academic research.

The basic idea is simple: let Claude search papers, fetch metadata, read open full text when it can, and build structured outputs on top of that.

I have tried to keep it conservative. If a provider cannot support an answer well enough, Trove returns partial, error, or unavailable instead of pretending it knows more than it does.

What it connects to

  • OpenAlex (primary metadata, discovery, citations)
  • Semantic Scholar (semantic recommendations and similarity)
  • arXiv (preprint metadata and full text)
  • Unpaywall (OA discovery by DOI)
  • PubMed (biomedical indexing)
  • Hugging Face Papers API (discovery context endpoints; strict trending uses citation snapshots only)
  • CORE (full-text fallback)

Install (Claude Desktop, stdio)

No local install is required with npx.

Quick smoke test:

bash
npx -y trove-mcp@latest sync --queries="graph neural network"

Optional global install:

bash
npm i -g trove-mcptrove-mcp sync --queries="graph neural network"

Claude Desktop on macOS

  1. Open Claude Desktop.
  2. Go to Settings -> Developer -> Edit Config.
  3. Edit ~/Library/Application Support/Claude/claude_desktop_config.json.
  4. Add this server entry under mcpServers:
json
{  "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. Save the file and fully restart Claude Desktop.
  2. Start a new chat and use Trove tools.

No API keys are required to start. Missing optional keys produce graceful partial/degraded responses.

Using with Claude

If you want Claude to use Trove, just say so in the prompt.

Examples:

  • "Use Trove to find papers on speculative decoding"
  • "Use Trove to compare DPO and RLHF papers"
  • "Use Trove to trace the origin of LoRA"

If you do not want Claude to touch the setup-sensitive tools, hide them with TROVE_DISABLED_TOOLS.

What to expect on a fresh install

  • get_trending_papers will usually return mode = unavailable on first run. Trove has to accumulate at least two local citation snapshot dates before it can compute citation velocity honestly.
  • find_similar_papers works without a Semantic Scholar key, but keyless calls share a busy pool and often get 429. Semantic Scholar also has no recommendations for many papers outside computer science and recent work. In both cases Trove returns an error and says why. It never falls back to keyword overlap.
  • Some papers are retrievable even when their provider coverage is incomplete. For example, an arXiv preprint may have full text but no usable reference list in Semantic Scholar or OpenAlex.

Runtime behavior

  • Every tool returns a structured envelope with status, degraded, warnings, provenance, meta.version, and tool-specific data.
  • Provider outages and rate limits are surfaced as warnings, not process crashes.
  • Trove prefers explicit unavailability over approximate output. That is why some tools return empty results with warnings instead of "best effort" guesses.

Tools with real prerequisites

  • get_trending_papers
    • Strict fail-closed: only returns mode = snapshot when local citation history contains at least two snapshot dates and the computed velocity is non-zero.
    • Candidate discovery can come from OpenAlex, Semantic Scholar, and Hugging Face, but none of those official APIs provide day-level historical citation data.
    • First-run mode = unavailable is expected. Run trove sync once to seed, then rerun after a later day to accumulate history.
  • find_similar_papers
    • Strict fail-closed: Semantic Scholar only, no lexical fallback.
    • Reliable use requires SEMANTIC_SCHOLAR_API_KEY.
    • Without a key, Trove returns an explicit error immediately instead of spending time on unreliable unauthenticated requests.

Known provider constraints

  • Semantic Scholar is publicly accessible without a key, but unauthenticated traffic uses a shared pool and often returns 429.
  • Unpaywall is only used when UNPAYWALL_EMAIL or TROVE_CONTACT_EMAIL is set.
  • CORE works without a key for basic access but may rate-limit or degrade under load; CORE_API_KEY improves throughput. Also the CORE API is free, you just need to signup on their site and verify your mail address.
  • get_references is strict fail-closed. Some large institutional arXiv preprints are retrievable as papers but still lack usable reference coverage in both Semantic Scholar and OpenAlex. In those cases Trove returns an explicit warning and suggests get_full_text for inline citation inspection.
  • get_author returns mostCitedPaperIds and recentPaperIds as best-effort enrichment. If those follow-up lists cannot be fetched reliably, Trove returns the profile as partial and does not cache empty arrays as authoritative.
  • OpenAlex-heavy search can still be domain-ambiguous for niche queries. search_papers and build_literature_map apply precision gates, but overloaded terms may still need tighter prompts or filters.
  • trace_idea uses heuristic origin ranking. The timeline is often useful, but the earliest canonical paper can still be missed when provider ranking is imperfect.

A practical setup

If you just want the useful core workflow, this is enough:

  • TROVE_CONTACT_EMAIL
  • UNPAYWALL_EMAIL
  • TROVE_DB_PATH

If you want similar-paper recommendations to work reliably, also set:

  • SEMANTIC_SCHOLAR_API_KEY

If you want trending to become useful, run:

bash
npx -y trove-mcp@latest sync

and do that on a schedule. Trending depends on local snapshot history, so it will not be useful on day one.

If you want a more conservative setup, you can hide the tools that need extra setup:

json
{  "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"      }    }  }}

That gives you the core paper-search / paper-read / compare / trace workflow without exposing the two tools that are most sensitive to setup.

HTTP mode (streamable)

bash
TROVE_HTTP_BEARER_TOKEN=change-me npx trove-mcp --transport=http --port=3000

Browser client example:

bash
TROVE_HTTP_BEARER_TOKEN=change-me TROVE_HTTP_CORS_ORIGIN=http://localhost:3000 npx trove-mcp --transport=http --port=3000
  • POST /mcp for authenticated MCP requests
  • GET /health for health checks
  • Auth header: Authorization: Bearer <token>
  • CORS exposes Mcp-Session-Id/MCP-Session-Id for browser MCP clients

Tools

ToolWhat it does
search_papersMulti-source search + dedupe + deterministic ranking (OpenAlex/S2/arXiv/PubMed/CORE)
get_trending_papersTopic papers ranked by citation velocity with `mode = snapshot
get_paperResolve paper by DOI/arXiv/S2/OpenAlex/PubMed/title
get_full_textarXiv -> OpenAlex open-access PDF location -> Unpaywall -> CORE full-text fallback with chunked output; a journal landing page is followed to the PDF named in its citation_pdf_url tag
get_citationsPapers that cite a target paper
get_referencesPapers referenced by a target paper
find_similar_papersSemantic Scholar recommendations; works without a key, SEMANTIC_SCHOLAR_API_KEY makes it reliable
get_authorAuthor profile and impact metrics; paper-list enrichment is best-effort
get_institution_outputInstitution profile + publication output
get_coauthor_networkCollaboration graph around an author
build_literature_mapStructured evidence map (claims/methods/limitations/consensus)
compare_papersStructured 2-5 paper comparison
trace_ideaConcept lineage across time and influence

Resources

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

Prompts

  • literature-review-workflow
  • paper-comparison-workflow
  • idea-lineage-workflow

These are optional workflow helpers.

Sync job for citation snapshots

bash
npx trove-mcp syncnpx trove-mcp sync --queries="agentic ai,graph neural network,causal inference"

Run this on a schedule (e.g. cron) to improve get_trending_papers quality. Without older local snapshots, first-run trending results will correctly return mode = unavailable. If you want actual short-window trending, run this at least twice on different days.

Tests

The tests are mostly there to protect the parts that are easy to quietly break:

  • identifier normalization
  • dedupe / alias handling
  • ranking and off-topic filtering
  • full-text cleanup quality
  • synthesis extraction quality
  • fail-closed provider behavior
  • release gates for fake trending / fake similarity / weak evidence
  • live provider contract checks

npm run verify:release is in the publish path. Live tests are separate because they depend on upstream providers behaving that day.

Development

bash
npm installnpm run typechecknpm testnpm run test:qualitynpm run verify:releasenpm run buildnpm run inspect

Live-contract tests:

bash
LIVE_CONTRACT=1 npm run test:live

Temporarily hide tools from MCP registration (for strict release gating):

bash
TROVE_DISABLED_TOOLS=get_trending_papers,find_similar_papers npx -y trove-mcp@latest

Data and compliance

  • No scraping
  • No Sci-Hub or paywalled bypassing
  • All sources are public/open APIs or legal OA links

Contributing and support

Bug reports, questions and pull requests are welcome. See CONTRIBUTING.md.

Citation

If you use Trove in research, please cite it using CITATION.cff.

License

MIT

來源:README.md,提交 ffd03c8

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.1.11最新Oct 14, 2026
  2. v0.1.10Oct 14, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Trove 整合