Skip to main content

Model Context Protocol server for Semantic Scholar API

Project description

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

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):

Variable Description
SCHOLAR_SEARCH_ENABLE_CORE Use CORE API (default: true). Set to 0, false, or no to disable.
SCHOLAR_SEARCH_ENABLE_SEMANTIC_SCHOLAR Use Semantic Scholar (default: true).
SCHOLAR_SEARCH_ENABLE_ARXIV Use arXiv (default: true).

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

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

Tools

Tool Description
search_papers Search by query; optional limit, fields, year, venue
get_paper_details Get one paper by ID (DOI, ArXiv ID, S2 ID, or URL)
get_paper_citations Papers that cite the given paper
get_paper_references References of the given paper
get_author_info Author profile by ID
get_author_papers Papers by author
get_paper_recommendations Similar papers for a given paper
batch_get_papers Details for up to 500 paper IDs

Testing with MCP Inspector

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

License

MIT

Links

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_search_mcp-0.1.2.tar.gz (12.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_search_mcp-0.1.2-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file scholar_search_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: scholar_search_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for scholar_search_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5a090aba25e5913d66e2497a20578acdac27289f467da987eb1c1905e40e10a6
MD5 a8f4032645bb3dce838dde39c26b5996
BLAKE2b-256 31d6795aab103e84a72f645cc243829e87b8d0e8923a8867168d8c3ff36e5f88

See more details on using hashes here.

File details

Details for the file scholar_search_mcp-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for scholar_search_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 da9b9e4876839982eb91031cfb4f42f5b1f2dce9e4b3eeead753eaec488a6e71
MD5 606401fb3e81973c44ad046435dbe437
BLAKE2b-256 b70c863af3034e58556f70173b03c6f329c346c6c992e5b727054182940392b6

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