Academic MCP
π Academic MCP
π¬ 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
π Table of Contents
β¨ Features
π 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.
π¬ Screenshot
π Supported Academic Platforms
β Fully Implemented (19 sources)
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)
π¦ Installation
academic-mcp can be installed using uv or pip. Below are detailed installation guides for different scenarios.
β‘ Quick Install
Install the package:
pip install academic-mcpStart the MCP server:
academic-mcpπ§ MCP Client Configuration
Choose your MCP client and follow the configuration steps:
Location:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%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": "",
"WOS_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"
}
}
}
}Location:
User-level:
~/.claude/settings.jsonProject-level:
.mcp.json
Configuration:
{
"mcpServers": {
"academic-mcp": {
"command": "academic-mcp",
"args": [],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "",
"SCIENCEDIRECT_API_KEY": "",
"SPRINGER_API_KEY": "",
"IEEE_API_KEY": "",
"SCOPUS_API_KEY": "",
"CORE_API_KEY": "",
"WOS_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"
}
}
}
}Note: You can also use
"command": "python"with"args": ["-m", "academic_mcp"]if you prefer running via Python module.
Verify Installation:
# Check if academic-mcp is loaded
claude mcp list
# Test the server
claude mcp test academic-mcpLocation: 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": "academic-mcp",
"args": [],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "",
"SCIENCEDIRECT_API_KEY": "",
"SPRINGER_API_KEY": "",
"IEEE_API_KEY": "",
"SCOPUS_API_KEY": "",
"CORE_API_KEY": "",
"WOS_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": "academic-mcp",
"args": [],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "",
"SCIENCEDIRECT_API_KEY": "",
"SPRINGER_API_KEY": "",
"IEEE_API_KEY": "",
"SCOPUS_API_KEY": "",
"CORE_API_KEY": "",
"WOS_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"
}
}
}
}Location: ~/.config/zed/settings.json
Configuration:
{
"context_servers": {
"academic-mcp": {
"command": {
"path": "academic-mcp",
"args": []
},
"settings": {
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "",
"SCIENCEDIRECT_API_KEY": "",
"SPRINGER_API_KEY": "",
"IEEE_API_KEY": "",
"SCOPUS_API_KEY": "",
"CORE_API_KEY": "",
"WOS_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"
}
}
}
}
}For other MCP clients, use the standard MCP server configuration:
Server Command:
academic-mcp
# or
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 COREWOS_API_KEY: Optional API key for Web of ScienceACADEMIC_MCP_DOWNLOAD_PATH: Download directory (default:./downloads)ACADEMIC_MCP_ENABLED_SOURCES: Comma-separated list of enabled sourcesACADEMIC_MCP_DISABLED_SOURCES: Comma-separated list of disabled sources
Server Capabilities:
Tools:
paper_search,paper_download,paper_readTransport: stdio
Protocol: MCP 1.0
βοΈ Environment Variables
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 precedenceIf neither is set, all 18 sources are enabled by default
Available Source Names (18 total):
Source Name | Type | API Key Required | Description |
| Free | - | Preprint repository for physics, mathematics, computer science |
| Free | - | Biomedical literature from MEDLINE |
| Free | - | PubMed Central full-text archive |
| Free | - | Preprint server for biology |
| Free | - | Preprint server for health sciences |
| Free | - | Google Scholar search |
| Free | - | International Association for Cryptologic Research |
| Free |
| Semantic Scholar AI-powered search (higher rate limits with API key) |
| Free | - | Crossref DOI metadata |
| Free |
| CORE aggregator of open access papers |
| Premium |
| IEEE Xplore digital library |
| Premium |
| Elsevier Scopus database |
| Premium |
| Springer publications |
| Premium |
| Elsevier ScienceDirect |
| Premium |
| Web of Science (requires institutional subscription) |
| Premium | - | ACM Digital Library |
| Premium | - | JSTOR archive |
| Free | - | ResearchGate social network |
π Usage
Once configured, academic-mcp provides three main tools accessible through Claude Desktop or any MCP-compatible client.
1. Search Papers (paper_search)
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}
])2. Download Papers (paper_download)
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.
3. Read Papers (paper_read)
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 Development
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\activateInstall Dependencies:
# Install dependencies (recommended) uv pip install -e . # Add development dependencies (optional) uv pip install pytest flake8
π€ Contributing
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 modeMake Changes:
Add new platforms in
academic_mcp/sources/.Update tests in
tests/.
Submit a Pull Request: Push changes and create a PR on GitHub.
π License
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.