Model Context Protocol server for Semantic Scholar API
Project description
Scholar Search MCP
A MCP server that integrates the 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 parallel merge from Semantic Scholar and 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_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": {
"SEMANTIC_SCHOLAR_API_KEY": "your-semantic-scholar-api-key-here",
"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_papers queries enabled sources in parallel and merges results by title:
- Semantic Scholar – Works without a key with lower limits. Set
SEMANTIC_SCHOLAR_API_KEYfor higher limits. - arXiv – No key required.
Enable/disable search channels
Control which sources are used in search_papers via environment variables (default: all enabled):
| Variable | Description |
|---|---|
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"
}
arXiv source downloads (download_arxiv_source)
Optional default parent directory for extracted sources when the tool is called without output_dir:
| Variable | Description |
|---|---|
SCHOLAR_ARXIV_SOURCE_DIR |
If set, files go under <dir>/<arxiv_id>/. Otherwise uses a temp subfolder. |
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 |
download_arxiv_source |
Download 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
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.3.tar.gz.
File metadata
- Download URL: scholar_search_mcp-0.1.3.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b7dca025f424d06c9570f9bc73bff021dd152b744dc582a3dbb5083b33bf247
|
|
| MD5 |
22b5d21c78c44f570ab9b142cc09720c
|
|
| BLAKE2b-256 |
1a8e3cdf9d02dd509a86b93b0d8859334da99b424a1813f97b5f6949bcf06402
|
File details
Details for the file scholar_search_mcp-0.1.3-py3-none-any.whl.
File metadata
- Download URL: scholar_search_mcp-0.1.3-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26d4019d999deef6009debde7f215d0327349b1b76b8042facb0a476d25ac54c
|
|
| MD5 |
c70ff02a8ccd34a3843dcd47929a6c01
|
|
| BLAKE2b-256 |
73c6d56108a10082832e9ee26d6a4bb11fb47f31aa98219eb3510077432511c2
|