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_KEYfor 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:
- CORE API – Tried first; works without a key (subject to rate limits). Set
CORE_API_KEYfor higher limits (register). - Semantic Scholar – Used if CORE fails; works without a key with lower limits. Set
SEMANTIC_SCHOLAR_API_KEYfor higher limits. - 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a090aba25e5913d66e2497a20578acdac27289f467da987eb1c1905e40e10a6
|
|
| MD5 |
a8f4032645bb3dce838dde39c26b5996
|
|
| BLAKE2b-256 |
31d6795aab103e84a72f645cc243829e87b8d0e8923a8867168d8c3ff36e5f88
|
File details
Details for the file scholar_search_mcp-0.1.2-py3-none-any.whl.
File metadata
- Download URL: scholar_search_mcp-0.1.2-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da9b9e4876839982eb91031cfb4f42f5b1f2dce9e4b3eeead753eaec488a6e71
|
|
| MD5 |
606401fb3e81973c44ad046435dbe437
|
|
| BLAKE2b-256 |
b70c863af3034e58556f70173b03c6f329c346c6c992e5b727054182940392b6
|