π¬ academic-mcp is a Python-based MCP server that enables users to search, download, and read academic papers from various platforms. It provides three main tools:
- π
paper_search: Search papers across multiple academic databases - π₯
paper_download: Download paper PDFs, return paths of downloaded files - π
paper_read: Extract and read text content from papers
- π Multi-Source Support: Search and download papers from 19+ academic databases including arXiv, PubMed, PubMed Central, bioRxiv, medRxiv, Google Scholar, IACR ePrint Archive, Semantic Scholar, CrossRef, Science Direct, Springer, IEEE Xplore, Scopus, CORE, and more.
- π― Unified Interface: All platforms accessible through consistent
paper_search,paper_download, andpaper_readtools. - π Standardized Output: Papers are returned in a consistent dictionary format via the
Paperclass. - β‘ Asynchronous Operations: Efficiently handles concurrent searches and downloads using
httpxand async/await. - π MCP Integration: Compatible with MCP clients for LLM context enhancement.
- π§© Extensible Design: Easily add new academic platforms by extending the
sourcesmodule.
Free & Open Access:
- arXiv - Pre-print repository for physics, mathematics, CS, and more
- PubMed - Biomedical literature database
- PubMed Central (PMC) - Free full-text biomedical and life sciences articles
- bioRxiv - Pre-print server for biology
- medRxiv - Pre-print server for health sciences
- Semantic Scholar - AI-powered research tool
- CrossRef - DOI registration agency and metadata provider
- Google Scholar - Academic search engine
- IACR ePrint Archive - Cryptology pre-prints
- CORE - Open access research papers aggregator
API Key Required:
- Science Direct - Elsevier's full-text scientific database (requires Elsevier API key)
- Springer Link - Springer's scientific publications (requires Springer API key)
- IEEE Xplore - IEEE's digital library (requires IEEE API key)
- Scopus - Elsevier's abstract and citation database (requires Scopus API key)
Institutional Access Required:
- ACM Digital Library - ACM's computing literature (no public API)
- Web of Science - Clarivate's citation database (requires subscription)
- JSTOR - Digital library of academic journals (no public API)
- ResearchGate - Academic social network (no official API)
Retired Services:
- Microsoft Academic - Service retired December 31, 2021 (placeholder implementation)
academic-mcp can be installed using uv or pip. Below are detailed installation guides for different scenarios.
Install the package:
pip install academic-mcpStart the MCP server:
academic-mcpChoose your MCP client and follow the configuration steps:
1οΈβ£ Claude Desktop
Location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Configuration:
{
"mcpServers": {
"academic-mcp": {
"command": "python",
"args": ["-m", "academic_mcp"],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "",
"SCIENCEDIRECT_API_KEY": "",
"SPRINGER_API_KEY": "",
"IEEE_API_KEY": "",
"SCOPUS_API_KEY": "",
"CORE_API_KEY": "",
"ACADEMIC_MCP_ENABLED_SOURCES": "arxiv,pubmed,pmc,biorxiv,medrxiv,semantic,core,crossref,google_scholar,iacr",
"ACADEMIC_MCP_DISABLED_SOURCES": "ieee,scopus,springer,sciencedirect,wos,acm,jstor",
"ACADEMIC_MCP_DOWNLOAD_PATH": "./downloads"
}
}
}
}2οΈβ£ Claude Code (CLI)
Location: ~/.config/claude/config.json
Configuration:
{
"mcpServers": {
"academic-mcp": {
"command": "python",
"args": ["-m", "academic_mcp"],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "",
"SCIENCEDIRECT_API_KEY": "",
"SPRINGER_API_KEY": "",
"IEEE_API_KEY": "",
"SCOPUS_API_KEY": "",
"CORE_API_KEY": "",
"ACADEMIC_MCP_ENABLED_SOURCES": "arxiv,pubmed,pmc,biorxiv,medrxiv,semantic,core,crossref,google_scholar,iacr",
"ACADEMIC_MCP_DISABLED_SOURCES": "ieee,scopus,springer,sciencedirect,wos,acm,jstor",
"ACADEMIC_MCP_DOWNLOAD_PATH": "./downloads"
}
}
}
}Verify Installation:
# Check if academic-mcp is loaded
claude mcp list
# Test the server
claude mcp test academic-mcp3οΈβ£ Cline (VS Code Extension)
Location: VS Code Settings β Extensions β Cline β MCP Settings
Method 1: Through VS Code Settings UI
- Open VS Code Settings (Cmd/Ctrl + ,)
- Search for "Cline MCP"
- Click "Edit in settings.json"
- Add the configuration:
{
"cline.mcpServers": {
"academic-mcp": {
"command": "python",
"args": ["-m", "academic_mcp"],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "",
"SCIENCEDIRECT_API_KEY": "",
"SPRINGER_API_KEY": "",
"IEEE_API_KEY": "",
"SCOPUS_API_KEY": "",
"CORE_API_KEY": "",
"ACADEMIC_MCP_ENABLED_SOURCES": "arxiv,pubmed,pmc,biorxiv,medrxiv,semantic,core,crossref,google_scholar,iacr",
"ACADEMIC_MCP_DISABLED_SOURCES": "ieee,scopus,springer,sciencedirect,wos,acm,jstor",
"ACADEMIC_MCP_DOWNLOAD_PATH": "./downloads"
}
}
}
}Method 2: Direct settings.json Edit
Edit ~/.config/Code/User/settings.json (Linux/macOS) or %APPDATA%\Code\User\settings.json (Windows):
{
"cline.mcpServers": {
"academic-mcp": {
"command": "python",
"args": ["-m", "academic_mcp"],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "",
"SCIENCEDIRECT_API_KEY": "",
"SPRINGER_API_KEY": "",
"IEEE_API_KEY": "",
"SCOPUS_API_KEY": "",
"CORE_API_KEY": "",
"ACADEMIC_MCP_ENABLED_SOURCES": "arxiv,pubmed,pmc,biorxiv,medrxiv,semantic,core,crossref,google_scholar,iacr",
"ACADEMIC_MCP_DISABLED_SOURCES": "ieee,scopus,springer,sciencedirect,wos,acm,jstor",
"ACADEMIC_MCP_DOWNLOAD_PATH": "./downloads"
}
}
}
}4οΈβ£ Zed Editor
Location: ~/.config/zed/settings.json
Configuration:
{
"context_servers": {
"academic-mcp": {
"command": {
"path": "python",
"args": ["-m", "academic_mcp"]
},
"settings": {
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "",
"SCIENCEDIRECT_API_KEY": "",
"SPRINGER_API_KEY": "",
"IEEE_API_KEY": "",
"SCOPUS_API_KEY": "",
"CORE_API_KEY": "",
"ACADEMIC_MCP_ENABLED_SOURCES": "arxiv,pubmed,pmc,biorxiv,medrxiv,semantic,core,crossref,google_scholar,iacr",
"ACADEMIC_MCP_DISABLED_SOURCES": "ieee,scopus,springer,sciencedirect,wos,acm,jstor",
"ACADEMIC_MCP_DOWNLOAD_PATH": "./downloads"
}
}
}
}
}5οΈβ£ Custom MCP Client
For other MCP clients, use the standard MCP server configuration:
Server Command:
python -m academic_mcpEnvironment Variables:
SEMANTIC_SCHOLAR_API_KEY: Optional API key for Semantic ScholarSCIENCEDIRECT_API_KEY: Optional API key for Science DirectSPRINGER_API_KEY: Optional API key for Springer LinkIEEE_API_KEY: Optional API key for IEEE XploreSCOPUS_API_KEY: Optional API key for ScopusCORE_API_KEY: Optional API key for COREACADEMIC_MCP_DOWNLOAD_PATH: Download directory (default:./downloads)
Server Capabilities:
- Tools:
paper_search,paper_download,paper_read - Transport: stdio
- Protocol: MCP 1.0
API Keys (optional - only for premium services):
SEMANTIC_SCHOLAR_API_KEY: Semantic Scholar (Get API Key)SCIENCEDIRECT_API_KEY: Elsevier Science Direct (Get API Key)SPRINGER_API_KEY: Springer Nature (Get API Key)IEEE_API_KEY: IEEE Xplore (Get API Key)SCOPUS_API_KEY: Elsevier Scopus (Get API Key)CORE_API_KEY: CORE aggregator (Get API Key)WOS_API_KEY: Web of Science (requires institutional subscription)
General Settings:
ACADEMIC_MCP_DOWNLOAD_PATH: Directory for downloaded PDFs (default:./downloads)
Source Control:
ACADEMIC_MCP_ENABLED_SOURCES: Comma-separated list to enable specific sources (whitelist)ACADEMIC_MCP_DISABLED_SOURCES: Comma-separated list to disable specific sources (blacklist)- If both are set,
ACADEMIC_MCP_ENABLED_SOURCEStakes precedence - If neither is set, all 18 sources are enabled by default
Available Source Names (18 total):
| Source Name | Type | API Key Required | Description |
|---|---|---|---|
arxiv |
Free | - | Preprint repository for physics, mathematics, computer science |
pubmed |
Free | - | Biomedical literature from MEDLINE |
pmc |
Free | - | PubMed Central full-text archive |
biorxiv |
Free | - | Preprint server for biology |
medrxiv |
Free | - | Preprint server for health sciences |
google_scholar |
Free | - | Google Scholar search |
iacr |
Free | - | International Association for Cryptologic Research |
semantic |
Free | SEMANTIC_SCHOLAR_API_KEY (optional)Get API Key |
Semantic Scholar AI-powered search (higher rate limits with API key) |
crossref |
Free | - | Crossref DOI metadata |
core |
Free | CORE_API_KEYGet API Key |
CORE aggregator of open access papers |
ieee |
Premium | IEEE_API_KEYGet API Key |
IEEE Xplore digital library |
scopus |
Premium | SCOPUS_API_KEYGet API Key |
Elsevier Scopus database |
springer |
Premium | SPRINGER_API_KEYGet API Key |
Springer publications |
sciencedirect |
Premium | SCIENCEDIRECT_API_KEYGet API Key |
Elsevier ScienceDirect |
wos |
Premium | WOS_API_KEYInstitutional Access |
Web of Science (requires institutional subscription) |
acm |
Premium | - | ACM Digital Library |
jstor |
Premium | - | JSTOR archive |
researchgate |
Free | - | ResearchGate social network |
Once configured, academic-mcp provides three main tools accessible through Claude Desktop or any MCP-compatible client.
Search for academic papers across multiple sources:
Basic Search Examples:
# Search arXiv for machine learning papers
paper_search([
{"searcher": "arxiv", "query": "machine learning", "max_results": 5}
])
# Search PubMed Central for biomedical papers
paper_search([
{"searcher": "pmc", "query": "cancer treatment", "max_results": 5}
])
# Search CORE for open access papers
paper_search([
{"searcher": "core", "query": "climate change", "max_results": 5}
])Multi-Platform Search:
# Search multiple platforms simultaneously
paper_search([
{"searcher": "arxiv", "query": "deep learning", "max_results": 5},
{"searcher": "pubmed", "query": "cancer immunotherapy", "max_results": 3},
{"searcher": "pmc", "query": "diabetes treatment", "max_results": 3},
{"searcher": "semantic", "query": "climate change", "max_results": 4, "year": "2020-2023"}
])Premium Sources (require API keys):
# Search IEEE Xplore (requires IEEE_API_KEY)
paper_search([
{"searcher": "ieee", "query": "neural networks", "max_results": 5}
])
# Search Springer Link (requires SPRINGER_API_KEY)
paper_search([
{"searcher": "springer", "query": "quantum computing", "max_results": 5}
])
# Search Scopus (requires SCOPUS_API_KEY)
paper_search([
{"searcher": "scopus", "query": "artificial intelligence", "max_results": 5}
])Search All Platforms:
# Search all platforms (omit "searcher" parameter)
paper_search([
{"query": "quantum computing", "max_results": 10}
])Download paper PDFs using their identifiers:
# Download from free sources
paper_download([
{"searcher": "arxiv", "paper_id": "2106.12345"},
{"searcher": "pubmed", "paper_id": "32790614"},
{"searcher": "pmc", "paper_id": "PMC7419405"},
{"searcher": "biorxiv", "paper_id": "10.1101/2020.01.01.123456"},
{"searcher": "semantic", "paper_id": "DOI:10.18653/v1/N18-3011"}
])
# Download from CORE (open access)
paper_download([
{"searcher": "core", "paper_id": "123456789"}
])Note: Premium sources (IEEE, Springer, Science Direct, Scopus) require institutional access or subscriptions for PDF downloads.
Extract and read text content from papers:
# Read papers from free sources
paper_read(searcher="arxiv", paper_id="2106.12345")
paper_read(searcher="pubmed", paper_id="32790614")
paper_read(searcher="pmc", paper_id="PMC7419405")
paper_read(searcher="biorxiv", paper_id="10.1101/2020.01.01.123456")
paper_read(searcher="semantic", paper_id="DOI:10.18653/v1/N18-3011")
paper_read(searcher="core", paper_id="123456789")For developers who want to modify the code or contribute:
-
Setup Environment:
# Install uv if not installed curl -LsSf https://astral.sh/uv/install.sh | sh # Clone repository git clone https://github.com/LinXueyuanStdio/academic-mcp.git cd academic-mcp # Create and activate virtual environment uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install Dependencies:
# Install dependencies (recommended) uv pip install -e . # Add development dependencies (optional) uv pip install pytest flake8
We welcome contributions! Here's how to get started:
-
Fork the Repository: Click "Fork" on GitHub.
-
Clone and Set Up:
git clone https://github.com/yourusername/academic-mcp.git cd academic-mcp uv pip install -e . # Install in development mode
-
Make Changes:
- Add new platforms in
academic_mcp/sources/. - Update tests in
tests/.
- Add new platforms in
-
Submit a Pull Request: Push changes and create a PR on GitHub.
This project is licensed under the MIT License. See the LICENSE file for details.
Happy researching with academic-mcp! If you encounter issues, open a GitHub issue.
