BugPilot MCP Server
BugPilot
KI-gestützter Engineering-Bug-Intelligence-Agent
Kernarchitektur: BugPilot läuft auf einer sauberen, durchgängig entkoppelten Pipeline: React / Vite → FastAPI Backend → ReAct Orchestrator → Spezialisten-Agents → MCP Client → MCP Server → 10 schreibgeschützte Tools → SQLite-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 |
|
| Suche nach Fehlern mittels Schlüsselwort in Issue-Schlüssel, Titel, Zusammenfassung oder Beschreibung. |
2 |
|
| Vollständige Details zu einem einzelnen Fehler abrufen (Schweregrad, Priorität, Ursache, geschäftliche Auswirkung, Umgebung, Reproduktionsschritte, Fix-Version). |
3 |
|
| Aggregierte Fehleranzahlen, Verteilungen offener vs. gelöster Fehler und Aufschlüsselung nach Schweregrad. |
4 |
|
| Monatliche Trends bei Erstellung vs. Lösung und historische Sprint-Abschlussgeschwindigkeit. |
5 |
|
| Offene Fehler, absteigend sortiert nach Alter in Tagen, um SLA-Risiken hervorzuheben. |
6 |
|
| Fehler, die von „Gelöst/Geschlossen" zurück zu „Offen/In Bearbeitung" gewechselt sind ( |
7 |
|
| Risikobewertungen auf Komponentenebene (0–100), Anzahl aktiver offener Issues und Indikatoren für den Schadensradius. |
8 |
|
| Bewertung der Release-Bereitschaft, Gesamtrisikobewertung und Bereitstellungsentscheidung. |
9 |
|
| Chronologischer Verlauf der Statusübergänge, Zeitstempel der Wiedereröffnung und Kommentare der Entwicklerdiskussion. |
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:
Absichts- & Bereichsfremd-Schutz — Frühe Prüfungen filtern nicht-technische Anfragen, ohne LLM-/Tool-Aufrufe zu verschwenden.
Dynamische Tool-Auswahl — Das LLM entscheidet über jede Aktion (
CALL_TOOL,DELEGATEoderFINISH) basierend auf der Anfrage, dynamisch entdeckten Tools und gesammelten Beobachtungen.Iterative Mehrfachkandidaten-Prüfung — Bei vergleichenden und bewertenden Anfragen („Analysiere Authentifizierungsfehler und identifiziere das Issue mit dem höchsten Risiko") entdeckt
search_bugsKandidaten, und der Orchestrator ruft iterativget_bugfür jeden Kandidatenfehler auf, bevorFINISHerlaubt wird, um sicherzustellen, dass vollständige technische Nachweise (Ursache, Schadensradius, Reproduktionsschritte) gesammelt werden.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.
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 durchorganization_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
.envgeladen 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 ( |
Tool-Protokoll | Tooling-Ebene | Offizielles Python MCP SDK ( |
Datenebene | Persistente Datenbank | SQLAlchemy 2.0 ORM + SQLite ( |
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 responses2. Eigenständigen MCP-Server ausführen
# Windows
.\.venv\Scripts\python -m mcp_server.server
# macOS / Linux
.venv/bin/python -m mcp_server.server3. FastAPI-Backend ausführen
uvicorn backend.main:app --host 127.0.0.1 --port 8000 --reloadDie 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 devDer 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 -qLLM-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_evalLetzte 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_usdundaverage_tokens_per_queryinevaluation_report.jsonsind 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.pyist ein eigenständiges Dokumentationsexport-Dienstprogramm mit einem Windows-spezifischen Standardausgabepfad; übergeben Sie unter macOS/Linux ein explizites Dateinamenargument.
---.
This server cannot be installed
Maintenance
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
- Alicense-qualityCmaintenanceProvides 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.361MIT
- Flicense-qualityDmaintenanceEnables SQLite database interactions including querying, updating, and schema management through structured tools.3
- Flicense-qualityDmaintenanceExposes a SQLite database to AI assistants with structured, read-safe access. Includes five tools for schema exploration, querying, and sampling data.
- Flicense-qualityCmaintenanceExposes 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.
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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