Skip to main content

arXiv 논문 데이터를 Claude AI와 연동하는 MCP 서버

Project description

🧠 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 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

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

arxiv_paper_mcp-0.1.1.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arxiv_paper_mcp-0.1.1-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file arxiv_paper_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: arxiv_paper_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for arxiv_paper_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5316fac38d852745eea6c17343ec1b69eb7dda30509cac7594fe1a02a37031fa
MD5 2fe0552bc2adb70e923b71f76acee407
BLAKE2b-256 ba17c3e77fa0f1cb908bdba351ee681b9737843c3fae4eb0a1ec7d700bc4c8e9

See more details on using hashes here.

File details

Details for the file arxiv_paper_mcp-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for arxiv_paper_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c0b6073a4296ff9387357ff01411b2ead2684d074410f1e9f5e4d7bdb2c32fc4
MD5 555d76b57dee186657b8f7e08aac15e4
BLAKE2b-256 3f423ef85ab3a3868a4b08900c2648fcf690481f62c45b3de5a6e3ae9045f701

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