ArXiv Sync MCP Server
Enables AI assistants to search, download, and access arXiv papers with local storage and date filtering via the Model Context Protocol.
README
ArXiv Sync MCP Server
๐ Enable AI assistants to search and access arXiv papers through a simple MCP interface.
๐ About This Fork
This is a fork of the original arxiv-mcp-server by Joseph Blazick.
Why This Fork?
This fork simplifies the architecture and fixes issues found in the original:
| Feature | Original | This Fork |
|---|---|---|
| Download method | Async background conversion | Synchronous download & conversion |
| API calls | Multiple (download โ poll status โ read) | Single call returns content |
| Status tracking | Required | Not needed |
| PDF cleanup | Manual | Automatic after conversion |
| Date filtering | Buggy | Fixed |
| Complexity | Higher | Simpler |
Key improvements:
- The
get_paper_contenttool now downloads, converts PDF to markdown, and returns the content in a single call - Date filtering in
search_papersnow works correctly:- Uses direct HTTP requests to arXiv API to bypass encoding issues with the Python arxiv library
- Properly formats date ranges in arXiv's
submittedDate:[YYYYMMDD0000+TO+YYYYMMDD2359]format - Correctly combines date filters with category and query filters using AND operators
The ArXiv Sync 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 programmatically.
โจ 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
This fork is distributed via GitHub and is not published to PyPI.
Installing Manually
Install using uv:
uv tool install git+https://github.com/marfago/arxiv-sync-mcp-server.git
For development:
# Clone and set up development environment
git clone https://github.com/marfago/arxiv-sync-mcp-server.git
cd arxiv-sync-mcp-server
# Create and activate virtual environment
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install with test dependencies
uv pip install -e ".[test]"
๐ MCP Integration
Add this configuration to your MCP client config file:
{
"mcpServers": {
"arxiv-sync-mcp-server": {
"command": "uv",
"args": [
"tool",
"run",
"--from",
"git+https://github.com/marfago/arxiv-sync-mcp-server.git",
"arxiv-sync-mcp-server",
"--storage-path", "/path/to/paper/storage"
]
}
}
}
For Development:
{
"mcpServers": {
"arxiv-sync-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/cloned/arxiv-sync-mcp-server",
"run",
"arxiv-sync-mcp-server",
"--storage-path", "/path/to/paper/storage"
]
}
}
}
๐ก Available Tools
The server provides three simple 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. Get Paper Content
Get the full content of a paper, downloading and converting it if necessary:
result = await call_tool("get_paper_content", {
"paper_id": "2401.12345"
})
3. List Papers
View all downloaded papers:
result = await call_tool("list_papers", {})
๐ 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 (get_paper_content, search_papers, list_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-sync-mcp-server/papers |
๐งช Testing
Run the test suite:
python -m pytest
๐ License
Released under the Apache 2.0 License. See the LICENSE file for details.
<div align="center">
Fork of arxiv-mcp-server by Joseph Blazick
Originally made with โค๏ธ
</div>
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
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.