Skip to main content

🧠 arXiv Research Assistant MCP Server

This project is an MCP (Model Context Protocol) server built to interact with the vast arXiv.org paper database.

It allows clients like Claude AI to search, explore, and compare arXiv papers efficiently — all through a custom-built, local server. It’s built with Python and the FastMCP framework, and uses uv for lightweight package management.


S

✨ Features

  • 🔍 Keyword-based Paper Search
    Search arXiv papers by keywords, with options to sort by relevance or most recent.

  • 📚 Latest Papers by Category
    Specify an arXiv category code (e.g., cs.AI, math.AP) to fetch the most recent papers in that field.

  • 📄 Paper Details Lookup
    Fetch detailed metadata using a paper's arXiv ID: title, authors, abstract, categories, DOI, PDF link, and more.

  • 🧑‍🔬 Author-based Paper Search
    Retrieve a list of papers published by a specific author.

  • 📊 Trend Analysis (Experimental)
    Get an overview of trending keywords or topics based on recent papers in a category (currently uses mock data).

  • 📝 Summarization Prompt Generator
    Dynamically generate prompts that help LLMs summarize a selected paper more effectively.

  • 🆚 Comparison Prompt Generator
    Provide two paper IDs to generate a structured prompt for comparing their content.


🛠️ Tech Stack

  • Python 3.11+
  • FastMCP
  • uv (for dependency & environment management)
  • requests (for API communication)
  • xml.etree.ElementTree (for parsing XML responses)

🚀 Getting Started

1. Installation from PyPI

pip install arxiv-paper-mcp
# or with uv
uv pip install arxiv-paper-mcp

🔧 2. Clone the repository (for development)

git clone https://github.com/daheepk/arxiv-mcp-server.git
cd arxiv-mcp-server

🔧 3. Install Dependencies (for development)

Use uv to install all dependencies in editable mode:

uv pip install -e .

⚙️ How to Run

▶️ Run the server (locally)

uv run mcp dev arxiv_mcp/server.py

🔌 Use with Claude

To use this MCP server with Claude, add the following JSON configuration to Claude's MCP settings:

{
  "arXivPaper": {
    "command": "uv",
    "args": [
      "run",
      "--with",
      "arxiv-paper-mcp>=0.1.0",
      "arxiv-mcp"
    ]
  }
}

Project Structure

arxiv-mcp-server/
├── arxiv_mcp/              # Main package
│   ├── __init__.py
│   ├── app.py              # FastMCP app setup
│   ├── server.py           # Server entry point
│   ├── utils.py            # arXiv API communication logic
│   ├── resources/          # MCP resources (categories, authors, etc.)
│   ├── tools/              # MCP tools (search, detail lookup, trends)
│   └── prompts/            # Prompt templates (summarize, compare)
├── pyproject.toml          # Project config & dependencies
└── README.md               # This file

Metadata

Release files for arxiv-paper-mcp 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arxiv-paper-mcp 0.1.2
File Size Uploaded Provenance
arxiv_paper_mcp-0.1.2.tar.gz 9.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for arxiv-paper-mcp 0.1.2
File Interpreter ABI Platform
arxiv_paper_mcp-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 21.0 kB

Release files / arxiv_paper_mcp-0.1.2.tar.gz

Download URL arxiv_paper_mcp-0.1.2.tar.gz
Size 9.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4927377ddbb8e419774bb07a26832aa996c1660ec216731efc7af6010d4b4575
BLAKE2b-256 checksum
How to use checksums
9e04e9bcdf48b72629c3a04f922601d26d485bb364883b12d60a1dcf0a629187
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.12

Release files / arxiv_paper_mcp-0.1.2-py3-none-any.whl

Download URL arxiv_paper_mcp-0.1.2-py3-none-any.whl
Size 11.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e26f2f4f6efd38df0ae9254da13568444208c2e8aa5e2350bb0632620f0705a2
BLAKE2b-256 checksum
How to use checksums
44c05963c9c112a91d82cdfdeeb2d2176fc12574d449b14089f57fad54bf9b79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.12

Security for arxiv-paper-mcp 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page