ArXiv Sync MCP Server

ArXiv Sync MCP Server

Enables AI assistants to search, download, and access arXiv papers with local storage and date filtering via the Model Context Protocol.

Category
Visit Server

README

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:

1. Paper Search

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.


<div align="center">

Fork of arxiv-mcp-server by Joseph Blazick

Originally made with โค๏ธ

</div>

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured