MCP Hub
Back to servers

scholar-search-mcp

A MCP server that integrates the Semantic Scholar API and the arXiv API so AI assistants (e.g. Claude Code, Cursor) can search and fetch academic paper metadata.

GitHub
Stars
55
Forks
3
Updated
Mar 30, 2026
Validated
Apr 18, 2026

Scholar Search MCP

A MCP server that integrates the CORE API v3, Semantic Scholar API, and arXiv API so AI assistants (e.g. Claude, Cursor) can search and fetch academic paper metadata.

Features

  • Search papers – Keyword search with fallback chain: tries CORE API first (no key required; set CORE_API_KEY for higher limits), then Semantic Scholar, then arXiv; optional year and venue filters (venue applies to Semantic Scholar only)
  • Paper details – Full metadata (title, authors, abstract, citations, etc.)
  • Citations & references – Papers that cite or are cited by a given paper
  • Author info – Author profile and paper list
  • Batch lookup – Fetch up to 500 papers in one call
  • Recommendations – Similar papers for a given paper
  • arXiv LaTeX source – Download and extract the source tarball from https://arxiv.org/src/{id} (tool: download_arxiv_source)

Installation

pip install scholar-search-mcp

Configuration

Claude Desktop

Edit the config file:

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

Add:

{
  "mcpServers": {
    "scholar-search": {
      "command": "python",
      "args": ["-m", "scholar_search_mcp"],
      "env": {
        "SCHOLAR_SEARCH_ENABLE_CORE": "false", // enable https://core.ac.uk/
        "SCHOLAR_SEARCH_ENABLE_SEMANTIC_SCHOLAR": "true", // enable https://www.semanticscholar.org/
        "SCHOLAR_SEARCH_ENABLE_ARXIV": "true" // enable https://arxiv.org/
      }
    }
  }
}

If you have API keys (optional but recommended for search):

{
  "mcpServers": {
    "scholar-search": {
      "command": "python",
      "args": ["-m", "scholar_search_mcp"],
      "env": {
        "CORE_API_KEY": "your-core-api-key-here",
        "SEMANTIC_SCHOLAR_API_KEY": "your-semantic-scholar-api-key-here",
        "SCHOLAR_SEARCH_ENABLE_CORE": "true", // enable https://core.ac.uk/
        "SCHOLAR_SEARCH_ENABLE_SEMANTIC_SCHOLAR": "true", // enable https://www.semanticscholar.org/
        "SCHOLAR_SEARCH_ENABLE_ARXIV": "true" // enable https://arxiv.org/
      }
    }
  }
}

Cursor

Add an MCP server in Cursor settings with the same command, args, and env as above.

API keys (optional)

Search fallback order: When you call search_papers, the server tries sources in order and uses the first that succeeds:

  1. CORE API – Tried first; works without a key (subject to rate limits). Set CORE_API_KEY for higher limits (register).
  2. Semantic Scholar – Used if CORE fails; works without a key with lower limits. Set SEMANTIC_SCHOLAR_API_KEY for higher limits.
  3. arXiv – Used as last fallback; no key required.

Enable/disable search channels

Control which sources are used in the search_papers fallback chain via environment variables (default: all enabled):

VariableDescription
SCHOLAR_SEARCH_ENABLE_COREUse CORE API (default: true). Set to 0, false, or no to disable.
SCHOLAR_SEARCH_ENABLE_SEMANTIC_SCHOLARUse Semantic Scholar (default: true).
SCHOLAR_SEARCH_ENABLE_ARXIVUse arXiv (default: true).

Example: CORE and arXiv only (skip Semantic Scholar):

"env": {
  "SCHOLAR_SEARCH_ENABLE_SEMANTIC_SCHOLAR": "false"
}

arXiv source downloads (download_arxiv_source)

Optional default parent directory for extracted sources when the tool is called without output_dir:

VariableDescription
SCHOLAR_ARXIV_SOURCE_DIRIf set, files go under <dir>/<arxiv_id>/. Otherwise uses a temp subfolder.

Tools

ToolDescription
search_papersSearch by query; optional limit, fields, year, venue
get_paper_detailsGet one paper by ID (DOI, ArXiv ID, S2 ID, or URL)
get_paper_citationsPapers that cite the given paper
get_paper_referencesReferences of the given paper
get_author_infoAuthor profile by ID
get_author_papersPapers by author
get_paper_recommendationsSimilar papers for a given paper
batch_get_papersDetails for up to 500 paper IDs
download_arxiv_sourceDownload arXiv source tar.gz and extract; args: arxiv_id, optional output_dir

Testing with MCP Inspector

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

License

MIT

Links

Reviews

No reviews yet

Sign in to write a review