A flexible arXiv search and analysis service
Project description
ArXiv Search Service
A powerful and flexible service for searching and analyzing arXiv papers. This tool provides both a Python API and a command-line interface for easy access to arXiv's research paper repository.
Installation
The recommended installation method uses uv:
uv pip install git+https://github.com/blazickjp/arxiv-mcp-server.git
For development installation with test dependencies:
# Clone the repository
git clone https://github.com/blazickjp/arxiv-mcp-server.git
cd arxiv-mcp-server
# Create and activate a virtual environment using uv
uv venv
source .venv/bin/activate
# Install the package in development mode with test dependencies
uv pip install -e ".[test]"
Command Line Usage
The package provides a command-line tool arxiv-search with two main commands:
Search for Papers
# Basic search
arxiv-search search "attention is all you need"
# Advanced search with filters
arxiv-search search "transformer architecture" \
--max-results 20 \
--date-from 2023-01-01 \
--categories cs.AI cs.LG \
--batch-size 10
Analyze a Specific Paper
arxiv-search analyze 1706.03762
Python API Usage
The package can also be used as a Python library:
import asyncio
from arxiv_mcp_server.server import ServiceFactory, SearchParameters
async def main():
# Create service instance
service = ServiceFactory.create_service()
# Search for papers
params = SearchParameters(
query="attention is all you need",
max_results=5,
categories=["cs.AI", "cs.LG"]
)
result = await service.search_papers(params)
print(result.text)
# Analyze a specific paper
analysis = await service.analyze_paper("1706.03762")
print(analysis.text)
if __name__ == "__main__":
asyncio.run(main())
Development
To run the tests:
# Install test dependencies
uv pip install -e ".[test]"
# Run tests
python -m pytest
Features
- Full-text search across arXiv papers
- Date-based filtering
- Category filtering
- Batch processing for efficient retrieval
- Detailed paper analysis
- Asynchronous operation for better performance
- Command-line interface for easy access
- Python API for integration into other projects
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arxiv_mcp_server-0.1.0.tar.gz.
File metadata
- Download URL: arxiv_mcp_server-0.1.0.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3eecd979020dcb8652022f8c4f2d1b8c55139c6ea4bcbc420280996e6dd4d8d
|
|
| MD5 |
3efc3ce8cd91d5b7445d80c597b9a120
|
|
| BLAKE2b-256 |
de572e31fd2fb82d9453a992e6461c38200770d6e98bb14b56bb8f2ec9c4eceb
|
File details
Details for the file arxiv_mcp_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: arxiv_mcp_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20092e64f05984353d807e21db7b2c1baf03933784c09f1e5762ed25bdd8a1d3
|
|
| MD5 |
9b59e022dd0fd921ce858e5a35be8e96
|
|
| BLAKE2b-256 |
030a4dcb330016de7ec7ad59812171792fab91d8fcc5e968bb94709694a8033a
|