Skip to main content

Academic Search MCP

A Model Context Protocol (MCP) server for searching and downloading academic papers from multiple sources. Designed for seamless integration with large language models like Claude Desktop.

Fork Notice: This is an extended fork of openags/academic-search-mcp with additional platforms (CORE, SSRN, CyberLeninka) and improvements.

License Python


Table of Contents


Overview

academic-search-mcp is a Python-based MCP server that enables users to search and download academic papers from various platforms. It provides tools for searching papers (e.g., search_arxiv) and downloading PDFs (e.g., download_arxiv), making it ideal for researchers and AI-driven workflows. Built with the MCP Python SDK, it integrates seamlessly with LLM clients like Claude Desktop.


Features

  • Multi-Source Support: Search and download papers from arXiv, PubMed, bioRxiv, medRxiv, Google Scholar, IACR ePrint Archive, Semantic Scholar, CrossRef, OpenAlex, CORE, SSRN, and CyberLeninka.
  • Date Filtering: All sources support date_from and date_to parameters (YYYY-MM-DD format) to filter papers by publication date.
  • Citation Counts: OpenAlex, Semantic Scholar, CrossRef, and Google Scholar include citation counts in search results.
  • Citation Graph: OpenAlex tools to explore references (papers a work cites) and citations (papers citing a work), sorted by impact.
  • Open Access PDFs: OpenAlex includes PDF URLs for open access papers.
  • Token-Optimized Output: Configurable abstract_limit parameter to control abstract length (default: 200 chars, use -1 for full, 0 to omit).
  • Standardized Output: Papers are returned in a consistent, compact dictionary format via the Paper class.
  • Asynchronous Tools: Efficiently handles network requests using httpx.
  • MCP Integration: Compatible with MCP clients for LLM context enhancement.
  • Extensible Design: Easily add new academic platforms by extending the academic_platforms module.

Search Parameters

All search tools support these common parameters:

Parameter Type Default Description
query str required Search query string
max_results int 10 Maximum number of papers to return
abstract_limit int 200 Max chars for abstract (0=omit, -1=full)
date_from str None Start date in YYYY-MM-DD format
date_to str None End date in YYYY-MM-DD format

Note: Google Scholar only supports year-level filtering (month/day are ignored).


Installation

Quick Start with uvx

The easiest way to use academic-search-mcp:

uvx academic-search-mcp

Or install globally:

uv tool install academic-search-mcp

Configure Claude Desktop

Add this configuration to ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "academic_search": {
      "command": "uvx",
      "args": ["academic-search-mcp"]
    }
  }
}

Alternative: Install with pip/uv

pip install academic-search-mcp
# or
uv add academic-search-mcp
  1. Configure Claude Desktop (alternative): Add this configuration to ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
    {
      "mcpServers": {
        "paper_search_server": {
          "command": "uv",
          "args": [
            "run",
            "--directory",
            "/path/to/your/academic-search-mcp",
            "-m",
            "paper_search_mcp.server"
          ],
          "env": {
            "SEMANTIC_SCHOLAR_API_KEY": "", // Optional: For enhanced Semantic Scholar features
            "CORE_API_KEY": "" // Optional: for CORE repository access
          }
        }
      }
    }
    

    Note: Replace /path/to/your/academic-search-mcp with your actual installation path.

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/openags/academic-search-mcp.git
    cd academic-search-mcp
    
    # Create and activate virtual environment
    uv venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  2. Install Dependencies:

    # Install project in editable mode
    uv add -e .
    
    # Add development dependencies (optional)
    uv add 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-search-mcp.git
    cd academic-search-mcp
    pip install -e ".[dev]"  # Install dev dependencies (if added to pyproject.toml)
    
  3. Make Changes:

    • Add new platforms in academic_platforms/.
    • Update tests in tests/.
  4. Submit a Pull Request: Push changes and create a PR on GitHub.


Demo

Demo

TODO

Planned Academic Platforms

  • arXiv
  • PubMed
  • bioRxiv
  • medRxiv
  • Google Scholar
  • IACR ePrint Archive
  • Semantic Scholar
  • CrossRef
  • OpenAlex
  • CORE (200M+ open access papers)
  • SSRN (social sciences, law, business preprints)
  • CyberLeninka (Russian academic papers, VAK/RSCI/SCOPUS filters)
  • PubMed Central (PMC)
  • Science Direct
  • Springer Link
  • IEEE Xplore
  • ACM Digital Library
  • Web of Science
  • Scopus
  • JSTOR
  • ResearchGate

License

This project is licensed under the MIT License. See the LICENSE file for details.


Happy researching with academic-search-mcp!

Credits

Based on openags/paper-search-mcp by P.S Zhang.

Release files for academic-search-mcp 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for academic-search-mcp 0.1.8
File Size Uploaded
academic_search_mcp-0.1.8.tar.gz 268.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for academic-search-mcp 0.1.8
File Interpreter ABI Platform
academic_search_mcp-0.1.8-py3-none-any.whl Python 3 none any Details

Total release size: 325.4 kB

Release files / academic_search_mcp-0.1.8.tar.gz

Download URL academic_search_mcp-0.1.8.tar.gz
Size 268.3 kB
Tags Source
SHA-256 checksum
How to use checksums
70d1ea6e5d68f437c8abee4dd2bde7229ea21d9886c12db9db48dbf22d4a8e87
BLAKE2b-256 checksum
How to use checksums
e1802b6928eecb5f29f1b9a31d74afec7d34dc2f4408691ed94f2ebddd6af47e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.4

Release files / academic_search_mcp-0.1.8-py3-none-any.whl

Download URL academic_search_mcp-0.1.8-py3-none-any.whl
Size 57.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
71af1c706deec494198b77937624adead578abcf79d13ba3f9ab0643e1c00031
BLAKE2b-256 checksum
How to use checksums
83ba9c8a991d065843772bc2f0b8836510f14ab77be34656344d4bf59364f325
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.4

Release history Release notifications | RSS feed

This release

0.1.8 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page