Skip to main content

MCP server for arXiv paper search with semantic search, citation enrichment, and PDF extraction

Project description

arXiv MCP Server

MCP (Model Context Protocol) server for searching, downloading, and analyzing arXiv papers. Supports keyword search, Semantic Scholar-backed semantic search, PDF text extraction, and SQLite caching.

Features

  • Keyword Search — full arXiv API query syntax (ti:, au:, cat:, all:)
  • Semantic Search — server-side semantic search via the Semantic Scholar API
  • Hybrid Search — arXiv keyword results enriched with Semantic Scholar citation counts
  • PDF Download — download and extract full text via PyMuPDF
  • Smart Caching — SQLite cache with configurable TTL (24h metadata, 30-day PDFs)
  • Categories — built-in taxonomy of ~150 arXiv categories
  • Graceful Degradation — semantic/hybrid fall back to keyword when Semantic Scholar is unavailable
  • Lightweight — no local ML model; depends only on mcp and pymupdf

Install

pip install arxiv-mcp-server

No model download — the server starts instantly.

Claude Code Integration

Add to ~/.claude/settings.json or .claude/settings.local.json:

{
  "mcpServers": {
    "arxiv": {
      "command": "arxiv-mcp-server"
    }
  }
}

Or from a virtual environment:

{
  "mcpServers": {
    "arxiv": {
      "command": "python",
      "args": ["-m", "arxiv_mcp_server.server"]
    }
  }
}

Configuration

All via environment variables:

Variable Default Description
ARXIV_CACHE_DIR ~/.arxiv-mcp-server Cache root (DB + PDFs)
ARXIV_CACHE_TTL_HOURS 24 Metadata cache lifetime
ARXIV_PDF_TTL_DAYS 30 PDF retention period
ARXIV_RATE_LIMIT_SEC 1.0 Min seconds between API calls
ARXIV_REQUEST_TIMEOUT 30 API request timeout (seconds)
ARXIV_MAX_RESULTS 50 Max results per search
ARXIV_LOG_LEVEL INFO Python log level

Tools

search_papers

Search arXiv papers.

query: string (required) — search query
max_results: int (default 10, max 50)
start: int (default 0) — pagination offset
search_mode: "keyword" | "semantic" | "hybrid" (default "hybrid")

get_paper

Get a single paper by arXiv ID.

arxiv_id: string (required) — e.g. "1706.03762" or "1706.03762v7"

get_recent

Get recent papers in a category.

category: string (default "cs.AI")
max_results: int (default 20)

list_categories

List arXiv categories.

parent: string (optional) — filter by parent, e.g. "cs"

download_pdf

Download a paper PDF and extract text.

arxiv_id: string (required)
output_dir: string (optional) — defaults to ARXIV_CACHE_DIR/pdfs

get_cached_papers

List cached papers (diagnostic). No arguments.

Development

git clone <repo-url>
cd arxiv-mcp-server
pip install -e ".[dev]"
pytest

License

MIT

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_mcp_search-0.1.0.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

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

arxiv_mcp_search-0.1.0-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file arxiv_mcp_search-0.1.0.tar.gz.

File metadata

  • Download URL: arxiv_mcp_search-0.1.0.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for arxiv_mcp_search-0.1.0.tar.gz
Algorithm Hash digest
SHA256 06a2e943769f118099d22cc531cab19d356266f19de1da0a05537bce4e5bd66b
MD5 76fe2556cba0c4691ea5d74fc5ebb010
BLAKE2b-256 ee7d1fee692d42035215abf90f6bccdb5f53a670fccc1f5a6911b5db0d4396e1

See more details on using hashes here.

File details

Details for the file arxiv_mcp_search-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for arxiv_mcp_search-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c9a22f18c8185d8c61c111c0a3db4fcc9acd45b949832a85586eff6f8e6b50a6
MD5 3334c7643f7f5be16cdf58954c564acd
BLAKE2b-256 4cb0b0110ddfad403c5941b39fe8275d5ef1b4a03c40229ac9d5d492c4763650

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