GitHub仓库分析服务

GitRoast是一个基于AI的GitHub仓库分析工具,通过幽默的方式提供代码质量反馈,支持MCP协议集成。

  • by Umang00
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Umang00/Git-Roast-MCP

使用说明


标题:GitRoast MCP服务器 表情符号🔥 颜色来源:红色 颜色To:黄色 sdk:毕业 sdk版本:“6.0.0” app_file:app.py 固定:false short_description:野蛮幽默的野蛮烤GitHub仓库 标签:

  • 主控程序
  • 打造mcp轨道创意
  • 格拉迪奥
  • GitHub
  • 人工智能
  • 烤
  • 模型上下文协议
  • 双子座 许可证:mit

🔥 GitRoast MCP服务器

使用人工智能驱动的分析和野蛮的幽默粗暴地烘烤GitHub存储库。

为 MCP 1岁生日黑客马拉松 (轨道1:构建MCP-创意)使用 等级 6 具有原生MCP支持和自定义主题、响应式UI。


📺 演示视频

🎥 观看3分钟演示

查看GitRoast的实际操作:分析仓库、生成AI烘焙,并通过MCP与Claude Desktop集成!


📱 社交媒体

🐦 推特/X帖子 | 💼 LinkedIn帖子

与分享您的烘焙结果 #GitRoast#MCP第一个生日!


✨ 什么是GitRoast?

GitRoast是一个 模型上下文协议(MCP)服务器 分析GitHub存储库和配置文件,然后生成 野蛮而富有建设性的咆哮 基于:

  • 💀 提交模式 -深夜编码、周末提交、频率分析
  • 📝 消息质量 -懒惰提交(“修复”、“wip”、“asdf”)、清晰度、长度
  • 📄 文档 -README质量、代码示例、安装说明
  • 🏷️ 存储库运行状况 -描述、许可证、主题、存档状态
  • 🏆 成就 -基于图案的尴尬徽章
  • 💡 建议 -非常诚实但有用的反馈

另外: 它作为一个 MCP服务器,使Claude Desktop、Claude Code、Cursor和任何兼容MCP的AI代理都可以访问它!


🎮 现在就试试!

web界面

  1. 在上面输入GitHub存储库URL或用户名
  2. 点击 "🔥 烤这个Repo!"
  3. 享受这残酷的烤肉吧!

尝试示例:

  • facebook/react
  • torvalds/linux
  • octocat (GitHub个人资料)

作为MCP服务器

将此空间作为MCP服务器连接到Claude Desktop或Cursor:

克劳德桌面版 -编辑 %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "gitroast": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sse-client",
        "https://YOUR_USERNAME-gitroast-mcp.hf.space/gradio_api/mcp/"
      ]
    }
  }
}

光标 -编辑 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "gitroast": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sse-client",
        "https://YOUR_USERNAME-gitroast-mcp.hf.space/gradio_api/mcp/"
      ]
    }
  }
}

替换 YOUR_USERNAME 使用您的Hugging Face用户名。

然后问克劳德或Cursor:

Use GitRoast to analyze the repository facebook/react

🏆 MCP 1岁生日黑客马拉松

轨道: 轨道1-构建MCP(创意) 标签: building-mcp-track-creative

为什么选择GitRoast?

✅ 新型MCP用例 -第一台用于代码烘焙的MCP服务器 ✅ 谷歌Gemini集成 -AI烘焙的赞助商技术 ✅ 教育+娱乐 -从残酷的反馈中学习 ✅ 生产准备就绪 -内置Gradio 4.x稳定的MCP支持 ✅ 通用兼容性 -适用于任何MCP客户端

是什么让它与众不同

  • 独特的概念 -通过MCP用AI烘焙代码(没有其他人这样做!)
  • 双重分析模式 -分析单个存储库或整个用户配置文件
  • 综合分析 -每个存储库跟踪10+个指标
  • 智能回退 -AI使用模板回退进行烘焙(始终有效)
  • 成就系统 -带有尴尬徽章的游戏化反馈
  • 整洁架构 -记录良好、类型安全、可维护的代码

判断标准一致性

标准 GitRoast如何交付
完整性 ✅ HF空间+社交帖子+文档+演示视频
设计/UI-UX ✅ 干净的Gradio 4.x界面,直观的工作流程
功能 ✅ 稳定的Gradio 4.x MCP,AI集成,双模
创造力 ✅ 新颖概念:用AI幽默烘焙代码
文档 ✅ 全面的README+演示视频
现实世界影响 ✅ 对开发人员的教育反馈

📊 特性

综合分析

提交模式检测:

  • 深夜提交(晚上11点至凌晨5点)
  • 周末编码频率
  • 提交消息质量评分
  • 修复/WIP/合并提交比率
  • 作者数量和贡献模式

文件质量:

  • README的完整性和长度
  • 代码示例存在
  • 安装说明
  • 许可证检测
  • 存储库主题/标签

存储库运行状况:

  • 有意义的描述检查
  • 许可证验证
  • 主题/标签完整性
  • 存档/废弃检测
  • 星/叉/问题指标

人工智能烘焙

Google Gemini集成:

  • 基于实际图案的创意个性化烘焙
  • 为您的代码量身定制的上下文感知幽默
  • 粗鲁但有建设性的反馈
  • 多种烘焙类别(每次分析6-10种)

模板回退:

  • 预先写好的野蛮人为了常见的图案而咆哮
  • 在没有API密钥的情况下工作
  • 仍然有趣且有用
  • 即时结果

成就体系:

  • “吸血鬼代码妖精”(深夜提交太多)
  • “周末囚犯”(代码外没有生命)
  • “提交战争罪犯信息”(懒惰信息)
  • “工业Bug工厂”(修复提交过多)
  • 还有10多个尴尬的徽章!

建设性建议:

  • 残酷诚实但可行的建议
  • 工作流程的具体改进
  • 最佳做法建议
  • 文档提示

双重分析模式

存储库分析:

  • 深入了解单个存储库
  • 分析所有提交(最多1000个)
  • README和元数据审查
  • 详细模式检测

剖面分析:

  • 分析用户的整个编码历史
  • 聚合来自所有公共存储库的数据
  • 跨存储库模式检测
  • 识别跨项目的编码习惯

🛠️ 技术栈

MCP集成:

AI和API:

  • 谷歌双子座 -AI烤一代(双生-2.5-flash)
  • GitHub API -存储库和提交数据
  • 使用指数回退重试逻辑
  • 速率限制处理(60/hr→ 5000/hr与令牌)

UI和设计:

  • 自定义渐变4.x主题(橙色/红色渐变的软主题)
  • 高对比度文本输入,实现完美可视性
  • 具有面板变体的响应式布局
  • 通过CSS媒体查询支持黑暗模式
  • 简洁、现代的界面,针对可读性进行了优化

核心技术:

  • Python 3.8+-类型安全实现
  • Gradio 4.44.1-Web用户界面和MCP服务器
  • requests -HTTP客户端
  • python-dotenv -环境管理

🔑 API密钥(可选)

这个空间工作 使用API密钥:

GitHub代币

优点:

  • 将速率限制从每小时60个请求增加到5000个请求
  • 允许分析更多存储库
  • 更快地分析配置文件

如何获得:

  1. 首选 GitHub设置→ 代币
  2. 生成新令牌(经典)
  3. 不需要范围 (我们只阅读公共repos)
  4. 复制令牌

如何使用:

  • 输入上面的“可选API键”手风琴,或
  • 添加为空间机密: GITHUB_TOKEN

Gemini API密钥

优点:

  • 人工智能生成的创意烘焙
  • 基于你的模式的个性化幽默
  • 比模板好(但模板仍然很好!)

如何获得:

  1. 首选 谷歌人工智能工作室
  2. 使用Google帐户登录
  3. 创建API密钥
  4. 复制密钥

如何使用:

  • 输入上面的“可选API键”手风琴,或
  • 添加为空间机密: GEMINI_API_KEY

🚀 使用示例

示例1:分析一个流行的存储库

输入: facebook/react

输出:

🔥 GitRoast Results - Grade: B

Pretty good! Not perfect, but you're not actively making the world worse.

📦 Repository: facebook/react
- Stars: 220,000+
- Language: JavaScript

📊 Quick Stats
- Total Commits: 15,234
- Late Night Commits: 4,870 (32%)

🔥 The Roasts (6)

1. 🦉 Certified Nocturnal Disaster 🔥🔥🔥🔥🔥
32% of your commits are between 11 PM and 5 AM...
[Full roast content]

🏆 Achievements (3)
- 🌙 Vampire Code Goblin
  4,870 commits made while humanity sleeps...

💡 Suggestions
- Get some sleep. Your code quality drops 50% after midnight...

示例2:分析GitHub配置文件

输入: octocat

输出: 分析所有公共存储库,结合统计数据,识别跨存储库模式,并生成全面的配置文件。

示例3:MCP与Claude的集成

用户: “使用GitRoast分析我的仓库github.com/myuser/myproject”

克劳德: 调用GitRoast MCP服务器

GitRoast: 返回完整的分析,包括烘焙、成就和建议

克劳德: 以对话形式呈现结果,可以讨论模式,回答有关分析的问题


📖 设置和安装

促进地方发展

  1. 克隆存储库:

    git clone https://github.com/Umang00/Git-Roast-MCP.git
    cd Git-Roast-MCP
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 设置环境(可选):

    cp .env.example .env
    # Edit .env with your API keys
    
  4. 运行服务器:

    python app.py
    
  5. 访问权限:

    • Web用户界面:http://localhost:7860
    • MCP端点:http://localhost:7860/gradio_api/mcp/

用于MCP客户端集成

克劳德桌面:

{
  "mcpServers": {
    "gitroast": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sse-client",
        "http://localhost:7860/gradio_api/mcp/"
      ]
    }
  }
}

重新启动Claude Desktop并询问:

Use GitRoast to analyze facebook/react

光标IDE: 编辑 ~/.cursor/mcp.json 具有与上述相同的配置。

任何MCP客户端: 连接到: http://localhost:7860/gradio_api/mcp/ 使用SSE传输


🏗️ 建筑

┌─────────────────────┐
│  MCP Clients        │
│  (Claude Desktop,   │
│   Cursor, etc.)     │
└──────────┬──────────┘
           │ stdio
           ↓
┌─────────────────────┐
│  NPX Bridge         │
│  server-sse-client  │
└──────────┬──────────┘
           │ HTTP/SSE
           ↓
┌─────────────────────┐
│  Gradio MCP Server  │
│  (app.py)           │
│  - Stable Gradio 4.x │
│  - mcp_server=True  │
└──────────┬──────────┘
           │
           ↓
┌─────────────────────┐
│  analyze_repo()     │
│  (logic.py)         │
│  - Type-safe        │
│  - Docstrings       │
│  - Error handling   │
└──────────┬──────────┘
           │
      ┌────┴────┐
      ↓         ↓
┌──────────┐ ┌──────────┐
│ GitHub   │ │ Gemini   │
│   API    │ │   API    │
└──────────┘ └──────────┘

关键设计决策:

  1. 稳定Gradio 4.x MCP -可靠的实施
  2. 清洁分离 -UI(app.py)+逻辑(Logic.py)
  3. 类型安全 -MCP兼容性的完整类型提示
  4. 智能回退 -如果AI失败,模板将被烘焙
  5. 重试逻辑 -API调用的指数退避

📁 项目结构

git-roast-mcp/
├── app.py                 # Gradio UI + MCP server
├── logic.py               # Analysis & roast generation (1,363 lines)
├── requirements.txt       # Dependencies
├── pyproject.toml         # Project metadata
├── .env.example           # Environment template
├── README.md              # This file
└── docs/                  # Additional documentation
    ├── SETUP.md           # Detailed setup guide
    ├── DEPLOYMENT.md      # Deployment instructions
    └── HACKATHON.md       # Hackathon submission notes

🐛 故障排除

常见问题

“超出费率限制”

  • 添加GitHub令牌(将限制从60增加到5000 req/hr)
  • 添加为空间机密或在UI中输入

“MCP服务器未连接”

  • 确保Space/server正在运行
  • 检查MCP端点URL是否正确
  • 重新启动MCP客户端(克劳德桌面/光标)
  • 验证 npx 已安装(Node.js附带)

“AI烤一代失败”

  • 检查Gemini API密钥是否有效
  • 别担心-自动回到模板烘焙
  • 模板仍然有趣且有用!

“未找到存储库”

  • 确保存储库是公开的
  • 检查URL格式(所有者/仓库)
  • 请先尝试在浏览器中访问仓库

浏览器错误(正常!)

如果您看到以下错误:

ERROR:mcp.server.streamable_http:Error handling POST request
ClientDisconnect

这很正常! MCP端点是为MCP客户端(Claude Desktop、Cursor)而不是浏览器设计的。根URL处的web UI工作正常——这些错误仅在浏览器尝试直接访问MCP端点时出现。


🤝 贡献

这是一个黑客马拉松项目,但欢迎投稿!

  1. 复刻仓库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

贡献想法:

  • 其他烘焙模板
  • 更多成就徽章
  • 支持其他代码托管平台
  • 特定语言分析
  • 代码复杂性度量

📄 许可证

MIT许可证-有关详细信息,请参阅存储库


👥 团队

单人开发人员: @Umang00

内置于❤️ 对于MCP社区和可以开玩笑的开发人员来说!


🙏 致谢

  • MCP 1岁生日黑客马拉松 -为了机会和灵感
  • 格拉迪奥 -具有原生MCP支持的惊人框架
  • 谷歌双子座 -为AI烘焙提供动力
  • Anthropic -用于创建MCP协议
  • GitHub社区 -对于公共API和数据

⚠️ 免责声明

此工具用于 仅用于娱乐和教育目的.

烤肉的意思是:

  • ✅ 有趣又轻松
  • ✅ 建设性(指出真实模式)
  • ✅ 教育(突出最佳做法)
  • ❌ 不是指精神攻击或人身攻击

负责任地使用,不要太认真! 😄

记住:最好的开发人员可以嘲笑他们的提交历史,同时从中学习。


🔗 链接

  • 🏠 现场演示: [YOUR_HF_SPACE_URL]
  • 📺 演示视频: [YOUR_YOUTUBE_LINK]
  • 💻 github: https://github.com/Umang00/Git-Roast-MCP
  • 🐦 推特: [你的博客]
  • 💼 领英: [你的链接帖子]
  • 📖 MCP文件: https://modelcontextprotocol.io/
  • 🎨 Gradio MCP指南: https://www.gradio.app/guides/building-mcp-server-with-gradio

由...制作🔥 和☕ MCP一周年黑客马拉松

轨道1:构建MCP |标签: building-mcp-track-creative