elismasilva's picture
updated doc and api dropdown label
c807c24
metadata
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

GitRepo Inspector Logo

πŸ“Š GitRepo Inspector: Dashboard & AI Assistant

An Autonomous Ecosystem for GitHub Issue Management

MCP's 1st Birthday Hackathon Powered by Gradio

🎯 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

Join the Conversation


πŸ›οΈ 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
Workflow Agent Backend agent that runs analysis autonomously. GitHub
Cron Trigger Schedules the Workflow Agent to run periodically. GitHub
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
  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

# 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
Dashboard Overview AI Assistant Chat
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
Issue Detail & Action Console 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