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.5b1.tar.gz (266.1 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.5b1-py3-none-any.whl (55.8 kB view details)

Uploaded Python 3

File details

Details for the file academic_search_mcp-0.1.5b1.tar.gz.

File metadata

  • Download URL: academic_search_mcp-0.1.5b1.tar.gz
  • Upload date:
  • Size: 266.1 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.5b1.tar.gz
Algorithm Hash digest
SHA256 868da51e47ab0732ffdf00c3ffbeb28827af746d06814dcc236dfd196ccc0d12
MD5 70954d14176f2ecb733700cd7387fe5e
BLAKE2b-256 5ae0e0a1f120b357f91d3f84aec3be59771176620b14ec6635448f9ecb48a9c5

See more details on using hashes here.

File details

Details for the file academic_search_mcp-0.1.5b1-py3-none-any.whl.

File metadata

File hashes

Hashes for academic_search_mcp-0.1.5b1-py3-none-any.whl
Algorithm Hash digest
SHA256 8802d9525a7065eac42e5f615ac41fc4a82831913705708961691a4094b442f6
MD5 39057d8145949c70af2f5d86ef5da908
BLAKE2b-256 e3f361dab0fdbe92f7e1945196702048727dabff0d0dfa6ae418a664a49fd5a4

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