智能PR代理

一个自动化开发任务的智能PR代理,能够分析代码变更、监控GitHub Actions的CI/CD流程并向Slack发送智能通知。

  • by Qehbr
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Qehbr/PR-MCP-Server

使用说明

这个项目为你提供了一个 智能拉取请求(Pull Request)代理 它自动化执行常见的开发任务。它会分析您的代码更改,监控您在GitHub Actions上的CI/CD流水线,并向Slack发送智能通知。


项目文件

  • **server.py**主要应用。这是一个包含所有逻辑的MCP服务器,包括用于分析Git仓库和发送Slack消息的工具,以及生成报告的提示功能。
  • **webhook_server.py**一个简单的网络服务器,用于监听来自GitHub Actions的事件(如构建失败),并将其保存以便主服务器进行分析。
  • **pyproject.toml**定义项目的依赖项。
  • **tests/test_server.py**单元测试以验证服务器的功能。

如何使用它

  1. 安装依赖项: 打开你的终端并运行:

    uv sync
    
  2. 设置Slack: 创建一个Slack Webhook URL,并将其设置为环境变量。

    export SLACK_WEBHOOK_URL="[https://hooks.slack.com/services/](https://hooks.slack.com/services/)..."
    
  3. 配置GitHub: 在你的GitHub仓库中设置一个webhook以发送事件(如 workflow_run) 至 webhook_server.py你需要使用像……这样的工具将你的本地服务器暴露给互联网 ngrok 或者 cloudflared。

  4. 运行服务器: 你需要在两个独立的终端窗口中分别运行这两个服务器。

    • 1号航站楼(Webhook监听器):
      python webhook_server.py
      
    • 2号航站楼(主服务器):
      uv run server.py
      

您的代理现已启动。它将监听GitHub事件,您可以通过MCP客户端与它进行交互,以获取报告并发送通知。