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

Uploaded Python 3

File details

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

File metadata

  • Download URL: academic_search_mcp-0.1.7.tar.gz
  • Upload date:
  • Size: 268.0 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.7.tar.gz
Algorithm Hash digest
SHA256 e985ddcb6f2770ab8c6832487e38faa21f0b9d3641c026846d8309a414ac1ae1
MD5 5c748d34cf84e2182c22cf0fef3d42cd
BLAKE2b-256 fef2856565c5f339bfe9fb869c9cc87c0d56885dab5845bdf156f1aa3c868e52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for academic_search_mcp-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a59f35ee7188c107b95f063e87bbb017c543be91abc1e0bb5a15f1ada6bdb8d5
MD5 2423dea2770c63e12cb98077a19fb5e9
BLAKE2b-256 2048e837bfa7f19d7b6158f1fcd4ee8258de63b9f03c465ceaba48d083c280d1

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