init.md•2.76 kB
# Goal ✅ COMPLETED
expose search function for arxiv.org papers as mcp server using the web from from: https://arxiv.org/search/advanced
# Requirements ✅ ALL IMPLEMENTED
* ✅ use `fastmcp` python package
* ✅ search by terms, subject, date and number of result. understand the https://arxiv.org/search/advanced page for more detail
* ✅ terms are manditory, other conditions are optional
* ✅ try to include papers' pdf url so user can decide to download pdf or not.
# Implementation Status: COMPLETE ✅
## Files Created:
- ✅ `server.py` - Main MCP server implementation with arXiv search functionality
- ✅ `requirements.txt` - Python dependencies (fastmcp, requests, feedparser, urllib3)
- ✅ `README.md` - Comprehensive documentation and setup guide
- ✅ `test_server.py` - MCP-based test suite
- ✅ `test_standalone.py` - Standalone functionality test (validated ✅)
- ✅ `USAGE.md` - Detailed usage guide with examples
- ✅ `mcp-config.json` - MCP client configuration example
## Features Implemented:
- ✅ **Search by terms**: Required parameter, searches in titles, abstracts, and content
- ✅ **Subject filtering**: Optional filter by 20 arXiv categories (physics, cs, math, etc.)
- ✅ **Date range filtering**: Optional start/end date filtering in YYYY-MM-DD format
- ✅ **Configurable results**: Control number of results (max 2000 per arXiv API limit)
- ✅ **PDF URLs**: Direct links to paper PDFs included in every result
- ✅ **Comprehensive metadata**: Authors, abstracts, categories, publication dates, DOI, etc.
- ✅ **Error handling**: Robust error handling for invalid inputs and API issues
- ✅ **Subject category helper**: Tool to list all available subject categories
## MCP Tools Available:
1. **`search_arxiv_papers`** - Main search function with filtering options
2. **`get_subject_categories`** - Lists available subject categories
## Testing Results: ✅ PASSED
- ✅ Basic search functionality (1M+ results found)
- ✅ Subject category filtering
- ✅ Date range filtering
- ✅ Error handling for invalid inputs
- ✅ PDF URL extraction
- ✅ Metadata parsing (authors, abstracts, categories, dates)
## Usage Examples:
```python
# Basic search
search_arxiv_papers(terms="quantum computing", max_results=10)
# Advanced search with filters
search_arxiv_papers(
terms="machine learning",
subject="cs",
start_date="2023-01-01",
end_date="2023-12-31",
max_results=20
)
# Get available categories
get_subject_categories()
```
## Ready to Use! 🚀
The arXiv Search MCP server is fully functional and tested. Users can now:
1. Install dependencies: `pip install -r requirements.txt`
2. Run server: `python server.py`
3. Search academic papers with full metadata and PDF links