This repository is inspired by the excellent mcp-course project from Hugging Face.
The primary goal of this repository is to reimplement the system using the LangGraph framework and allow the use of custom LLMs (e.g., OpenAI, Mistral, Gemini, etc.), rather than being restricted to Claude Code as in the original implementation.
-
MCP Server
- Implements a flexible, modular toolchain for automated PR template generation and analysis.
- Supports multiple LLM backends as interchangeable agents.
-
GitHub Actions Integration
- Enables real-time CI/CD monitoring and PR analysis through GitHub Webhooks.
- Automates feedback loops via GitHub comments and checks.
-
Slack Webhook Notifications
- Sends automatic team notifications on PR events, analysis results, or errors.
- Useful for tracking updates in collaborative workflows.
- Download and install cloudflared package.
- Login to Cloudflare:
cloudflared tunnel login - Create a tunnel. e.g.
cloudflared tunnel create webhook-tunnel - A credential json file is created at
~/.cloudflared/[tunnel-id].json - Create CNAME DNS record on Cloudflare for webhook-tunnel :
cloudflared tunnel route dns webhook-tunnel webhook.example.com - Create a config.yml file in
~/.cloudflaredwith custom subdomain. For example:tunnel: [tunnel_id] credentials-file: /home/biplav/.cloudflared/[tunnel_id].json ingress: - hostname: webhook.example.com service: http://localhost:8080 - service: http_status:404
- Head to agent directory:
cd agent - Start the MCP server:
python mcp_server.py - Start the Webhook server:
python agent/webhook_server.py - In next terminal, expose webhook_server using Cloudflare Tunnel:
cloudflared tunnel run webhook-tunnel - To test the local webhook server, you can use:
curl http://localhost:8080/webhook - To test the webhook server using tunnel, you can use:
curl https://webhook.example.com/webhook