Sandbox
@Silung/scholar-search-mcp

MCP server for academic paper search

Scholar Search MCP connects Claude, Cursor, and other MCP clients to Semantic Scholar and arXiv. It lets an assistant search papers in parallel, normalize and dedupe results, then fetch details, citations, references, author profiles, recommendations, and arXiv source files.

250 stars5 forksPythonUpdated 3mo ago
Automated Academic Writing: Generating Survey Papers with Scholar Search MCP
silung71 views • 4 months ago
Who it's for

Builders who want their agent to search academic papers and pull structured research metadata.

What it delivers

You can do literature search and citation work from your agent instead of jumping between paper sites and APIs.

What it does

Unified paper search

Searches Semantic Scholar and arXiv together with `search_papers`, then normalizes and deduplicates results by title.

Paper detail lookup

Fetches one paper by DOI, arXiv ID, Semantic Scholar ID, or URL with `get_paper_details`.

Citation and reference graph

Returns incoming citations and outgoing references with `get_paper_citations` and `get_paper_references`.

Author lookup

Gets author profiles and papers with `get_author_info` and `get_author_papers`.

Recommendation and batch tools

Finds similar papers with `get_paper_recommendations` and batch fetches up to 500 papers with `batch_get_papers`.

ArXiv source download

Downloads and extracts arXiv source bundles with `download_arxiv_source`.

Cache and source controls

Uses built-in caching and environment flags to enable or disable Semantic Scholar and arXiv.

How to get it

  1. 1Run
    pip install scholar-search-mcp

README

Scholar Search MCP

An MCP server for academic literature workflows in Claude, Cursor, and other MCP clients.

It combines Semantic Scholar and arXiv into one unified toolset, with fast parallel search, normalized outputs, source-aware deduplication, and practical research utilities (citations, references, author graph, recommendations, and arXiv source download).


Table of Contents


Why this project

Most paper tools force you to choose one source or one API style. scholar-search-mcp provides one MCP layer for literature search and graph retrieval:

  • One MCP server, multiple scholarly sources
  • Free-first defaults (arXiv works without keys)
  • LLM-friendly outputs for downstream reasoning and agent workflows
  • Practical research actions, not only search
  • Unified search: search_papers runs Semantic Scholar + arXiv in parallel and deduplicates by normalized title.
  • Research graph tools: details, citations, references, author profile/papers, and recommendations.
  • Batch + source workflows: fetch up to 500 papers, and download/extract arXiv LaTeX sources.
  • Operational controls: built-in caching plus env-based source toggles (enable/disable channels).
  • Source strategy: built-in Semantic Scholar + arXiv, free-first by default (arXiv key-free), optional API key for higher Semantic Scholar limits.

Demo videos

Agent writes a survey paper with Scholar Search MCP.

Agent uses Scholar Search MCP to write a survey paper


Install

pip install scholar-search-mcp

Requires Python 3.10+.

Quick setup (Claude Desktop / Cursor)

Use the same server command in both clients:

{
  "mcpServers": {
    "scholar-search": {
      "command": "python",
      "args": ["-m", "scholar_search_mcp"],
      "env": {
        "SCHOLAR_SEARCH_ENABLE_SEMANTIC_SCHOLAR": "true",
        "SCHOLAR_SEARCH_ENABLE_ARXIV": "true"
      }
    }
  }
}

SEMANTIC_SCHOLAR_API_KEY is optional. Add it only if you want higher Semantic Scholar rate limits:

{
  "mcpServers": {
    "scholar-search": {
      "command": "python",
      "args": ["-m", "scholar_search_mcp"],
      "env": {
        "SCHOLAR_SEARCH_ENABLE_SEMANTIC_SCHOLAR": "true",
        "SCHOLAR_SEARCH_ENABLE_ARXIV": "true",
        "SEMANTIC_SCHOLAR_API_KEY": "your-key"
      }
    }
  }
}

Difference:

  • Claude Desktop: edit local config file directly.
  • Cursor: add an MCP server in Cursor settings UI (or corresponding settings JSON).

Claude Desktop config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Environment variables

VariableDescription
SEMANTIC_SCHOLAR_API_KEYOptional. Increases Semantic Scholar rate limits.
SCHOLAR_SEARCH_ENABLE_SEMANTIC_SCHOLARtrue/false, default true.
SCHOLAR_SEARCH_ENABLE_ARXIVtrue/false, default true.
SCHOLAR_SEARCH_CACHE_DIROptional cache directory path.
SCHOLAR_SEARCH_CACHE_TTL_SECONDSCache TTL in seconds, default 86400.
SCHOLAR_ARXIV_SOURCE_DIRDefault parent directory for extracted arXiv sources.

Example (arXiv only):

{
  "SCHOLAR_SEARCH_ENABLE_SEMANTIC_SCHOLAR": "false",
  "SCHOLAR_SEARCH_ENABLE_ARXIV": "true"
}

Tool list

ToolPurpose
search_papersSearch papers with optional limit, fields, year, venue.
get_paper_detailsGet one paper by DOI, arXiv ID, S2 ID, or URL.
get_paper_citationsGet papers that cite a given paper.
get_paper_referencesGet references of a given paper.
get_author_infoGet an author profile by ID.
get_author_papersGet papers by a given author.
get_paper_recommendationsGet similar paper recommendations.
batch_get_papersBatch fetch paper details (up to 500 IDs).
download_arxiv_sourceDownload and extract arXiv source bundle (tar.gz).

Testing with MCP Inspector

npm install -g @modelcontextprotocol/inspector
mcp-inspector python -m scholar_search_mcp

Contributing

Issues and PRs are welcome: fork repo, create branch, add validation/tests, and open a PR with clear before/after behavior.

References

Files in the repo

Repository payload8 top-level entries
  • .github
  • scholar_search_mcp
  • static
  • .gitignore
  • LICENSE
  • pyproject.toml
  • README.md
  • requirements.txt

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k

x64dbg-MCP Server is a native MCP (Model Context Protocol) plugin for x64dbg that exposes the debugger's full functionality over HTTP. Connect any MCP-compatible AI assistant and control x64dbg programmatically: set breakpoints, step through code, read memory, dump registers, and more. Built with Zig — zero dependencies, single-binary output, cros

1.9k