# Scholar MCP

Searches academic papers, tracks citation paths, and stores PDFs in a local database. Helps agents review scientific evidence inside development workflows.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 5
- Author: Liyux3
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Liyux3/scholar-mcp
- Updated: 2026-10-08
- HTML: https://affpapa.org/en/nevibecode/mcp/scholar-mcp

## What it does

The server runs via stdio or Streamable HTTP, giving agents access to retrieval functions like `search_papers` and `paper_info`. Models query scientific indices using natural phrasing, filter results through rerankers, and inspect linked references. For direct examination, the `read_paper` tool parses document text, figures, and tables, defaulting to pages 1 through 10.

For broader literature mapping, the research profile adds `build_paper_graph` to evaluate PageRank centrality and draw citation networks using Mermaid syntax. Everything saves into an SQLite database with FTS5 search, enabling snapshot exports directly into Obsidian or Zotero vaults.

Running the packaged reranker requires `uv` with Python 3.12. Without provider credentials such as `S2_API_KEY` or `OPENALEX_API_KEY`, discovery relies on default semantic routes and encounters lower throughput limits.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `SCHOLAR_DATA_DIR`, `SCHOLAR_MCP_EXTENSIONS`, `S2_API_KEY`, `OPENALEX_API_KEY`, `CORE_API_KEY`, `SCOPUS_API_KEY`, `DASHSCOPE_API_KEY`, `DASHSCOPE_HTTP_BASE_URL`, `SCHOLAR_RERANK_MODEL`, `SCHOLAR_RERANK_URL` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add scholar-mcp -e S2_API_KEY=<S2_API_KEY> -e OPENALEX_API_KEY=<OPENALEX_API_KEY> -e CORE_API_KEY=<CORE_API_KEY> -e SCOPUS_API_KEY=<SCOPUS_API_KEY> -e DASHSCOPE_API_KEY=<DASHSCOPE_API_KEY> -e SCHOLAR_RERANK_API_KEY=<SCHOLAR_RERANK_API_KEY> -e EXA_API_KEY=<EXA_API_KEY> -e ZOTERO_API_KEY=<ZOTERO_API_KEY> -e NOTION_API_KEY=<NOTION_API_KEY> -- uvx scholar-mcp
```
Replace <…> with your own values. 11 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from scholar-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add scholar-mcp --env SCHOLAR_DATA_DIR=<SCHOLAR_DATA_DIR> --env SCHOLAR_MCP_EXTENSIONS=<SCHOLAR_MCP_EXTENSIONS> --env S2_API_KEY=<S2_API_KEY> --env OPENALEX_API_KEY=<OPENALEX_API_KEY> --env CORE_API_KEY=<CORE_API_KEY> -- uvx scholar-mcp
```
Replace <…> with your own values. 11 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from scholar-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "scholar-mcp": {
            "command": "uvx",
            "args": [
                "scholar-mcp"
            ],
            "env": {
                "SCHOLAR_DATA_DIR": "<SCHOLAR_DATA_DIR>",
                "SCHOLAR_MCP_EXTENSIONS": "<SCHOLAR_MCP_EXTENSIONS>",
                "S2_API_KEY": "<S2_API_KEY>",
                "OPENALEX_API_KEY": "<OPENALEX_API_KEY>",
                "CORE_API_KEY": "<CORE_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. 11 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from scholar-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "scholar-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "scholar-mcp"
            ],
            "env": {
                "SCHOLAR_DATA_DIR": "<SCHOLAR_DATA_DIR>",
                "SCHOLAR_MCP_EXTENSIONS": "<SCHOLAR_MCP_EXTENSIONS>",
                "S2_API_KEY": "<S2_API_KEY>",
                "OPENALEX_API_KEY": "<OPENALEX_API_KEY>",
                "CORE_API_KEY": "<CORE_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. 11 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from scholar-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e SCHOLAR_DATA_DIR=<SCHOLAR_DATA_DIR> -e SCHOLAR_MCP_EXTENSIONS=<SCHOLAR_MCP_EXTENSIONS> -e S2_API_KEY=<S2_API_KEY> -e OPENALEX_API_KEY=<OPENALEX_API_KEY> -e CORE_API_KEY=<CORE_API_KEY> scholar-mcp uvx scholar-mcp
```
Replace <…> with your own values. 11 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from scholar-mcp <command>

## When to use it
- discover relevant scientific preprints using natural language queries
- map citation pathways with PageRank calculations and Mermaid graphs
- extract text and tables from specific publication pages without opening a browser
- store downloaded PDFs in a searchable local SQLite collection
- sync literature references and notes into Zotero or Obsidian

## Example prompts
- Use search_papers to find recent preprints on reinforcement learning with human feedback.
- Map citation pathways for this paper with build_paper_graph and output a Mermaid diagram.
- Save this paper to the collection via download_paper and inspect the first five pages.

## Similar
- [Zotero MCP](https://affpapa.org/en/nevibecode/mcp/zotero-mcp.md) — MCP server · ★ 5585
- [arxiv-mcp-server](https://affpapa.org/en/nevibecode/mcp/arxiv-mcp-server.md) — MCP server · ★ 3235
- [PaperBanana](https://affpapa.org/en/nevibecode/mcp/paperbanana.md) — MCP server · ★ 2418
- [MATLAB MCP Server](https://affpapa.org/en/nevibecode/mcp/matlab-mcp-server.md) — MCP server · ★ 1723
- [Hex Research](https://affpapa.org/en/nevibecode/mcp/hex-research.md) — MCP server · ★ 584
- [DocsAgent — Zotero, Obsidian & Apple Notes MCP Server](https://affpapa.org/en/nevibecode/mcp/docsagent-zotero-obsidian-apple-notes-mcp-server.md) — MCP server · ★ 578

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
