Skip to content

emi-dm/Research-MCP

Repository files navigation

Research-MCP

A comprehensive MCP (Model Context Protocol) server for academic research on arXiv, with integrated GitHub Copilot skills for enhanced research workflows.

🎯 Overview

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

🚀 Quick Start

Prerequisites

  • Python 3.10 or higher
  • uv package manager

Installation

  1. Clone the repository:
git clone <your-repo-url>
cd Research-MCP
  1. Install dependencies:
uv sync

Running the Server

Start the arXiv MCP server:

uv run arxiv-mcp/arxiv_mcp.py

The server will start on HTTP SSE transport (default port 8000).

📚 Features

arXiv MCP Server

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.

GitHub Copilot Skills

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/.

📖 Documentation

🏗️ Project Structure

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

🛠️ Development

Running Tests

uv run pytest

Code Quality

Format code:

uv run black arxiv-mcp/

Lint code:

uv run ruff check arxiv-mcp/

📝 Usage Examples

Searching Papers

# 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"]
}

Querying a Paper

{
  "arxiv_id": "2301.12345",
  "query": "What methodology do the authors use?",
  "max_pages": 100
}

See arxiv-mcp/EXAMPLES.md for more examples.

🤝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new features
  4. Submit a pull request

📄 License

MIT License - See LICENSE file for details.

🙏 Acknowledgments

📧 Support

For issues or questions:


Made with ❤️ for researchers and AI-assisted research workflows

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages