scholar-search-mcp

scholar-search-mcp

An MCP server for academic paper search that integrates with AI assistants (e.g., Claude Code, Cursor), enabling them to search and retrieve academic paper metadata.

Category
Visit Server

README

Scholar Search MCP

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

It combines Semantic Scholar + 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.

<a href="https://youtu.be/C81rVeznoRY"><img src="./static/scholar_search_demo.jpg" alt="Agent uses Scholar Search MCP to write a survey paper" width="640" style="max-width: 100%; height: auto;"></a>

<br>

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

Variable Description
SEMANTIC_SCHOLAR_API_KEY Optional. Increases Semantic Scholar rate limits.
SCHOLAR_SEARCH_ENABLE_SEMANTIC_SCHOLAR true/false, default true.
SCHOLAR_SEARCH_ENABLE_ARXIV true/false, default true.
SCHOLAR_SEARCH_CACHE_DIR Optional cache directory path.
SCHOLAR_SEARCH_CACHE_TTL_SECONDS Cache TTL in seconds, default 86400.
SCHOLAR_ARXIV_SOURCE_DIR Default parent directory for extracted arXiv sources.

Example (arXiv only):

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

Tool list

Tool Purpose
search_papers Search papers with optional limit, fields, year, venue.
get_paper_details Get one paper by DOI, arXiv ID, S2 ID, or URL.
get_paper_citations Get papers that cite a given paper.
get_paper_references Get references of a given paper.
get_author_info Get an author profile by ID.
get_author_papers Get papers by a given author.
get_paper_recommendations Get similar paper recommendations.
batch_get_papers Batch fetch paper details (up to 500 IDs).
download_arxiv_source Download 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.

License

MIT

References

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured