Skip to main content

A MCP server for searching and downloading academic papers from multiple sources.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

academic_search_mcp-0.1.8.tar.gz (268.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

academic_search_mcp-0.1.8-py3-none-any.whl (57.1 kB view details)

Uploaded Python 3

File details

Details for the file academic_search_mcp-0.1.8.tar.gz.

File metadata

  • Download URL: academic_search_mcp-0.1.8.tar.gz
  • Upload date:
  • Size: 268.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.4

File hashes

Hashes for academic_search_mcp-0.1.8.tar.gz
Algorithm Hash digest
SHA256 70d1ea6e5d68f437c8abee4dd2bde7229ea21d9886c12db9db48dbf22d4a8e87
MD5 ecf958d55326e66bd2fdea576dfd21e8
BLAKE2b-256 e1802b6928eecb5f29f1b9a31d74afec7d34dc2f4408691ed94f2ebddd6af47e

See more details on using hashes here.

File details

Details for the file academic_search_mcp-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for academic_search_mcp-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 71af1c706deec494198b77937624adead578abcf79d13ba3f9ab0643e1c00031
MD5 5d59dbb9f4ca226af826c3e079de4261
BLAKE2b-256 83ba9c8a991d065843772bc2f0b8836510f14ab77be34656344d4bf59364f325

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page