Trove
개요
제작자가 쓴 설명(영어 원문)
Fail-closed academic research server: search, full text, citations across open scholarly APIs.
PopNx MCP의 세 기둥
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
- 사용자 의견i아직 리뷰가 없어요리뷰는 다음 단계에서 계정 기능과 함께 열려요
- 우리의 기본 점검i1개 중 1개 통과공개된 정보로 점검했으며, 코드는 아직 스캔하지 않았어요
- 사용 정도i아주 새로움↓ 62/주 · ★ –
할 수 있는 일
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
- 연결 방식: 내 컴퓨터에서 실행
- 전송 방식: stdio
- 카테고리: 검색 및 AI 기억
- 입력해야 할 값: SEMANTIC_SCHOLAR_API_KEY, CORE_API_KEY
설치
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
설치하기 전에
- 기본 점검: 1개 중 1개 통과
- 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
- 직접 입력할 값:
TROVE_CONTACT_EMAIL,UNPAYWALL_EMAIL,TROVE_DB_PATH,SEMANTIC_SCHOLAR_API_KEY,CORE_API_KEY
비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
- npmNode.js 설치(npx 명령어용)
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"trove": {
"command": "npx",
"args": [
"-y",
"trove-mcp"
],
"env": {
"TROVE_CONTACT_EMAIL": "your-value",
"UNPAYWALL_EMAIL": "your-value",
"TROVE_DB_PATH": "your-value",
"SEMANTIC_SCHOLAR_API_KEY": "your-value",
"CORE_API_KEY": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add trove --env TROVE_CONTACT_EMAIL=your-value --env UNPAYWALL_EMAIL=your-value --env TROVE_DB_PATH=your-value --env SEMANTIC_SCHOLAR_API_KEY=your-value --env CORE_API_KEY=your-value -- npx -y trove-mcp실행하기 전에 빈 값을 채워 주세요.
또는 설정을 직접 복사하기
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"trove": {
"command": "npx",
"args": [
"-y",
"trove-mcp"
],
"env": {
"TROVE_CONTACT_EMAIL": "your-value",
"UNPAYWALL_EMAIL": "your-value",
"TROVE_DB_PATH": "your-value",
"SEMANTIC_SCHOLAR_API_KEY": "your-value",
"CORE_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
또는 설정을 직접 복사하기
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"trove": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"trove-mcp"
],
"env": {
"TROVE_CONTACT_EMAIL": "your-value",
"UNPAYWALL_EMAIL": "your-value",
"TROVE_DB_PATH": "your-value",
"SEMANTIC_SCHOLAR_API_KEY": "your-value",
"CORE_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
직접 입력할 값
TROVE_CONTACT_EMAILenvContact email for polite OpenAlex usageUNPAYWALL_EMAILenvEmail required to enable Unpaywall open-access lookupTROVE_DB_PATHenvPath to the local SQLite cache and citation-snapshot database- Needed for reliable find_similar_papers
- Improves CORE full-text throughput
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
할 수 있는 일
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
기본 점검i
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 9일 점검
- ✓ 통과
제작자와 저장소 일치
레지스트리 이름이 GitHub 계정 LalwaniPalash 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
- … 아직 점검 안 함
계속 관리되고 있음
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
- … 아직 점검 안 함
라이선스 있음
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
- – 해당 없음
엔드포인트 응답
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
- – 해당 없음
OAuth로 로그인
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
- … 아직 점검 안 함
도구 설명에 숨겨진 지시 없음
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
검색 및 AI 기억 카테고리의 다른 서버와 비교i
- 이 카테고리의 다른 서버 5727개 중 0%보다 스타가 많아요
- 이 카테고리의 다른 서버 5727개 중 60%보다 최근에 레지스트리에 공개됐어요
- 기본 점검 결과가 이 카테고리의 다른 서버 5727개 중 100%와 같거나 더 좋아요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
자주 묻는 질문
Trove, 안전한가요?
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
어떤 키나 코드가 필요한가요?
입력해야 할 값: SEMANTIC_SCHOLAR_API_KEY, CORE_API_KEY
내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
아직 관리되고 있나요?
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.11)은 25일 전 레지스트리에 올라왔어요.
어떤 앱에서 쓸 수 있나요?
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
대신 쓸 수 있는 건 뭐가 있나요?
같은 카테고리에는: Context7, Codebase Memory, Exa
대안
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
제작자의 README
README 열기
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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)
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_papersworks without a Semantic Scholar key, but keyless calls share a busy pool and often get429. 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-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_papers- Strict 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_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_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 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:
{
"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=3000
Browser client example:
TROVE_HTTP_BEARER_TOKEN=change-me TROVE_HTTP_CORS_ORIGIN=http://localhost:3000 npx trove-mcp --transport=http --port=3000
POST /mcpfor authenticated MCP requestsGET /healthfor health checks- Auth header:
Authorization: Bearer - CORS exposes
Mcp-Session-Id/MCP-Session-Idfor browser MCP clients
Tools
| Tool | What it does | |
|---|---|---|
search_papers | Multi-source search + dedupe + deterministic ranking (OpenAlex/S2/arXiv/PubMed/CORE) | |
get_trending_papers | Topic papers ranked by citation velocity with `mode = snapshot | unavailable` |
get_paper | Resolve paper by DOI/arXiv/S2/OpenAlex/PubMed/title | |
get_full_text | arXiv -> 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_citations | Papers that cite a target paper | |
get_references | Papers referenced by a target paper | |
find_similar_papers | Semantic Scholar recommendations; works without a key, SEMANTIC_SCHOLAR_API_KEY makes it reliable | |
get_author | Author profile and impact metrics; paper-list enrichment is best-effort | |
get_institution_output | Institution profile + publication output | |
get_coauthor_network | Collaboration graph around an author | |
build_literature_map | Structured evidence map (claims/methods/limitations/consensus) | |
compare_papers | Structured 2-5 paper comparison | |
trace_idea | 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 inspect
Live-contract tests:
LIVE_CONTRACT=1 npm run test:live
Temporarily hide tools from MCP registration (for strict release gating):
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