Skip to Content
MCP ServersCommunityArXiv MCP Server

Twitter Follow smithery badge Python Version License: MIT PyPI Downloads PyPI Version

ArXiv MCP Server

View original on GitHub 

πŸ” 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 

✨ 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

Installing via Smithery

To install ArXiv Server for Claude Desktop automatically via Smithery :

npx -y @smithery/cli install arxiv-mcp-server --client claude

Installing Manually

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]"

πŸ”Œ MCP Integration

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" ] } } }

πŸ’‘ Available Tools

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"] })

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" })

βš™οΈ Configuration

Configure through environment variables:

VariablePurposeDefault
ARXIV_STORAGE_PATHPaper storage location~/.arxiv-mcp-server/papers

πŸ§ͺ Testing

Run the test suite:

python -m pytest

πŸ“„ License

Released under the MIT License. See the LICENSE file for details.


Made with ❀️ by the Pear Labs Team

ArXiv Server MCP server

Last updated on