Skip to main content

MCP server for academic paper search, powered by Semantic Scholar (214M+ papers)

Project description

scholar-mcp

PyPI version Python 3.10+ License: MIT MCP

MCP server for academic paper search, powered by Semantic Scholar (214M+ papers, 2.49B citations). Search, cite, download, and read papers directly from Claude Code or any MCP client.

Quick Start

One-liner for Claude Code:

claude mcp add scholar -- uvx scholar-mcp

Or with an API key for higher rate limits:

claude mcp add scholar -e S2_API_KEY=your_key -- uvx scholar-mcp

For Claude Desktop, add to your config:

{
  "mcpServers": {
    "scholar": {
      "command": "uvx",
      "args": ["scholar-mcp"]
    }
  }
}

[!NOTE] Requires Python 3.10+ and uv installed. No API key needed for basic use (100 requests / 5 minutes free).

Features

  • Search across 214M+ papers with filters (year, venue, field of study, citation count, open access)
  • Paper details with TLDR summaries, BibTeX, venue metadata
  • Citation graph traversal (who cites this paper, what does it reference)
  • Recommendations for similar/related papers
  • Author search with h-index, affiliations, paper counts
  • PDF download with smart fallback chain (Semantic Scholar -> arXiv -> CORE -> bioRxiv/medRxiv)
  • Full-text extraction from downloaded PDFs
  • Fallback search via arXiv, CORE (250M+ open access papers), PubMed (36M+ biomedical), and Google Scholar

Tools

Tool Description
search_papers Search 214M+ papers with year, venue, field, citation filters. Falls back to arXiv, CORE, PubMed, then Google Scholar
get_paper Paper details by Semantic Scholar ID, DOI, ArXiv ID (ArXiv:xxxx), or PMID (PMID:xxxx)
get_citations Papers that cite a given paper (up to 1000)
get_references Papers referenced by a given paper (up to 1000)
recommend_papers Similar/related papers via S2 recommendation engine (up to 500)
search_authors Find researchers with h-index, affiliations, paper/citation counts
download_paper Download PDF: tries S2 open access, arXiv, CORE, bioRxiv/medRxiv
read_paper Download + extract full text from PDF (with optional page limit)

Configuration

All configuration is via environment variables (all optional):

Variable Default Description
S2_API_KEY Semantic Scholar API key for higher rate limits
CORE_API_KEY CORE API key for institutional repository search (free)
SCHOLAR_DOWNLOAD_DIR ./downloads Directory for downloaded PDFs
S2_TIMEOUT 30 API request timeout in seconds

Rate limits: Free tier allows 100 requests per 5 minutes. With an API key: ~100 requests per second.

Examples

Search with filters:

search_papers("transformer architecture", year="2020-2024", venue="NeurIPS", min_citations=100)

Look up specific papers:

get_paper("ArXiv:1706.03762")      # by arXiv ID
get_paper("10.1038/nature12373")   # by DOI
get_paper("PMID:19872477")         # by PubMed ID

Explore the citation graph:

get_citations("ArXiv:1706.03762", limit=20)   # who cites this?
get_references("ArXiv:1706.03762", limit=20)  # what does it cite?
recommend_papers("ArXiv:1706.03762")           # find similar work

Download and read:

download_paper("ArXiv:1706.03762")
read_paper("ArXiv:1706.03762", max_pages=5)

Development

git clone https://github.com/Liyux3/scholar-mcp.git
cd scholar-mcp
uv venv && uv pip install -e ".[dev]"
uv run pytest tests/

How It Works

Search:     S2 (214M) -> arXiv (preprints) -> CORE (institutional) -> PubMed (biomedical) -> Google Scholar (scraping)
Download:   S2 open access -> arXiv direct -> CORE (by DOI/title) -> bioRxiv/medRxiv -> fail

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scholar_mcp-0.2.1.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scholar_mcp-0.2.1-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file scholar_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: scholar_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for scholar_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 5d8442f2c21c539f412997c74de4c3fc5ec79b2bb6679d1fdf4a668260d6825c
MD5 51207d3620e503ede09d8f7b3f554212
BLAKE2b-256 6d8d50082cd1b554709b4eb26ed26f5ffd8d1b5bd33f6aaff80c6e43f0a282d2

See more details on using hashes here.

File details

Details for the file scholar_mcp-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: scholar_mcp-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for scholar_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ea98c5ab1aab961e7716959e61fd26f1fbb62d9267d35d35a4292820c3dda7a2
MD5 39e6f65d8f0f676466dee866e14bdf7e
BLAKE2b-256 beb81131a0dc8865d9a337f287b67b1731a6ff0df1717f96bbf3563690d5e883

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page