Skip to main content
Glama
Research Papers MCP Server

Research Papers MCP Server

Research Papers MCP Server

This project is a Model Context Protocol (MCP) server written in Python that acts as an intelligent interface to academic paper repositories, particularly the arXiv API. It allows Large Language Models (LLMs) like Claude to search for and retrieve academic papers.

Features

This server exposes a suite of tools to the LLM, enabling it to:

  • search_papers: Perform a general topic search for papers from sources like arXiv.

  • find_papers_by_author: Find recent papers by a specific author from sources like arXiv.

  • get_latest_from_category: Browse the newest submissions in a given arXiv category (e.g., cs.LG).

  • get_paper_by_id: Get full details for a single paper by its arXiv ID.

  • get_papers_by_ids: Efficiently get details for a list of papers by their arXiv IDs.

Related MCP server: arXiv MCP Server

Requirements

Setup and Installation

Installing via Smithery

To install this research papers MCP server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @candenizkocak/research-papers-mcp-server --client claude

Manual Installation

  1. Clone the repository:

    git clone https://github.com/candenizkocak/research-papers-mcp-server.git research-papers-mcp-server
    cd research-papers-mcp-server
  2. Create a virtual environment and install dependencies:

    uv venv
    source .venv/bin/activate  # On Windows, use .venv\Scripts\activate
    uv sync

    (Note: uv sync will install dependencies from the pyproject.toml file).

Usage with Claude for Desktop

  1. Find the absolute path to your research-papers-mcp-server directory.

  2. Open your Claude for Desktop configuration file (claude_desktop_config.json):

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  3. Add the server configuration, replacing the placeholder with your absolute path:

    {
      "mcpServers": {
        "research-papers": {
          "command": "uv",
          "args": [
            "--directory",
            "/ABSOLUTE/PATH/TO/research-papers-mcp-server",
            "run",
            "arxiv_server.py"
          ]
        }
      }
    }
  4. Completely restart Claude for Desktop.

Example Prompts

  • General Search: "Find papers about 'mixture of experts models'."

  • Author Search: "What are the most recent papers by Geoffrey Hinton?"

  • Category Search: "What's new in the cs.LG category on arXiv?"

  • Single ID Lookup: "Tell me about arXiv paper 1706.03762."

  • Multiple ID Lookup: "Give me details for papers 2307.09288 and 2203.02155."

Acknowledgements

Thank you to arXiv for use of its open access interoperability.

Compliance Notes

Developers and users of this project are responsible for familiarizing themselves with the official arXiv API Terms of Use, API Basics, and API User Manual to ensure full compliance with arXiv's policies, including any rate limits or usage restrictions.

Available Tools

5 tools
find_papers_by_authorA

Finds recent academic papers by a specific author's name from sources like arXiv. Args: author_name: The full name of the author to search for (e.g., "Geoffrey Hinton"). max_results: Max number of papers to return.

Inputs: author_name (required), max_results.

get_latest_from_categoryA

Gets the most recently submitted papers from a specific arXiv category. Args: category: The category code to search (e.g., 'cs.LG', 'astro-ph.CO'). max_results: Max number of papers to return.

Inputs: category (required), max_results.

get_paper_by_idB

Retrieves full details for a single paper using its arXiv ID.

Inputs: arxiv_id (required).

get_papers_by_idsA

Retrieves full details for a list of papers using their arXiv IDs from sources like arXiv. Args: arxiv_ids: A list of arXiv IDs (e.g., ['2307.09288', '1706.03762']).

Inputs: arxiv_ids (required).

search_papersA

General purpose search for academic papers from sources like arXiv. Best for complex queries. Args: query: Search query using arXiv syntax (e.g., 'ti:"quantum computing" AND au:"John Preskill"'). max_results: Max number of papers to return. sort_by: Sort order ('relevance', 'lastUpdatedDate', 'submittedDate'). sort_order: Sort direction ('ascending', 'descending').

Inputs: query (required), sort_by, sort_order, max_results.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 5 tools

    Disambiguation4/5

    Tools are mostly distinct: search, get by ID, get by author, get latest by category, and batch get by IDs. There is some overlap between search_papers and find_papers_by_author (since search can query by author), and between get_paper_by_id and get_papers_by_ids (single vs multiple), but descriptions help clarify the intended use.

    Naming Consistency4/5

    Names follow a verb-first snake_case pattern (search, get, find). However, there is inconsistency in how the object is specified: some include 'papers' (search_papers, get_papers_by_ids), one uses the singular 'paper' (get_paper_by_id), and one omits the object entirely (get_latest_from_category). This minor variation is still readable and predictable.

    Tool Count5/5

    With 5 tools, the set is well-scoped for a research paper retrieval server. Each tool addresses a distinct access pattern (search, single lookup, author lookup, category listing, batch retrieval) without unnecessary bloat.

    Completeness4/5

    The core retrieval needs are covered: general search, paper details, author-based lookup, category-based listing, and batch retrieval. Minor gaps exist, such as no way to list all papers in a category (only latest) or search by title specifically, but search_papers can work around these. Overall, the surface is reasonably complete for a read-only academic paper API.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Enables searching and retrieving academic papers from arXiv by various criteria including title, author, and category, with support for extracting full text content from PDFs.
      4
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Enables searching and retrieving academic papers from arXiv with support for advanced filtering by author, category, and date, plus full paper content extraction.
      12
      16
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Enables searching academic papers on arXiv and retrieving detailed information such as title, authors, summary, and PDF link.
      1
      6
      MIT