Factual signals from GitHub, npm, and our automated checks — not a rating.
GitHub stars5Stargazers on the source repository.
Last commit15d agoMost recent push to the default branch.
From the project README
Find the paper. Follow the evidence. Build the field.
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.
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.
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:
bash
# Codex
codex plugin marketplace add Liyux3/scholar-mcp
codex plugin add scholar-mcp@scholar-mcp
# Claude Code
claude plugin marketplace add Liyux3/scholar-mcp
claude plugin install scholar-mcp@scholar-mcp
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.
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.
Bring your own reranker
For an Alibaba workspace or another region, set DASHSCOPE_HTTP_BASE_URL to the API Host from the console (with https://), or its /api/v1 base. Keep DASHSCOPE_API_KEY from that region. For example:
The default remains qwen3-rerank. SCHOLAR_RERANK_MODEL can also select qwen3.7-text-rerank, gte-rerank-v2, or the text input of qwen3-vl-rerank, subject to availability in your workspace. Scholar uses the appropriate Alibaba request/response format. Existing installations without a base URL keep the Beijing shared endpoint. Alibaba recommends workspace-dedicated endpoints and states that the shared domain no longer receives new features after September 30, 2026. API keys and model availability are region-specific.
For another provider or a self-hosted model, set SCHOLAR_RERANK_URL to the full rerank endpoint, SCHOLAR_RERANK_MODEL to its model name, and SCHOLAR_RERANK_API_KEY if needed. This explicit endpoint takes priority over the Alibaba configuration and uses only its own credential. Compatible endpoints use the Cohere-style contract:
text
Request: query, documents, top_n, model
Response: results: [{index, relevance_score}]
No reviews yet — be the first to share how it worked for you.
Frequently Asked Questions about Scholar MCP
Scholar MCP is an MCP server that finds papers from natural-language questions, follows citations and related work, and opens primary text. It supports federated academic search, citation traversal, persistent PDF downloads, and temporary reading, while a local SQLite library stores selected papers and notes across sessions.
You can search for papers using natural-language questions through the `search_papers` tool. Scholar MCP is designed for federated academic search and returns concise text and structured data.
Yes, Scholar MCP can traverse citations and related work using the `build_paper_graph` tool. The resulting research graph can be combined with `paper_info` and `read_paper` to inspect papers and their primary text.
Yes, Scholar MCP supports persistent PDF downloads and temporary paper reading. Its workflow includes `paper_info` and `read_paper`, and selected papers can be stored with PDF attachments in the local library.
Scholar MCP runs as an MCP-compatible server over stdio or Streamable HTTP. The project supports Python 3.10+ and provides installation options for MCP clients including VS Code, Cursor, and Kiro.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.