🔍 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 Message Control Protocol (MCP). It allows AI models to search for papers and access their content in a programmatic way.
🤝 Contribute • 📝 Report Bug
- 🔎 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
To install ArXiv Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install arxiv-mcp-server --client claude
Install using uv:
uv tool install arxiv-mcp-server
For development:
# Clone and set up development environment
git clone https://github.com/blazickjp/arxiv-mcp-server.git
cd arxiv-mcp-server
# Create and activate virtual environment
uv venv
source .venv/bin/activate
# Install with test dependencies
uv pip install -e ".[test]"
Add this configuration to your MCP client config file:
{
"mcpServers": {
"arxiv-mcp-server": {
"command": "uv",
"args": [
"tool",
"run",
"arxiv-mcp-server",
"--storage-path", "/path/to/paper/storage"
]
}
}
}
For Development:
{
"mcpServers": {
"arxiv-mcp-server": {
"command": "uv",
"args": [
"--directory",
"path/to/cloned/arxiv-mcp-server",
"run",
"arxiv-mcp-server",
"--storage-path", "/path/to/paper/storage"
]
}
}
}
The server provides four main tools:
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"]
})
Download a paper by its arXiv ID:
result = await call_tool("download_paper", {
"paper_id": "2401.12345"
})
View all downloaded papers:
result = await call_tool("list_papers", {})
Access the content of a downloaded paper:
result = await call_tool("read_paper", {
"paper_id": "2401.12345"
})
Configure through environment variables:
Variable | Purpose | Default |
---|---|---|
ARXIV_STORAGE_PATH |
Paper storage location | ~/.arxiv-mcp-server/papers |
Run the test suite:
python -m pytest
Released under the MIT License. See the LICENSE file for details.