|
|
--- |
|
|
title: GitRepo Inspector Dashboard |
|
|
emoji: π |
|
|
colorFrom: gray |
|
|
colorTo: indigo |
|
|
sdk: docker |
|
|
short_description: GitRepo Inspector Application Dashboard |
|
|
pinned: true |
|
|
license: apache-2.0 |
|
|
tags: |
|
|
- mcp-in-action-track-enterprise |
|
|
- mcp |
|
|
- gradio |
|
|
- smolagents |
|
|
- dashboard |
|
|
- issue-tracker |
|
|
- github |
|
|
- gemini |
|
|
--- |
|
|
|
|
|
<p align="center"> |
|
|
<img src="https://huggingface.co/datasets/DEVAIEXP/assets/resolve/main/gitrepo_inspector_dashboard_logo.PNG" alt="GitRepo Inspector Logo" width="400"/> |
|
|
</p> |
|
|
|
|
|
# π GitRepo Inspector: Dashboard & AI Assistant |
|
|
|
|
|
**An Autonomous Ecosystem for GitHub Issue Management** |
|
|
|
|
|
[](https://huggingface.co/MCP-1st-Birthday) |
|
|
[](https://gradio.app/) |
|
|
|
|
|
> **π― Track 2 Submission**: MCP in Action (Enterprise) |
|
|
|
|
|
--- |
|
|
|
|
|
## π€ The Problem: From Insight to Action |
|
|
|
|
|
The **GitRepo Inspector MCP Server** (our Track 1 app) provides a powerful suite of AI tools for repository analysis. However, back-end tools alone don't solve the problem for project managers and maintainers who need a way to: |
|
|
|
|
|
1. **Visualize** the health of their repository at a glance. |
|
|
2. **Interact** with AI-driven suggestions and take action (approve, reject). |
|
|
3. **Explore** the data and ask complex questions using natural language. |
|
|
|
|
|
## β¨ Our Solution: The Intelligent Dashboard |
|
|
|
|
|
This Dashboard is the **command center** for the GitRepo Inspector ecosystem. It consumes the tools from our MCP server to transform raw data into actionable intelligence. It's an enterprise application that puts the "human-in-the-loop," enabling teams to collaborate with AI agents. |
|
|
|
|
|
- π **Visual Analytics**: Interactive charts showing issue distribution and triage efficiency. |
|
|
- πΉοΈ **Action Console**: Review AI analyses and approve issue closures with a single click. |
|
|
- π€ **Conversational AI Assistant**: An agent built with **smolagents** that uses MCP tools to answer complex questions in real-time. |
|
|
|
|
|
--- |
|
|
|
|
|
## π Quick Links & Social Media |
|
|
|
|
|
- **π§ Live Demo (Dashboard & Agent)**: [GitRepo-Inspector-Dashboard Space](https://huggingface.co/spaces/MCP-1st-Birthday/gitrepo_inspector_dashboard) |
|
|
- **π οΈ MCP Server (Track 1)**: [GitRepo-Inspector-MCP Space](https://huggingface.co/spaces/MCP-1st-Birthday/gitrepo_inspector_mcp) |
|
|
- **π¬ Track 2 Video Demo**: [Watch on YouTube](https://youtu.be/manaQJsoQYw) |
|
|
- **π¬ Video Solution Playlist**: [Watch on YouTube](https://www.youtube.com/playlist?list=PLnDveGBcP8C5A_37nhr0oNUxVPlgmhZaa) |
|
|
|
|
|
### Join the Conversation |
|
|
- **[LinkedIn post]**: [View on LinkedIn](https://www.linkedin.com/posts/elismasilva_mcpsfirstbirthdayhackathon-gradiohackathon-activity-7396911353602400256-PEk6?utm_source=share&utm_medium=member_desktop&rcm=ACoAAARdvBoBOi8NC3UXuKIGEUImbEK50Lgwp6E) |
|
|
- **[LinkedIn announcement]**: [View on LinkedIn](https://www.linkedin.com/posts/elismasilva_mcp-modelcontextprotocol-aiagents-activity-7400947485642317824-SVay?utm_source=share&utm_medium=member_desktop&rcm=ACoAAARdvBoBOi8NC3UXuKIGEUImbEK50Lgwp6E) |
|
|
- **[Twitter/X post]** : [View on X](https://x.com/pelolisu/status/1991152303777149115) |
|
|
- **[HuggingFace Discord announcement]**: [Read on Discord](https://discord.com/channels/879548962464493619/1439001549492719726/1444736891277545605) |
|
|
|
|
|
--- |
|
|
|
|
|
## ποΈ The GitRepo Inspector Ecosystem |
|
|
|
|
|
This project is a complete, end-to-end agentic system composed of multiple interconnected applications. |
|
|
|
|
|
``` |
|
|
βββββββββββββββββββββββββββ βββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββ |
|
|
β MCP Server (App 1) β β Workflow Agent (App 2) β β Dashboard & Chat (App 3) β |
|
|
β (Track 1 - Tools) β βββ> β (Blaxel - Autonomous) β βββ> β (This App - UI/Agent) β |
|
|
βββββββββββββββββββββββββββ βββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββ |
|
|
β² β β |
|
|
ββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββ |
|
|
β |
|
|
ββββββββββββββββββββ |
|
|
β PostgreSQL DB β |
|
|
β (Shared State) β |
|
|
ββββββββββββββββββββ |
|
|
``` |
|
|
|
|
|
| Component | Description | Links | |
|
|
|-----------|-------------|-------| |
|
|
| **MCP Server** | **Track 1**: Provides AI tools for analysis via MCP. | [HF Space](https://huggingface.co/spaces/MCP-1st-Birthday/gitrepo_inspector_mcp) | |
|
|
| **Workflow Agent** | Backend agent that runs analysis autonomously. | [GitHub](https://github.com/DEVAIEXP/gitrepo_inspector_agent) | |
|
|
| **Cron Trigger** | Schedules the Workflow Agent to run periodically. | [GitHub](https://github.com/DEVAIEXP/gitrepo_inspector_agent_cron) | |
|
|
| **Dashboard** | **Track 2**: The UI to view data and chat with an AI assistant. | This Repository | |
|
|
|
|
|
|
|
|
--- |
|
|
|
|
|
## β¨ Key Features |
|
|
|
|
|
### π― MCP Integration (Track 2 Compliance) |
|
|
|
|
|
This application demonstrates enterprise-grade MCP client usage in two primary ways: |
|
|
|
|
|
**1. Direct UI Actions via MCP Client** |
|
|
- The Gradio interface uses `gradio_client` to call MCP server tools for actions like: |
|
|
- `sync_repository`: To fetch and cache the latest issues from a repository. |
|
|
- `reply_and_close_issue`: To approve and execute an AI-proposed action. |
|
|
- `prioritize_open_issues`: To generate a strategic prioritization report. |
|
|
|
|
|
**2. Autonomous Agent with MCP Tools** |
|
|
- A conversational AI assistant built with the `smolagents` framework. |
|
|
- The agent has direct access to the MCP server's tools to answer natural language questions. |
|
|
- It consumes tools like `get_issue_status`, `search_issues`, and `trigger_live_analysis` to fetch information and execute tasks. |
|
|
- **Example**: *"Are there any duplicate issues related to 'audio'?"* β The agent uses the `search_issues` tool with the verdict filter. |
|
|
|
|
|
### π Dashboard Features |
|
|
|
|
|
- **Interactive Issues Overview**: A rich, selectable table that lets users filter for "Action Required" and sort by any column. |
|
|
- **Visual Data Analysis**: |
|
|
- **Donut Chart**: Shows the distribution of AI verdicts (Resolved, Duplicate, etc.). |
|
|
- **Efficiency Funnel**: Visualizes how the AI filters the total backlog down to actionable findings. |
|
|
- **Activity Timeline**: An area chart showing analysis activity over time. |
|
|
- **Detailed Action Console**: Selecting an issue loads a panel with the full AI report, the agent's thought process, and buttons to approve the action or trigger a re-analysis. |
|
|
- **Real-time Agent Activity Log**: A live-updating feed showing the thoughts and tool calls of the background Workflow Agent. |
|
|
|
|
|
--- |
|
|
|
|
|
## π How to Use |
|
|
|
|
|
### Option 1: Use the Live Demo (Recommended) |
|
|
|
|
|
1. **Visit**: [GitRepo-Inspector-Dashboard Space](https://huggingface.co/spaces/MCP-1st-Birthday/gitrepo_inspector_dashboard) |
|
|
2. **Select a Repository**: Use the dropdown or enter the URL of a public GitHub repository. |
|
|
3. **Explore**: Browse the issues table, view the analytics charts, and chat with the AI assistant. |
|
|
|
|
|
### Option 2: Run Locally |
|
|
|
|
|
```bash |
|
|
# Clone the repository |
|
|
git clone <YOUR_REPO_URL> |
|
|
cd gitrepo-inspector-dashboard |
|
|
|
|
|
# Install dependencies |
|
|
pip install -r requirements.txt |
|
|
|
|
|
# Configure your environment (create a .env file if needed) |
|
|
# DATABASE_URL=... |
|
|
# MCP_SERVER_URL=... |
|
|
|
|
|
# Run the app |
|
|
python app.py |
|
|
``` |
|
|
|
|
|
Visit `http://localhost:7860` in your browser. |
|
|
|
|
|
--- |
|
|
|
|
|
## βοΈ Configuration |
|
|
|
|
|
To use the full feature set, you will need a few API keys, which can be entered in the UI sidebar: |
|
|
|
|
|
- **GitHub Personal Token**: **Required** for actions that modify the repository, such as `Approve Action` (closing an issue) and `Sync Repository`. It needs `repo` scope permissions. |
|
|
- **Provider API Key** (Gemini, OpenAI, etc.): **Required** for manual AI actions like `Re-Analyze Issue` or generating the `Prioritization Report`. This may not be needed if server-side keys are enabled. |
|
|
- **Gemini Assistant API Key**: **Required** for AI Assistant conversation. This may not be needed if server-side keys are enabled. |
|
|
|
|
|
--- |
|
|
|
|
|
## For Hackathon Judges |
|
|
|
|
|
### β
Track 2 Compliance |
|
|
|
|
|
- **MCP Client Integration**: The application acts as a robust client to our Track 1 MCP server, using both `gradio_client` and the `smolagents` MCP Client. |
|
|
- **Autonomous Agent**: Demonstrates a `smolagents` agent that leverages MCP tools to interact with the user and the system. |
|
|
- **Enterprise Focus**: The solution tackles a real-world software project management problem (backlog triage), focusing on efficiency, data visualization, and human-AI collaboration. |
|
|
- **Real-World Data**: The application operates on live, public GitHub repositories, demonstrating real-world utility. |
|
|
|
|
|
### π― Key Innovations |
|
|
|
|
|
1. **Hybrid Agent System**: Combines a background **Workflow Agent** (deterministic) with a front-end **Planning Agent** (conversational), creating a complete ecosystem. |
|
|
2. **Human-in-the-Loop Interface**: This is not just an autonomous agent; it's a collaborative tool where humans can supervise, guide, and approve the AI's actions. |
|
|
3. **Conversational Data Exploration**: The `smolagents` assistant allows non-technical users to query the database and the AI's knowledge base using natural language. |
|
|
4. **Comprehensive Visualization**: The dashboard doesn't just show data; it tells a story about repository health and the efficiency of the AI process. |
|
|
|
|
|
### π§ͺ Testing Suggestions |
|
|
|
|
|
**1. Chat with the AI Assistant** (in the right-hand sidebar): |
|
|
- *"What's up with issue #12021?"* |
|
|
- *"List 3 open issues about 'chatbot'."* |
|
|
- *"Are there any issues marked as 'duplicate' by the AI?"* |
|
|
- *"Please analyze issue #12264 again right now"* (This will trigger a live analysis). |
|
|
|
|
|
**2. Use the Interactive Dashboard**: |
|
|
- Change the view filter from "Action Required" to "All Issues" to see the difference. |
|
|
- Click an issue in the table to load its detailed report and the agent's thought process. |
|
|
- Use the **"Approve Action"** button on an issue (requires a GitHub token). |
|
|
|
|
|
**3. Test Strategic Prioritization**: |
|
|
- Go to the **"π₯ Prioritize"** tab. |
|
|
- Click **"Generate Strategy Report π§ "** to have the AI analyze the entire open backlog and suggest priorities. |
|
|
|
|
|
--- |
|
|
|
|
|
## π» Technology Stack |
|
|
|
|
|
- **UI Framework**: Gradio |
|
|
- **Agent Framework**: smolagents |
|
|
- **Communication Protocol**: Model Context Protocol (MCP) |
|
|
- **Data Visualization**: Plotly |
|
|
- **Database**: PostgreSQL (via SQLAlchemy & Psycopg2) |
|
|
- **LLM Providers (via MCP)**: Google Gemini, SambaNova, OpenAI, Nebius |
|
|
|
|
|
--- |
|
|
|
|
|
## πΌοΈ Screenshots |
|
|
|
|
|
Here is a visual overview of the key features of the GitRepo Inspector Dashboard. |
|
|
|
|
|
--- |
|
|
|
|
|
| Main Dashboard & Analytics | AI Assistant in Action | |
|
|
| :---: | :---: | |
|
|
|  |  | |
|
|
| The main dashboard view, showing the **visual analytics** (Distribution, Efficiency Funnel, Activity Timeline) and the interactive **issues table**. | The **conversational AI Assistant** (powered by smolagents) answering a user's query and preparing to trigger an action. | |
|
|
|
|
|
| Issue Detail & Action Console | Strategic Prioritization Report | |
|
|
| :---: | :---: | |
|
|
|  |  | |
|
|
| The **detailed analysis view** for a single issue, showing the AI-generated report, the agent's thought process, and the **"Approve Action" console**. | The **AI-generated Strategy Report**, which analyzes the entire backlog to suggest priorities for the development team. | |
|
|
|
|
|
|
|
|
--- |
|
|
|
|
|
## π Credits & Sponsors |
|
|
|
|
|
- **Author**: Eliseu Silva |
|
|
- **Built for**: MCP's 1st Birthday Hackathon |
|
|
|
|
|
## Special thanks to the sponsors who made this event possible: |
|
|
### HuggingFace β’ Gradio β’ Anthropic β’ Blaxel β’ Modal β’ Google Gemini β’ Nebius β’ OpenAI β’ SambaNova β’ Hyperbolic β’ ElevenLabs |