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.3.tar.gz (264.9 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.3-py3-none-any.whl (54.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: academic_search_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 264.9 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.3.tar.gz
Algorithm Hash digest
SHA256 ba2794e59022c6db8618f98882963bb3be3efd59db929e0d9500bd5645319821
MD5 b10426d82a71e2a1f96e39c7cf4691ca
BLAKE2b-256 2910271bffc7fae59ca59075194555f914ab1aae51af5bdd32f138e02d5dd6f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for academic_search_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 849e42596c7d445d7f1b3aa7ea9fafe0bb5d6206eb7ee0abc4c0dce513115864
MD5 efa69f8d84b2c7297cc42dd0e6664aa6
BLAKE2b-256 5d446b22eca239b9ee7ebeb310a9c41ca6baede1855f4d1fa84e9de97ed6e83d

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