ArXiv MCP Server
🔍 Enable AI assistants to search and access arXiv papers through a simple MCP interface.
The ArXiv MCP Server provides a bridge between AI assistants and arXiv's research repository through the Model Context Protocol (MCP). It allows AI models to search for papers and access their content in a programmatic way.
✨ Core Features
- 🔎 Paper Search: Query arXiv papers with filters for date ranges and categories
- 📄 Paper Access: Download and read paper content
- 📋 Paper Listing: View all downloaded papers
- 🗃️ Local Storage: Papers are saved locally for faster access
- 📝 Prompts: A Set of Research Prompts
🚀 Quick Start
Prerequisites
- Python 3.11 or higher
Local Setup
- Navigate to project directory:
cd /Users/user/Desktop/arxiv-mcp-server-main- Create virtual environment:
python3 -m venv .venv
source .venv/bin/activate # On macOS/Linux
# or
.venv\Scripts\activate # On Windows- Install dependencies:
pip install --upgrade pip
pip install -e .- Test the server (optional):
python -m arxiv_mcp_server
# Or run tests
python -m pytestNote: The server runs via stdio and waits for MCP client connections. Press Ctrl+C to stop when testing manually.
🔌 MCP Client Configuration
For Claude Desktop
Add this to your Claude Desktop MCP config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"arxiv-mcp-server": {
"command": "/Users/user/Desktop/arxiv-mcp-server-main/.venv/bin/python",
"args": [
"-m",
"arxiv_mcp_server",
"--storage-path",
"/Users/user/Desktop/arxiv-mcp-server-main/papers"
]
}
}
}Note: Update the paths to match your actual project location. Use the full path to the Python interpreter in your .venv directory.
Using environment variable for storage path
You can also set the storage path via environment variable:
{
"mcpServers": {
"arxiv-mcp-server": {
"command": "python",
"args": ["-m", "arxiv_mcp_server"],
"env": {
"PYTHONPATH": "/Users/user/Desktop/arxiv-mcp-server-main/src",
"ARXIV_STORAGE_PATH": "/Users/user/Desktop/arxiv-mcp-server-main/papers"
}
}
}
}Default storage location: If not specified, papers are stored at ~/.arxiv-mcp-server/papers
💡 Available Tools
The server provides four main tools:
1. Paper Search
Search for papers with optional filters:
result = await call_tool("search_papers", {
"query": "transformer architecture",
"max_results": 10,
"date_from": "2023-01-01",
"categories": ["cs.AI", "cs.LG"]
})2. Paper Download
Download a paper by its arXiv ID:
result = await call_tool("download_paper", {
"paper_id": "2401.12345"
})3. List Papers
View all downloaded papers:
result = await call_tool("list_papers", {})4. Read Paper
Access the content of a downloaded paper:
result = await call_tool("read_paper", {
"paper_id": "2401.12345"
})📝 Research Prompts
The server offers specialized prompts to help analyze academic papers:
Paper Analysis Prompt
A comprehensive workflow for analyzing academic papers that only requires a paper ID:
result = await call_prompt("deep-paper-analysis", {
"paper_id": "2401.12345"
})This prompt includes:
- Detailed instructions for using available tools (list_papers, download_paper, read_paper, search_papers)
- A systematic workflow for paper analysis
- Comprehensive analysis structure covering:
- Executive summary
- Research context
- Methodology analysis
- Results evaluation
- Practical and theoretical implications
- Future research directions
- Broader impacts
⚙️ Configuration
Configure through environment variables:
| Variable | Purpose | Default |
|---|---|---|
ARXIV_STORAGE_PATH | Paper storage location | ~/.arxiv-mcp-server/papers |