使用说明
GitHub PR MCP服务器与云集成
一个模型上下文协议(MCP)服务器,用于分析GitHub拉取请求,使用Hugging Face提供AI支持的摘要和模板建议。
特性
- 🔍 Git分析:分析文件更改并提交历史记录
- 📝 PR模板:7个专业公关模板(Bug修复、功能、文档等)
- 🤖 AI集成:拥抱脸驱动的公关摘要和描述生成
- 🔄 GitHub操作:用于CI/CD状态监控的Webhook集成
- 💬 Slack通知:自动团队通知
- 🐳 集装箱准备就绪:Docker部署支持
建筑
server.py:带分析工具的主MCP服务器webhook_server.py:GitHub webhook接收器templates/:PR模板文件- 通过拥抱面部推理API实现云集成
快速开始
本地开发
-
克隆和设置:
git clone <your-repo> cd github-pr-mcp pip install -r requirements.txt -
配置环境:
cp .env.example .env # Edit .env with your tokens -
测试集成:
python test_slack.py # Test Slack webhook -
运行LLM客户端(推荐):
python llm_client.py -
或者直接运行MCP服务器:
python server.py -
运行webhook服务器(独立终端):
python webhook_server.py
Docker部署
-
构建并运行:
docker-compose up -d -
检查日志:
docker-compose logs -f
云部署选项
铁路
# Deploy webhook server
railway login
railway link
railway add --name pr-mcp-webhook
railway up
渲染
- 将GitHub仓库连接到Render
- 在仪表板中设置环境变量
- 部署为web服务
拥抱面部空间
对于AI组件,部署为具有Gradio界面的Space。
环境变量
# Required
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/YOUR/WEBHOOK
HUGGINGFACE_API_TOKEN=your_huggingface_token
# Optional
GITHUB_TOKEN=your_github_token # For enhanced Git operations
Slack设置
看 SLAK_SETUP.md 获取完整的Slack webhook配置指南。
可用工具
岩心分析
analyze_file_changes:Git差异分析get_pr_templates:列出可用模板suggest_template:人工智能模板建议
云AI
summarize_pr_changes:拥抱面部动力总结generate_pr_description:AI PR描述生成
CI/CD集成
get_recent_actions_events:GitHub操作事件get_workflow_status:工作流监控send_slack_notification:团队通知
终端用户如何互动
生产部署流程
- 存储库所有者 设置指向已部署服务器的GitHub webhooks
- Webhook服务器 接收GitHub事件(PR、CI/CD运行)并存储它们
- 开发者 在本地使用LLM客户端分析PR并获得AI帮助
用户交互方法
方法1:LLM客户端(推荐)
python llm_client.py
自然语言查询:
You: analyze the changes in my current branch
You: suggest a PR template for this feature
You: check CI/CD status
You: send deployment notification to Slack
方法2:直接MCP服务器
python server.py # Runs MCP server for MCP-compatible clients
方法3:仅限Webhook
- GitHub事件的自动处理
- 存储数据以供以后分析
- 无直接用户交互
现实世界的集成示例
场景:开发人员从事公关工作
1. Developer pushes code to feature branch
2. GitHub sends webhook to deployed server
3. Server stores PR data
4. Developer runs: python llm_client.py
5. Asks: "analyze my current PR changes"
6. LLM client fetches data and provides analysis
场景:团队CI/CD监控
1. CI pipeline runs on GitHub Actions
2. Webhook server receives workflow events
3. Team member asks: "check our CI status"
4. Gets real-time workflow status
5. Can send Slack alerts if needed
API使用
webhook服务器在以下位置接受GitHub webhooks:
POST https://your-deployed-server.onrender.com/webhook/github
看 GITHUB_INTEGRATION.md 获取完整的GitHub设置指南。
测试
pytest test_server.py -v
部署检查表
- []设置环境变量
- []配置GitHub webhooks
- []测试本地部署
- []部署到云平台
- []验证webhook连接
- []测试AI集成
- []监控日志和性能
贡献
- 克隆该仓库
- 创建特征分支
- 为新功能添加测试
- 提交拉取请求
许可证
MIT许可证
