Skip to main content
Glama

πŸ“š Academic MCP

English | δΈ­ζ–‡

πŸ”¬ 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

PyPI License Python


πŸ“‘ 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, and paper_read tools.

  • πŸ“Š Standardized Output: Papers are returned in a consistent dictionary format via the Paper class.

  • ⚑ Asynchronous Operations: Efficiently handles concurrent searches and downloads using httpx and async/await.

  • πŸ”Œ MCP Integration: Compatible with MCP clients for LLM context enhancement.

  • 🧩 Extensible Design: Easily add new academic platforms by extending the sources module.

🎬 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-mcp

Start 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.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" } } } }

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-mcp

Location: VS Code Settings β†’ Extensions β†’ Cline β†’ MCP Settings

Method 1: Through VS Code Settings UI

  1. Open VS Code Settings (Cmd/Ctrl + ,)

  2. Search for "Cline MCP"

  3. Click "Edit in settings.json"

  4. 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" } } } }

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" } } } } }

For other MCP clients, use the standard MCP server configuration:

Server Command:

python -m academic_mcp

Environment Variables:

  • SEMANTIC_SCHOLAR_API_KEY: Optional API key for Semantic Scholar

  • SCIENCEDIRECT_API_KEY: Optional API key for Science Direct

  • SPRINGER_API_KEY: Optional API key for Springer Link

  • IEEE_API_KEY: Optional API key for IEEE Xplore

  • SCOPUS_API_KEY: Optional API key for Scopus

  • CORE_API_KEY: Optional API key for CORE

  • ACADEMIC_MCP_DOWNLOAD_PATH: Download directory (default: ./downloads)

Server Capabilities:

  • Tools: paper_search, paper_download, paper_read

  • Transport: 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_SOURCES takes 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_KEY

Get API Key

CORE aggregator of open access papers

ieee

Premium

IEEE_API_KEY

Get API Key

IEEE Xplore digital library

scopus

Premium

SCOPUS_API_KEY

Get API Key

Elsevier Scopus database

springer

Premium

SPRINGER_API_KEY

Get API Key

Springer publications

sciencedirect

Premium

SCIENCEDIRECT_API_KEY

Get API Key

Elsevier ScienceDirect

wos

Premium

WOS_API_KEY

Institutional Access

Web of Science (requires institutional subscription)

acm

Premium

-

ACM Digital Library

jstor

Premium

-

JSTOR archive

researchgate

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:

  1. 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
  2. Install 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:

  1. Fork the Repository: Click "Fork" on GitHub.

  2. Clone and Set Up:

    git clone https://github.com/yourusername/academic-mcp.git cd academic-mcp uv pip install -e . # Install in development mode
  3. Make Changes:

    • Add new platforms in academic_mcp/sources/.

    • Update tests in tests/.

  4. 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.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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/LinXueyuanStdio/academic-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server