PR Reviewer logo

PR Reviewer

by attikpo-akrabal-godwin

PR Reviewer is a tool designed to analyze GitHub pull requests and create detailed reports in Notion. It leverages the MCP (Model Context Protocol) to facilitate communication and integration between different services.

View on GitHub

Last updated: N/A

PR Reviewer

Description

PR Reviewer is a tool designed to analyze GitHub pull requests and create detailed reports in Notion. It leverages the MCP (Model Context Protocol) to facilitate communication and integration between different services.

PRE REQUISITES

  • MCP https://blog.stackademic.com/model-context-protocol-mcp-in-ai-9858b5ecd9
  • Source tuto https://www.datacamp.com/tutorial/mcp-model-context-protocol

Features

  • Fetch changes from GitHub pull requests.
  • Create detailed reports in Notion.
  • MCP server for handling PR analysis requests.

Requirements

  • Python 3.13 or higher
  • MCP CLI
  • Notion API key
  • GitHub API token

Installation

  1. Clone the repository:

    git clone https://github.com/attikpo-akrabal-godwin/PR-Reviewer.git
    cd pr-reviewer
    
  2. Create a virtual environment and activate it:

    python -m venv .venv
    source .venv/bin/activate  # On Windows use `.venv\Scripts\activate`
    
  3. Install the dependencies:

    pip install -r requirements.txt
    
  4. Create a .env file in the project root and add your GitHub and Notion credentials:

    GITHUB_TOKEN=your_github_token
    NOTION_API_KEY=your_notion_api_key
    NOTION_PAGE_ID=your_notion_page_id
    NOTION_DATABASE_ID=your_notion_database_id
    

Usage

  1. Run the MCP server:

    python pr_anayzer.py
    
  2. Use the MCP Host (Claude ai) to interact with this MCP server . For example

Nom de la vidéo

Nom de la vidéo

  1. from claude ai you can create a Notion page with the PR analysis:
    Nom de la vidéo

    Nom de la vidéo

Project Structure

  • main.py: Entry point for the project.
  • pr_anayzer.py: Contains the PRAnalyzer class which initializes the MCP server and registers tools for PR analysis.
  • github_integration.py: Contains functions to fetch changes from GitHub pull requests.
  • .env: Environment variables for GitHub and Notion credentials.
  • requirements.txt: List of dependencies.
  • pyproject.toml: Project metadata and dependencies.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

Contact

For any questions or inquiries, please contact [email protected].