Find the paper. Follow the evidence. Build the field.
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Scholar MCP finds papers from natural-language questions, follows citations and related work, and opens the primary text. Save selected papers and notes in a local library that carries your research across sessions.
Quick demo
One continuous agent flow: search_papers → build_paper_graph → paper_info + read_paper → paper_library → library connectors.
How it works
Agents call typed MCP tools over stdio or Streamable HTTP. Scholar returns concise text and structured data, while a persistent SQLite library drives FTS5 search, PDF attachments, JSONL snapshots, and Obsidian, Zotero, and Notion connectors.
Quick start
Claude Code:
Claude Desktop or any stdio MCP client:
The direct server exposes the compact core profile. Install uv; it prepares Python 3.12 and the CPU reranker automatically. Optional source keys unlock deeper coverage and higher throughput. macOS desktop bundles include Python and dependencies; the portable launchers also handle machines without uv.
The repository also ships a research plugin with citation graphs, a local paper library, and the Deep Research skill:
The same plugin directory follows the Agent Plugins standard for Cursor, Pi, and compatible harnesses. OpenCode can launch uvx scholar-mcp as a local MCP; Pi can use pi-mcp-adapter.
Release artifacts also include the PyPI package, multi-architecture GHCR image, and macOS MCPB bundles. See the complete distribution matrix.
Tools
| Profile | Tool | Responsibility |
|---|---|---|
| Core | search_papers | Multi-source retrieval, filters, reranking, and citation discovery |
| Core | paper_info | Paper detail, citations, and references through one selective call |
| Core | recommend_papers | Related work through semantic and citation connections |
| Core | search_authors | Author profiles, affiliations, paper counts, and h-index |
| Core | read_paper | Read paper text, tables, and selected figures; pages 1-10 by default |
| Core | download_paper | Persist a PDF and index it in a collection |
| Research | build_paper_graph | Bounded citation graph with PageRank, bridges, nodes, edges, and Mermaid |
| Research | paper_library | Collections, FTS search, notes, tags, PDFs, and Markdown vault export |
scholar://status reports source availability and the actual reranker used without occupying the tool surface. Tool responses retain concise YAML text and also expose structured MCP data.
The bundled Deep Research skill turns search, paper inspection, graph traversal, and selected library writes into a living field map.
Retrieval
| Channel | Sources | Query form and role |
|---|---|---|
| Semantic | OpenAlex semantic, arxiv.gg, optional Exa | Full natural-language question |
| Full text | Semantic Scholar snippet search | Matching passages from open-access papers |
| Broad metadata | OpenAlex, Semantic Scholar, Crossref, optional Scopus | Identity, coverage, citations, and filters |
| Preprints and conferences | arXiv, OpenReview | Recent work and conference records |
| Biomedical | PubMed, Europe PMC | Medicine, biology, and full-text repositories |
| Domain and repository | DBLP, INSPIRE-HEP, DOAJ, CORE, OpenAIRE, HAL | CS, physics, open journals, and repositories |
| Web fallback | Google Scholar | HTTP search with optional automatic session recovery |
Keyword APIs receive measured source-specific query budgets. Semantic endpoints keep the original question. Every source contributes independently to one canonical evidence pool.
Results are canonicalized across DOI, arXiv, Semantic Scholar, OpenAlex, PubMed, and OpenReview identities. Duplicate records contribute complementary metadata and independent source evidence instead of appearing several times.
DashScope qwen3-rerank is the primary reranker when configured. Install the rerank extra for the FlashRank local fallback: uvx --from 'scholar-mcp[rerank]' scholar-mcp. Containers and MCPB bundles include this extra; the local model downloads on first use and stays in the application data directory. Search ranks the initial matches, follows connections from the strongest papers, then reranks the combined set. Metadata completion overlaps source retrieval, and large pools are scored in batches that respect the model service's document and token limits.