trove-mcp
Provides access to arXiv preprint metadata and full text for academic papers.
Integrates Hugging Face Papers API for paper discovery and trending context.
Integrates PubMed for biomedical paper indexing and search.
Integrates Semantic Scholar for semantic paper recommendations and similarity search.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@trove-mcpFind papers on speculative decoding and summarize key findings."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
trove-mcp
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)
Related MCP server: Academic MCP Server
Install (Claude Desktop, stdio)
No local install is required with npx.
Quick smoke test:
npx -y trove-mcp@latest sync --queries="graph neural network"Optional global install:
npm i -g trove-mcp
trove-mcp sync --queries="graph neural network"Claude Desktop on macOS
Open Claude Desktop.
Go to
Settings->Developer->Edit Config.Edit
~/Library/Application Support/Claude/claude_desktop_config.json.Add this server entry under
mcpServers:
{
"mcpServers": {
"trove": {
"command": "npx",
"args": ["-y", "trove-mcp"],
"env": {
"TROVE_CONTACT_EMAIL": "you@example.com",
"TROVE_DB_PATH": "/Users/you/.trove-mcp/trove.db",
"SEMANTIC_SCHOLAR_API_KEY": "",
"UNPAYWALL_EMAIL": "you@example.com",
"CORE_API_KEY": ""
}
}
}
}Save the file and fully restart Claude Desktop.
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_paperswill usually returnmode = unavailableon first run. Trove has to accumulate at least two local citation snapshot dates before it can compute citation velocity honestly.find_similar_papersis usable without a Semantic Scholar key only in theory. In practice, reliable semantic recommendations requireSEMANTIC_SCHOLAR_API_KEY, and Trove says so directly.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-specificdata.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_papersStrict fail-closed: only returns
mode = snapshotwhen 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 = unavailableis expected. Runtrove synconce to seed, then rerun after a later day to accumulate history.
find_similar_papersStrict 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_EMAILorTROVE_CONTACT_EMAILis set.CORE works without a key for basic access but may rate-limit or degrade under load;
CORE_API_KEYimproves throughput. Also the CORE API is free, you just need to signup on their site and verify your mail address.get_referencesis 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 suggestsget_full_textfor inline citation inspection.get_authorreturnsmostCitedPaperIdsandrecentPaperIdsas best-effort enrichment. If those follow-up lists cannot be fetched reliably, Trove returns the profile aspartialand does not cache empty arrays as authoritative.OpenAlex-heavy search can still be domain-ambiguous for niche queries.
search_papersandbuild_literature_mapapply precision gates, but overloaded terms may still need tighter prompts or filters.trace_ideauses 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_EMAILUNPAYWALL_EMAILTROVE_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:
npx -y trove-mcp@latest syncand 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:
{
"mcpServers": {
"trove": {
"command": "npx",
"args": ["-y", "trove-mcp"],
"env": {
"TROVE_CONTACT_EMAIL": "you@example.com",
"TROVE_DB_PATH": "/Users/you/.trove-mcp/trove.db",
"UNPAYWALL_EMAIL": "you@example.com",
"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)
TROVE_HTTP_BEARER_TOKEN=change-me npx trove-mcp --transport=http --port=3000Browser client example:
TROVE_HTTP_BEARER_TOKEN=change-me TROVE_HTTP_CORS_ORIGIN=http://localhost:3000 npx trove-mcp --transport=http --port=3000POST /mcpfor authenticated MCP requestsGET /healthfor health checksAuth header:
Authorization: Bearer <token>CORS exposes
Mcp-Session-Id/MCP-Session-Idfor browser MCP clients
Tools
Tool | What it does |
| Multi-source search + dedupe + deterministic ranking (OpenAlex/S2/arXiv/PubMed/CORE) |
| Topic papers ranked by citation velocity with `mode = snapshot |
| Resolve paper by DOI/arXiv/S2/OpenAlex/PubMed/title |
| arXiv -> Unpaywall -> CORE full-text fallback with chunked output |
| Papers that cite a target paper |
| Papers referenced by a target paper |
| Semantic Scholar recommendations; reliable use requires |
| Author profile and impact metrics; paper-list enrichment is best-effort |
| Institution profile + publication output |
| Collaboration graph around an author |
| Structured evidence map (claims/methods/limitations/consensus) |
| Structured 2-5 paper comparison |
| Concept lineage across time and influence |
Resources
trove://resources/versiontrove://resources/source-capability-matrixtrove://resources/schema-referencetrove://resources/cache-health
Prompts
literature-review-workflowpaper-comparison-workflowidea-lineage-workflow
These are optional workflow helpers.
Sync job for citation snapshots
npx trove-mcp sync
npx 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
npm install
npm run typecheck
npm test
npm run test:quality
npm run verify:release
npm run build
npm run inspectLive-contract tests:
LIVE_CONTRACT=1 npm run test:liveTemporarily hide tools from MCP registration (for strict release gating):
TROVE_DISABLED_TOOLS=get_trending_papers,find_similar_papers npx -y trove-mcp@latestData and compliance
No scraping
No Sci-Hub or paywalled bypassing
All sources are public/open APIs or legal OA links
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/LalwaniPalash/trove-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server