arXiv MCP Server
Enables LLMs to search, download, and read arXiv papers with automatic PDF text extraction and section filtering. Provides AI assistants direct access to scientific literature with local caching for fast re-access.
README
arXiv MCP Server
A Model Context Protocol (MCP) server that enables LLMs to search, download, and read arXiv papers. Gives AI assistants direct access to scientific literature.
Features
- Search papers - Search by title, keywords, author, or arXiv ID
- Read full text - Download PDFs and extract text automatically
- Section extraction - Get specific sections (abstract, introduction, methods, conclusion)
- Local caching - Downloaded papers are cached locally for fast re-access
- Zero configuration - Works out of the box with sensible defaults
Getting Started
Prerequisites
This MCP server uses uvx to run. First, install uv:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or using Homebrew
brew install uv
After installation, restart your terminal.
Installation
Install the arXiv MCP server with your client.
Standard config works in most tools:
{
"mcpServers": {
"arxiv": {
"command": "uvx",
"args": ["arxiv-paper-mcp-server"]
}
}
}
<details> <summary>Amp</summary>
amp mcp add arxiv -- uvx arxiv-paper-mcp-server
</details>
<details> <summary>Claude Code</summary>
claude mcp add arxiv-server -- uvx arxiv-paper-mcp-server
</details>
<details> <summary>Claude Desktop</summary>
Add to your claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"arxiv": {
"command": "uvx",
"args": ["arxiv-paper-mcp-server"]
}
}
}
</details>
<details> <summary>Codex</summary>
codex mcp add arxiv -- uvx arxiv-paper-mcp-server
</details>
<details> <summary>Cursor</summary>
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"arxiv": {
"command": "uvx",
"args": ["arxiv-paper-mcp-server"]
}
}
}
</details>
<details> <summary>Factory</summary>
Add to Factory MCP settings:
{
"mcpServers": {
"arxiv": {
"command": "uvx",
"args": ["arxiv-paper-mcp-server"]
}
}
}
</details>
<details> <summary>Gemini CLI</summary>
gemini mcp add arxiv -- uvx arxiv-paper-mcp-server
</details>
<details> <summary>Goose</summary>
Run goose configure, then add to ~/.config/goose/config.yaml:
extensions:
arxiv:
command: uvx
args:
- arxiv-paper-mcp-server
</details>
<details> <summary>Kiro</summary>
Add to Kiro MCP settings:
{
"mcpServers": {
"arxiv": {
"command": "uvx",
"args": ["arxiv-paper-mcp-server"]
}
}
}
</details>
<details> <summary>LM Studio</summary>
Add to LM Studio MCP settings:
{
"mcpServers": {
"arxiv": {
"command": "uvx",
"args": ["arxiv-paper-mcp-server"]
}
}
}
</details>
<details> <summary>opencode</summary>
opencode mcp add arxiv -- uvx arxiv-paper-mcp-server
</details>
<details> <summary>Qodo Gen</summary>
Add to Qodo Gen MCP configuration:
{
"mcpServers": {
"arxiv": {
"command": "uvx",
"args": ["arxiv-paper-mcp-server"]
}
}
}
</details>
<details> <summary>VS Code</summary>
Add to .vscode/mcp.json in your workspace:
{
"mcpServers": {
"arxiv": {
"command": "uvx",
"args": ["arxiv-paper-mcp-server"]
}
}
}
</details>
<details> <summary>Warp</summary>
Add to Warp MCP settings:
{
"mcpServers": {
"arxiv": {
"command": "uvx",
"args": ["arxiv-paper-mcp-server"]
}
}
}
</details>
<details> <summary>Windsurf</summary>
Add to ~/.windsurf/mcp.json:
{
"mcpServers": {
"arxiv": {
"command": "uvx",
"args": ["arxiv-paper-mcp-server"]
}
}
}
</details>
<details> <summary>Using pip</summary>
pip install arxiv-paper-mcp-server
arxiv-mcp-server
</details>
Tools
| Tool | Description |
|---|---|
search |
Search arXiv papers by title, keywords, or arXiv ID (e.g., 2401.12345) |
get_paper |
Download and read the full text of a paper, with optional section filtering |
list_downloaded_papers |
List all locally cached papers |
Tool Details
search(query, max_results=10)
Search for papers on arXiv. Supports:
- Keywords:
"transformer attention mechanism" - Paper ID:
"2401.12345"or"arXiv:2401.12345" - Author:
"Yann LeCun"
Returns paper ID, title, authors, publication date, and abstract preview.
get_paper(paper_id, section="all")
Download and extract text from a paper.
| Section | Description |
|---|---|
all |
Full paper text (default) |
abstract |
Abstract only |
introduction |
Introduction section |
method |
Methods/Approach section |
conclusion |
Conclusion/Discussion section |
list_downloaded_papers()
List all papers that have been downloaded and cached locally.
Configuration
| Environment Variable | Description | Default |
|---|---|---|
ARXIV_STORAGE_DIR |
Directory for downloaded papers | ~/.arxiv-mcp/papers |
Usage Examples
Search for papers:
User: Find recent papers about prompt compression
Claude: [Uses search("prompt compression", max_results=5)]
Found 5 papers:
- 2504.16574: PIS: Linking Importance Sampling...
- ...
Read a specific paper:
User: Read the introduction of paper 2401.12345
Claude: [Uses get_paper("2401.12345", section="introduction")]
[Returns the introduction section]
Review cached papers:
User: What papers have I downloaded?
Claude: [Uses list_downloaded_papers()]
You have 3 papers cached locally:
- 2401.12345: Paper Title...
Development
# Clone the repository
git clone https://github.com/AnnaSuSu/arxiv-mcp.git
cd arxiv-mcp
# Install dependencies
uv sync
# Run server locally
uv run arxiv-mcp-server
Requirements
- Python 3.10+
- Dependencies:
mcp,arxiv,pymupdf
License
MIT License - see LICENSE for details.
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.