scholar-search-mcp
Allows searching and fetching papers from arXiv, including downloading and extracting LaTeX source bundles.
Provides search and retrieval of academic papers, including citations, references, author profiles, and recommendations via the Semantic Scholar API.
Scholar Search MCP
An MCP server for academic literature workflows in Claude, Cursor, and other MCP clients.
It combines Semantic Scholar + arXiv into one unified toolset, with fast parallel search, normalized outputs, source-aware deduplication, and practical research utilities (citations, references, author graph, recommendations, and arXiv source download).
Table of Contents
Why this project
Most paper tools force you to choose one source or one API style. scholar-search-mcp provides one MCP layer for literature search and graph retrieval:
One MCP server, multiple scholarly sources
Free-first defaults (
arXivworks without keys)LLM-friendly outputs for downstream reasoning and agent workflows
Practical research actions, not only search
Unified search:
search_papersruns Semantic Scholar + arXiv in parallel and deduplicates by normalized title.Research graph tools: details, citations, references, author profile/papers, and recommendations.
Batch + source workflows: fetch up to 500 papers, and download/extract arXiv LaTeX sources.
Operational controls: built-in caching plus env-based source toggles (enable/disable channels).
Source strategy: built-in Semantic Scholar + arXiv, free-first by default (
arXivkey-free), optional API key for higher Semantic Scholar limits.
Demo videos
Agent writes a survey paper with Scholar Search MCP.
Install
pip install scholar-search-mcpRequires Python 3.10+.
Quick setup (Claude Desktop / Cursor)
Use the same server command in both clients:
{
"mcpServers": {
"scholar-search": {
"command": "python",
"args": ["-m", "scholar_search_mcp"],
"env": {
"SCHOLAR_SEARCH_ENABLE_SEMANTIC_SCHOLAR": "true",
"SCHOLAR_SEARCH_ENABLE_ARXIV": "true"
}
}
}
}SEMANTIC_SCHOLAR_API_KEY is optional. Add it only if you want higher Semantic Scholar rate limits:
{
"mcpServers": {
"scholar-search": {
"command": "python",
"args": ["-m", "scholar_search_mcp"],
"env": {
"SCHOLAR_SEARCH_ENABLE_SEMANTIC_SCHOLAR": "true",
"SCHOLAR_SEARCH_ENABLE_ARXIV": "true",
"SEMANTIC_SCHOLAR_API_KEY": "your-key"
}
}
}
}Difference:
Claude Desktop: edit local config file directly.
Cursor: add an MCP server in Cursor settings UI (or corresponding settings JSON).
Claude Desktop config file locations:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Environment variables
Variable | Description |
| Optional. Increases Semantic Scholar rate limits. |
|
|
|
|
| Optional cache directory path. |
| Cache TTL in seconds, default |
| Default parent directory for extracted arXiv sources. |
Example (arXiv only):
{
"SCHOLAR_SEARCH_ENABLE_SEMANTIC_SCHOLAR": "false",
"SCHOLAR_SEARCH_ENABLE_ARXIV": "true"
}Tool list
Tool | Purpose |
| Search papers with optional |
| Get one paper by DOI, arXiv ID, S2 ID, or URL. |
| Get papers that cite a given paper. |
| Get references of a given paper. |
| Get an author profile by ID. |
| Get papers by a given author. |
| Get similar paper recommendations. |
| Batch fetch paper details (up to 500 IDs). |
| Download and extract arXiv source bundle ( |
Testing with MCP Inspector
npm install -g @modelcontextprotocol/inspector
mcp-inspector python -m scholar_search_mcpContributing
Issues and PRs are welcome: fork repo, create branch, add validation/tests, and open a PR with clear before/after behavior.
License
MIT
References
This server cannot be installed
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Silung/scholar-search-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server