Skip to main content

A flexible arXiv search and analysis service with MCP protocol support

Project description

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

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.

🤝 Contribute • 📝 Report Bug

Pulse MCP Badge

✨ 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

💼 Pro Features

  • 🧠 Semantic Search: semantic_search finds conceptually similar papers using local embeddings.
  • 🔁 Index Rebuild: reindex rebuilds the local semantic index from downloaded papers.
  • 🕸️ Citation Graph: citation_graph returns references and citation backlinks via Semantic Scholar.
  • 🔔 Research Alerts: watch_topic and check_alerts track topics and return newly published papers.
  • 🧩 Advanced Prompts: summarize_paper, compare_papers, and literature_review for deeper workflows.

Install pro extras in development environments:

uv pip install -e ".[pro]"

🚀 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

Important — use uv tool install, not uv pip install

Running uv pip install arxiv-mcp-server installs the package into the current virtual environment but does not place the arxiv-mcp-server executable on your PATH. You must use uv tool install so that uv creates an isolated environment and exposes the executable globally:

uv tool install arxiv-mcp-server

After this, the arxiv-mcp-server command will be available on your PATH.

PDF fallback (older papers): Most arXiv papers have an HTML version which the base install handles automatically. For older papers that only have a PDF, the server needs the [pdf] extra (pymupdf4llm). Install it with:

uv tool install 'arxiv-mcp-server[pdf]'

You can verify it with:

arxiv-mcp-server --help

If you previously ran uv pip install arxiv-mcp-server and the command is missing, uninstall it and re-install with uv tool install as shown above.

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 (development only — no global executable)
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"
            ]
        }
    }
}

🔒 Security Note

arXiv papers are user-generated, untrusted content. Paper text returned by this server may contain prompt injection attempts — crafted text designed to manipulate an AI assistant's behavior. Treat all paper content as untrusted input.

In production environments, apply appropriate sandboxing and avoid feeding raw paper content into agentic pipelines that have access to sensitive tools or data without review. See SECURITY.md for the full security policy.

💡 Available Tools

The server provides core and pro 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"
})

5. Semantic Search (Pro)

Find papers semantically related to a query or source paper:

result = await call_tool("semantic_search", {
    "query": "test-time adaptation in multimodal transformers",
    "max_results": 5
})

6. Citation Graph (Pro)

Fetch references and citing papers:

result = await call_tool("citation_graph", {
    "paper_id": "2401.12345"
})

7. Research Alerts (Pro)

Save a watch and check for new papers:

await call_tool("watch_topic", {
    "topic": "multi-agent reinforcement learning",
    "categories": ["cs.AI", "cs.LG"]
})
result = await call_tool("check_alerts", {})

📝 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

Pro Prompt Pack

  • summarize_paper: concise structured summary for one paper.
  • compare_papers: side-by-side technical comparison across paper IDs.
  • literature_review: thematic synthesis across a topic and optional paper set.

⚙️ Configuration

Configure through environment variables:

Variable Purpose Default
ARXIV_STORAGE_PATH Paper 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 Pearl Labs Team

ArXiv Server MCP server

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arxiv_mcp_server-0.4.1.tar.gz (210.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arxiv_mcp_server-0.4.1-py3-none-any.whl (40.9 kB view details)

Uploaded Python 3

File details

Details for the file arxiv_mcp_server-0.4.1.tar.gz.

File metadata

  • Download URL: arxiv_mcp_server-0.4.1.tar.gz
  • Upload date:
  • Size: 210.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.4

File hashes

Hashes for arxiv_mcp_server-0.4.1.tar.gz
Algorithm Hash digest
SHA256 9ec07e2d9ba2be7056dcc3468af283acebbe431303a05b366717b23290aba254
MD5 9ecc46f61006ecbf13dccc17a8270fbe
BLAKE2b-256 a0289235cbaa2c1a7159f11ea563a6e701e933039409b4f36ce9b8350bf3fa6e

See more details on using hashes here.

File details

Details for the file arxiv_mcp_server-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for arxiv_mcp_server-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4a66a6ad06e6dd333783666550f39c49ef5fd2a9729e067811e92c7b973f77f5
MD5 99e42816a381814415d08d70c515792e
BLAKE2b-256 193edd4d9e7dc8313c4557fd46db7850bf30d3bb6489c21eff12c447910cd70d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page