Skip to main content
Glama
marfago

ArXiv Sync MCP Server

by marfago

Python Version License: Apache 2.0

ArXiv Sync MCP Server

๐Ÿ” Enable AI assistants to search and access arXiv papers through a simple MCP interface.

๐Ÿ“Œ About This Fork

This is a fork of the original arxiv-mcp-server by Joseph Blazick.

Why This Fork?

This fork simplifies the architecture and fixes issues found in the original:

Feature

Original

This Fork

Download method

Async background conversion

Synchronous download & conversion

API calls

Multiple (download โ†’ poll status โ†’ read)

Single call returns content

Status tracking

Required

Not needed

PDF cleanup

Manual

Automatic after conversion

Date filtering

Buggy

Fixed

Complexity

Higher

Simpler

Key improvements:

  • The get_paper_content tool now downloads, converts PDF to markdown, and returns the content in a single call

  • Date filtering in search_papers now works correctly:

    • Uses direct HTTP requests to arXiv API to bypass encoding issues with the Python arxiv library

    • Properly formats date ranges in arXiv's submittedDate:[YYYYMMDD0000+TO+YYYYMMDD2359] format

    • Correctly combines date filters with category and query filters using AND operators

The ArXiv Sync MCP Server provides a bridge between AI assistants and arXiv's research repository through the Model Context Protocol (MCP). It allows AI models to search for papers and access their content programmatically.

โœจ Core Features

  • ๐Ÿ”Ž Paper Search: Query arXiv papers with filters for date ranges and categories

  • ๐Ÿ“„ Paper Access: Download and read paper content

  • ๐Ÿ“‹ Paper Listing: View all downloaded papers

  • ๐Ÿ—ƒ๏ธ Local Storage: Papers are saved locally for faster access

  • ๐Ÿ“ Prompts: A Set of Research Prompts

๐Ÿš€ Quick Start

This fork is distributed via GitHub and is not published to PyPI.

Installing Manually

Install using uv:

uv tool install git+https://github.com/marfago/arxiv-sync-mcp-server.git

For development:

# Clone and set up development environment
git clone https://github.com/marfago/arxiv-sync-mcp-server.git
cd arxiv-sync-mcp-server

# Create and activate virtual environment
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install with test dependencies
uv pip install -e ".[test]"

๐Ÿ”Œ MCP Integration

Add this configuration to your MCP client config file:

{
    "mcpServers": {
        "arxiv-sync-mcp-server": {
            "command": "uv",
            "args": [
                "tool",
                "run",
                "--from",
                "git+https://github.com/marfago/arxiv-sync-mcp-server.git",
                "arxiv-sync-mcp-server",
                "--storage-path", "/path/to/paper/storage"
            ]
        }
    }
}

For Development:

{
    "mcpServers": {
        "arxiv-sync-mcp-server": {
            "command": "uv",
            "args": [
                "--directory",
                "/path/to/cloned/arxiv-sync-mcp-server",
                "run",
                "arxiv-sync-mcp-server",
                "--storage-path", "/path/to/paper/storage"
            ]
        }
    }
}

๐Ÿ’ก Available Tools

The server provides three simple tools:

Search for papers with optional filters:

result = await call_tool("search_papers", {
    "query": "transformer architecture",
    "max_results": 10,
    "date_from": "2023-01-01",
    "categories": ["cs.AI", "cs.LG"]
})

2. Get Paper Content

Get the full content of a paper, downloading and converting it if necessary:

result = await call_tool("get_paper_content", {
    "paper_id": "2401.12345"
})

3. List Papers

View all downloaded papers:

result = await call_tool("list_papers", {})

๐Ÿ“ Research Prompts

The server offers specialized prompts to help analyze academic papers:

Paper Analysis Prompt

A comprehensive workflow for analyzing academic papers that only requires a paper ID:

result = await call_prompt("deep-paper-analysis", {
    "paper_id": "2401.12345"
})

This prompt includes:

  • Detailed instructions for using available tools (get_paper_content, search_papers, list_papers)

  • A systematic workflow for paper analysis

  • Comprehensive analysis structure covering:

    • Executive summary

    • Research context

    • Methodology analysis

    • Results evaluation

    • Practical and theoretical implications

    • Future research directions

    • Broader impacts

โš™๏ธ Configuration

Configure through environment variables:

Variable

Purpose

Default

ARXIV_STORAGE_PATH

Paper storage location

~/.arxiv-sync-mcp-server/papers

๐Ÿงช Testing

Run the test suite:

python -m pytest

๐Ÿ“„ License

Released under the Apache 2.0 License. See the LICENSE file for details.


Fork of arxiv-mcp-server by Joseph Blazick

Originally made with โค๏ธ

Install Server
A
license - permissive license
A
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/marfago/arxiv-sync-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server