Model Context Protocol server for arXiv PDF retrieval and LLM context generation.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"arxiv-mcp-aj","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# arxiv-mcp > A production-grade Model Context Protocol server for autonomous arXiv paper retrieval, PDF extraction, and LLM-ready context preparation. --- ## Table of Contents 1. [System Architecture](#1-system-architecture) 2. [Installation & Setup](#2-installation--setup) 3. [Dependency Management](#3-dependency-management) 4. [MCP Configuration](#4-mcp-configuration) 5. [Tool Interface Definitions](#5-tool-interface-definitions) 6. [End-to-End Workflow](#6-end-to-end-workflow) 7. [Full Implementation Reference](#7-full-implementation-reference) 8. [Example Usage](#8-example-usage) 9. [Rate Limiting & arXiv API Constraints](#9-rate-limiting--arxiv-api-constraints) 10. [Error Handling](#10-error-handling) 11. [Troubleshooting](#11-troubleshooting) --- ## 1. System Architecture ```mermaid flowchart TB subgraph CLIENTS["🖥️ MCP Clients"] direction LR C1["VS Code\nMCP client"] C2["Cursor\nMCP client"] C3["Claude Desktop\nMCP client"] C4["Agent / SDK\nMCP client"] end TRANSPORT["/stdio / SSE transport/"] subgraph SERVER["⚙️ MCP Server Core — server.py"] SR["Tool Registry · Request Router · Error Boundary · Rate-limit Guard"] end subgraph MODULES["🔧 Core Modules"] direction LR M1["arXiv Client\n──────────\nSearch · Validate\nRate limit · Cache"] M2["PDF Fetcher\n──────────\nDownload · Validate\nCache · Retry"] M3["PDF Parser\n──────────\nPyMuPDF · pdfminer\nSections · Clean"] M4["Context Builder\n──────────\nChunk · Prioritize\nToken budget · Format"] end subgraph EXTERNAL["🌐 External Systems"] direction LR E1["arXiv Atom API\nexport.arxiv.org"] E2["PDF Storage\narxiv.org/pdf/…"] E3["PyMuPDF\n+ pdfminer fallback"] E4["tiktoken\ncl100k_base"] end subgraph CROSSCUT["🛡️ Cross-Cutting Concerns"] direction LR X1["Cache L…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.