Skip to main content
Glama
PS-minalprasad

BugPilot MCP Server

BugPilot

KI-gestützter Engineering-Bug-Intelligence-Agent

Kernarchitektur: BugPilot läuft auf einer sauberen, durchgängig entkoppelten Pipeline: React / ViteFastAPI BackendReAct OrchestratorSpezialisten-AgentsMCP ClientMCP Server10 schreibgeschützte ToolsSQLite-Datenbank (synthetische Jira-Daten).


1. Systemarchitektur

┌─────────────────────────────────────────────────────────────────────────────┐
│                       React / Vite Frontend (TypeScript)                     │
└──────────────────────────────────────┬──────────────────────────────────────┘
                                        │ HTTP REST API (JWT + RBAC + Tenant Isolation)
                                        ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                          FastAPI Backend (Port 8000)                         │
└──────────────────────────────────────┬──────────────────────────────────────┘
                                        │
                                        ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                        ReAct Orchestrator Agent                              │
│         Dynamic reasoning loop: Goal → LLM Decision → Tool Call →            │
│                    Observation → Next Decision → FINISH                     │
│               [Groq Primary API + Local Ollama Fallback]                    │
└───────────┬──────────────────────────┼──────────────────────────┬───────────┘
            │                          │                          │
            ▼                          ▼                          ▼
┌──────────────────────┐   ┌──────────────────────┐   ┌──────────────────────┐
│  Bug Analyst Agent   │   │ Trend Analyst Agent  │   │ Risk Analyst Agent   │
└───────────┬──────────┘   └──────────┬───────────┘   └──────────┬───────────┘
            │                          │                          │
            └──────────────────────────┼──────────────────────────┘
                                        │
                                        ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                                 MCP Client                                   │
│                 Dynamic tool discovery, timeout & sandboxing                 │
└──────────────────────────────────────┬──────────────────────────────────────┘
                                        │ stdio JSON-RPC Transport
                                        ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                          MCP Server (mcp_server)                            │
│                  Exposes 10 Strict READ-ONLY Tools                          │
└──────────────────────────────────────┬──────────────────────────────────────┘
                                        │
                                        ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                              AnalyticsService                                │
│              Deterministic metric calculation & statistical trends          │
└──────────────────────────────────────┬──────────────────────────────────────┘
                                        │
                                        ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                 DataProvider Interface (SQLDataProvider / SQLite)            │
│                 Multi-tenant tenant isolation (`organization_id`)           │
└──────────────────────────────────────┬──────────────────────────────────────┘
                                        │
                                        ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                    SQLite Database (`sqlite:///./bugpilot.db`)              │
│       Realistic Jira-style Defect Catalog, Sprints, Users & Audit Trails    │
└─────────────────────────────────────────────────────────────────────────────┘

Strenger Datenzugriffsvertrag

✅ Agent → MCP Client → MCP Server → AnalyticsService → DataProvider → SQLite Data
❌ Agent → Direct Database Access (FORBIDDEN)
❌ Agent → Direct Data File Reading (FORBIDDEN)
❌ External Vector Database / RAG dependencies (FORBIDDEN)

Agents interagieren ausschließlich über dynamisch entdeckte MCP-Tools, was Sandboxing und vollständige Testbarkeit gewährleistet.


Related MCP server: mcp-sqlite-manager

2. Referenz der 10 MCP-Tools

Alle 10 Tools sind streng schreibgeschützt, auf Mandantenebene begrenzt (org_id) und werden dynamisch über das MCP-Protokoll entdeckt:

#

Tool-Name

Erforderliche/Optionale Parameter

Beschreibung & zurückgegebene Nachweise

1

search_bugs

query: str, limit: int = 20

Suche nach Fehlern mittels Schlüsselwort in Issue-Schlüssel, Titel, Zusammenfassung oder Beschreibung.

2

get_bug

bug_id: str

Vollständige Details zu einem einzelnen Fehler abrufen (Schweregrad, Priorität, Ursache, geschäftliche Auswirkung, Umgebung, Reproduktionsschritte, Fix-Version).

3

get_bug_metrics

sprint_id: Optional[str], component: Optional[str], project: Optional[str]

Aggregierte Fehleranzahlen, Verteilungen offener vs. gelöster Fehler und Aufschlüsselung nach Schweregrad.

4

get_bug_trends

sprint_id: Optional[str], component: Optional[str], project: Optional[str]

Monatliche Trends bei Erstellung vs. Lösung und historische Sprint-Abschlussgeschwindigkeit.

5

get_aging_bugs

min_age_days: float = 0.0, limit: int = 50

Offene Fehler, absteigend sortiert nach Alter in Tagen, um SLA-Risiken hervorzuheben.

6

get_reopened_bugs

component: Optional[str], limit: int = 50

Fehler, die von „Gelöst/Geschlossen" zurück zu „Offen/In Bearbeitung" gewechselt sind (reopen_count > 0).

7

get_component_risk

component: Optional[str], project: Optional[str]

Risikobewertungen auf Komponentenebene (0–100), Anzahl aktiver offener Issues und Indikatoren für den Schadensradius.

8

get_release_risk

release: Optional[str]

Bewertung der Release-Bereitschaft, Gesamtrisikobewertung und Bereitstellungsentscheidung.

9

get_bug_history

bug_id: str

Chronologischer Verlauf der Statusübergänge, Zeitstempel der Wiedereröffnung und Kommentare der Entwicklerdiskussion.

10

get_related_bugs

bug_id: str, limit: int = 10

Verwandte Fehler, die denselben Komponentenkontext, dieselbe technische Ursache oder explizit verknüpfte Issue-IDs teilen.


3. Dynamische ReAct-Orchestrierung & vergleichende Analyse

Der Orchestrator-Agent arbeitet mit einer echten Reasoning + Action (ReAct)-Schleife:

  1. Absichts- & Bereichsfremd-Schutz — Frühe Prüfungen filtern nicht-technische Anfragen, ohne LLM-/Tool-Aufrufe zu verschwenden.

  2. Dynamische Tool-Auswahl — Das LLM entscheidet über jede Aktion (CALL_TOOL, DELEGATE oder FINISH) basierend auf der Anfrage, dynamisch entdeckten Tools und gesammelten Beobachtungen.

  3. Iterative Mehrfachkandidaten-Prüfung — Bei vergleichenden und bewertenden Anfragen („Analysiere Authentifizierungsfehler und identifiziere das Issue mit dem höchsten Risiko") entdeckt search_bugs Kandidaten, und der Orchestrator ruft iterativ get_bug für jeden Kandidatenfehler auf, bevor FINISH erlaubt wird, um sicherzustellen, dass vollständige technische Nachweise (Ursache, Schadensradius, Reproduktionsschritte) gesammelt werden.

  4. Differenzierte, nachweisgestützte Risikobewertung — Bewertet Schweregrad, Priorität, Status, Produktionsumgebung, Sicherheitsauswirkungen (z. B. SOC2/Session-Hijacking) und technische Ursachen (z. B. Race Condition, Absturz). Erzeugt nicht-sättigende Bewertungen (0.0–99.5), um künstliche 100/100-Gleichstände zu vermeiden.

  5. Qualitätsbewertung durch Reflexions-Agent — Validiert generierte Berichte anhand der Ground-Truth-MCP-Daten, um Halluzinationen zu verhindern und eine korrekte Berichterstattung zu bestätigen.


4. Multi-Tenancy & RBAC-Sicherheit

  • Mandantenisolierung — Jeder Datenbankeintrag (issues, sprints, users, audit_logs) ist streng durch organization_id (z. B. org-acme) begrenzt. Datenzugriff über Organisationsgrenzen hinweg wird auf Repository- und MCP-Ebene blockiert.

  • Rollenbasierte Zugriffskontrolle (RBAC):

    • Admin — Vollzugriff, Benutzerverwaltung und Issue-Administration.

    • Ingenieur / Entwickler — Erstellen, Aktualisieren, Überführen und Analysieren von Issues.

    • Betrachter — Schreibgeschützter Zugriff auf Issues, Analysen und Berichte.

  • Geheimnisverwaltung — Keine geheimen Schlüssel oder Anmeldeinformationen sind fest codiert. JWT-Geheimnisse, API-Schlüssel und Umgebungsvariablen werden strikt aus .env geladen und von der Versionskontrolle ausgeschlossen.


5. Technologie-Stack

Ebene

Komponente

Technologie

Frontend

Interaktive UI

React 18 + TypeScript + Vite

Backend-API

REST-API-Server

FastAPI + Uvicorn + Pydantic v2

Orchestrierung

Agenten-Schleife

ReAct Agent Framework + Spezialisten-Delegation

LLM-Gateway

Inferenz-Engine

Groq API (llama-3.3-70b-versatile) Primär + Lokales Ollama (llama3.1:8b) Fallback

Tool-Protokoll

Tooling-Ebene

Offizielles Python MCP SDK (mcp>=1.0.0) über stdio

Datenebene

Persistente Datenbank

SQLAlchemy 2.0 ORM + SQLite (sqlite:///./bugpilot.db)

Sicherheit

Authentifizierung & RBAC

PyJWT (HS256) + Passlib (bcrypt) + Header-basierte Mandantenbegrenzung

Qualität

Reflexion & Test

Reflexions-Agent Grounding + Pytest (329 Tests, 100% bestanden)


6. Einrichtungs- & Ausführungsanleitung

Voraussetzungen

  • Python 3.12+

  • Node.js 18+ (für das Frontend)

  • Ein Groq-API-Schlüssel (optional — die App läuft auch ohne, mit Fallback auf lokales Ollama oder deterministischen Modus)

1. Backend-Einrichtung

# Clone and enter project
git clone <repo-url> bugpilot
cd bugpilot

# Create and activate virtual environment
python -m venv .venv
# Windows: .\.venv\Scripts\activate | macOS/Linux: source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Configure environment (defaults to SQLite with zero setup)
cp .env.example .env
# Optional: add your GROQ_API_KEY to .env for live LLM responses

2. Eigenständigen MCP-Server ausführen

# Windows
.\.venv\Scripts\python -m mcp_server.server

# macOS / Linux
.venv/bin/python -m mcp_server.server

3. FastAPI-Backend ausführen

uvicorn backend.main:app --host 127.0.0.1 --port 8000 --reload

Die Datenbank wird beim ersten Start automatisch erstellt und befüllt — kein Migrationsschritt erforderlich. Überprüfen Sie die Funktionsfähigkeit unter http://127.0.0.1:8000/api/v1/health und http://127.0.0.1:8000/docs.

4. Frontend erstellen & ausführen

cd frontend
npm install
npm run dev

Der Vite-Entwicklungsserver leitet /api-Anfragen an das FastAPI-Backend auf Port 8000 weiter (siehe vite.config.ts), daher müssen beide Dienste gleichzeitig laufen.

5. Testsuite ausführen

# Run all unit and integration tests (329 tests)
pytest tests/unit tests/integration -q

LLM-Aufrufe werden während der Tests simuliert (siehe tests/conftest.py), sodass die Suite deterministisch ohne Groq-/Ollama-Verbindung läuft. Da mehrere Tests einen neuen MCP-Server-Subprozess starten, dauert die gesamte Suite einige Minuten — dies ist erwartet und kein Hängenbleiben.


7. Evaluierung & Qualitätsergebnisse

BugPilot wird mit einem automatisierten Evaluierungs-Framework (evaluation/) ausgeliefert, das den Agenten anhand eines goldenen Datensatzes mit 23 Abfragen in 11 Dimensionen bewertet — Absichtsgenauigkeit, Tool-Auswahl, Grounding, Halluzinationsrate, Trajektorien-Gültigkeit, Befolgungsgenauigkeit, Sicherheit und Latenz — ohne manuelle Bewertung. Führen Sie es selbst aus mit:

python -m evaluation.run_eval

Letzte festgeschriebene Ergebnisse (evaluation_report.json):

Metrik

Ergebnis

Aufgaben-Erfolgsrate

21 / 23 (91,3%)

Halluzinationsrate

0,0%

Tool-Aufruf-Erfolgsrate

100%

Agenten-Routing-Genauigkeit

95,7%

Mittlere Latenz

2,3s (P95: 4,6s)

Die beiden nicht bestandenen Abfragen waren Grenzfälle der Absichtsweiterleitung (z. B. eine als COMPONENT_ANALYSIS statt METRIC klassifizierte Abfrage), keine Halluzinationen oder Fehler — der Agent hat in keinem der 23 Testfälle Informationen erfunden.

Ein Parallelitäts-/Lasttest (1–50 gleichzeitige Benutzer) ist ebenfalls über evaluation/load_tester.py enthalten. Bei bis zu 25 gleichzeitigen Benutzern hält das System eine Fehlerrate von 0%; bei 50 gleichzeitigen Benutzern steigt die Fehlerrate auf ~66%, was darauf hindeutet, dass die aktuelle Einzelinstanz-Einrichtung noch nicht für hohen Produktionsdatenverkehr optimiert ist. Siehe Bekannte Einschränkungen unten.

Hinweis zu Kosten/Token-Zahlen: Die Werte estimated_total_cost_usd und average_tokens_per_query in evaluation_report.json sind wortzählbasierte Schätzungen, keine tatsächlichen Groq-API-Nutzungsdaten. Behandeln Sie sie als grobe Indikatoren, nicht als Abrechnungszahlen.


8. Bekannte Einschränkungen

Im Interesse der Transparenz für Prüfer:

  • Parallelitätsobergrenze — Lasttests zeigen einen starken Anstieg der Fehlerrate bei 50 gleichzeitigen Benutzern (siehe oben). Für Demo-/Kleinteam-Nutzung geeignet; für größeren Produktionsdatenverkehr wären Connection-Pooling/Async-Optimierungen erforderlich.

  • Geschätztes (nicht gemessenes) Token-/Kosten-Tracking — Die Kostenangaben im Evaluierungsbericht sind heuristische Schätzungen basierend auf Wortzahlen, keine tatsächliche API-Nutzungsabrechnung.

  • Kleiner goldener Evaluierungsdatensatz — Die automatisierte Evaluierung deckt 23 repräsentative Abfragen ab; eine breitere Abdeckung (mehr adversarial-/Prompt-Injection-Fälle, mehr Grenzfälle) würde das Vertrauen weiter stärken.

  • generate_pdf.py ist ein eigenständiges Dokumentationsexport-Dienstprogramm mit einem Windows-spezifischen Standardausgabepfad; übergeben Sie unter macOS/Linux ein explizites Dateinamenargument.

---.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    Provides comprehensive SQLite database interaction for AI agents, including data manipulation, schema inspection, and automated query logging. It features a unique context preservation pattern that uses a dedicated meta-table to help autonomous agents maintain self-documenting database architectures.
    36
    1
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    Exposes a SQLite database to AI assistants with structured, read-safe access. Includes five tools for schema exploration, querying, and sampling data.
  • F
    license
    -
    quality
    C
    maintenance
    Exposes any SQLite database as read-only MCP tools for AI assistants, enabling listing tables, describing schemas, and running SELECT queries with filtering, ordering, and pagination.

View all related MCP servers

Related MCP Connectors

  • Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.

  • SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.

  • Read-only tools over the Safer Agentic AI framework: 238 patterns + 14 heuristics.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PS-minalprasad/Bugpilot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server