A comprehensive MCP (Model Context Protocol) server for academic research on arXiv, with integrated GitHub Copilot skills for enhanced research workflows.
This project provides powerful tools for researchers and AI assistants to:
- Search and analyze academic papers from arXiv
- Extract structured information from PDFs
- Query papers with natural language
- Conduct systematic literature reviews
- Python 3.10 or higher
- uv package manager
- Clone the repository:
git clone <your-repo-url>
cd Research-MCP- Install dependencies:
uv syncStart the arXiv MCP server:
uv run arxiv-mcp/arxiv_mcp.pyThe server will start on HTTP SSE transport (default port 8000).
A FastMCP-based server providing:
- Search Papers: Advanced search with filtering by categories, authors, dates, and publication periods
- Date Filtering: Search papers from specific time periods (e.g., last 5 years, specific date ranges)
- Get Paper Metadata: Retrieve detailed information for specific papers
- Convert to Markdown: Extract and format PDF content
- Query Papers: Ask questions about papers with LLM context
- List Categories: Browse available arXiv categories
See arxiv-mcp/README.md for detailed documentation. See docs/DATE_FILTERING.md for date filtering examples.
Enhanced research capabilities through specialized skills:
- arxiv-research: Expert workflows for paper analysis and literature reviews
- mcp-builder: Guide for creating MCP servers
- software-tool-research: Repository analysis and documentation
- skill-creator: Framework for creating new skills
Skills are located in .github/skills/.
Research-MCP/
├── arxiv-mcp/ # MCP server implementation
│ ├── arxiv_mcp.py # Main server entry point
│ ├── services/ # Core services (arXiv client, PDF processing)
│ ├── tools/ # MCP tool implementations
│ ├── utils/ # Utilities (errors, formatters)
│ └── README.md # Server documentation
├── .github/
│ └── skills/ # GitHub Copilot skills
│ ├── arxiv-research/
│ ├── mcp-builder/
│ ├── skill-creator/
│ └── software-tool-research/
├── pyproject.toml # Project dependencies
└── README.md # This file
uv run pytestFormat code:
uv run black arxiv-mcp/Lint code:
uv run ruff check arxiv-mcp/# Basic search with category filter
{
"query": "software testing machine learning",
"max_results": 5,
"categories": ["cs.SE"],
"sort_by": "relevance"
}
# Search papers from the last 5 years
{
"query": "automated test generation",
"date_from": "2021",
"max_results": 10,
"categories": ["cs.SE"],
"sort_by": "submitted_date"
}
# Search papers from a specific time period
{
"query": "large language models",
"date_from": "2022-01-01",
"date_to": "2023-12-31",
"max_results": 20,
"categories": ["cs.CL", "cs.AI"]
}{
"arxiv_id": "2301.12345",
"query": "What methodology do the authors use?",
"max_pages": 100
}See arxiv-mcp/EXAMPLES.md for more examples.
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Add tests for new features
- Submit a pull request
MIT License - See LICENSE file for details.
- Built with FastMCP
- Uses arxiv-py for API access
- PDF processing with pypdf
- MCP specification from Model Context Protocol
For issues or questions:
- Open a GitHub Issue
- Check arXiv API Documentation
- Read MCP Documentation
Made with ❤️ for researchers and AI-assisted research workflows