Skip to main content
Glama
sid-stack001

DevContext

by sid-stack001

DevContext

Python MCP License: MIT

DevContext ist ein Prototyp eines Model Context Protocol (MCP)-Servers und CLI-Tools, das KI-Codeassistenten und Entwicklern Laufzeit-Observability-Daten (Logs, Deploys und Health-Metriken) bereitstellt, um die Incident-Triage zu unterstützen.


Überblick

Codierungsassistenten können Quellcode-Repositories inspizieren und Fixes entwerfen, aber ihnen fehlt oft der Einblick in das, was bei Laufzeit-Störungen passiert (z. B. kürzliche Deployments, Fehlerratenspikes, volle Festplatten oder Ausfälle von Downstream-APIs). DevContext ist ein Proof-of-Concept-Tool, das Laufzeitkontext über eine Befehlszeilen-Schnittstelle (CLI) und standardmäßige MCP-Toolaufrufe bereitstellt.


Related MCP server: AI Incident Monitoring RCA MCP Server

CLI- & Tool-Befehle

DevContext kann direkt von der Kommandozeile ausgeführt oder als MCP-Server registriert werden.

1. devcontext diagnose

Führt eine automatisierte Incident-Triage gegen integrierte Datensätze oder benutzerdefinierte Dateien/Ordner durch:

# Diagnose built-in service dataset
devcontext diagnose --service order-processing

# Output raw JSON format
devcontext diagnose --service order-processing --json

# Point at custom log, deploy, and health paths (files or log directories)
devcontext diagnose --log-path /var/log/app/ --deploys-path deploys.json --health-path health.json

# Enable experimental Groq LLM extraction
devcontext diagnose --service order-processing --use-llm

2. devcontext serve

Startet den Stdio-MCP-Server für die Verbindung zu MCP-Hosts (z. B. Claude Desktop, Antigravity):

devcontext serve

Optionen für das Log-Parsing

  1. Deterministischer Parser (parser.py): Verwendet Heuristiken, um Logzeilen zu sampeln und eine Strukturzuordnung zu versuchen (JSON-lines, CSV, Key-Value-Paare oder einfache Timestamps in eckigen Klammern/leerzeichengetrennt).

    • Einschränkung: Am besten geeignet für einfache einzeilige Logs. Komplexe mehrzeilige Stack-Traces oder nicht standardkonforme benutzerdefinierte Formate können auf einen einfachen Zeilenabgleich zurückfallen.

  2. Experimentelle LLM-Extraktion (extraction.py): Sendet optionale Log-Chunks an die Groq-API ( response_format={"type": "json_object"}), um strukturierte Ereignisobjekte zu extrahieren.

    • Einschränkung: Verursacht API-Latenz (ca. 200–400 ms) und Token-Kosten; falls der API-Key fehlt oder Anrufe ein Zeitlimitüberschreiten, wird auf den deterministischen Parser zurückgegriffen.


Optionen für Datenquellen

  • Integrierte Mock-Daten: Einen Dienstnamen übergeben (z. B. service_name="order-processing"), um die enthaltenen Demo-Daten abzufragen.

  • Benutzerdefinierte Datei- oder Ordnerpfade:

    • log_path: Pfad zu einer einzelnen Log-Datei oder einem Verzeichnis mit aufgeteilten .log- / .txt-Dateien.

    • deploys_path: Pfad zu einer benutzerdefinierten deploys.json-Datei.

    • health_path: Pfad zu einer benutzerdefinierten health.json-Datei.


Evaluierung & Test-Szenarien

Das Repository enthält eine Evaluierungs-Umgebung (eval.py), die gegen 5 synthetische Test-Szenarien getestet wurde:

Szenario

Service

Szenariotyp

Erwartetes Ergebnis

Ergebnis

scenario_1_bad_deploy

payment-service

Reduzierung des Ressourcenlimits

Deployment f8a1c92 identifizieren

Bestanden

scenario_2_disk_full

storage-service

Festplatte voll (kein neues Deployment)

Festplattenerschöpfung (98 %) identifizieren

Bestanden

scenario_3_memory_leak

analytics-worker

Memory Leak / OOM

Speichersättigung (97 %) identifizieren

Bestanden

scenario_4_downstream_outage

notification-service

Ausfall der externen API

SendGrid-503-Fehler identifizieren

Bestanden

scenario_5_bad_migration

user-service

Fehlgeschlagene Datenbankmigration

d4e912f-Deployment identifizieren

Bestanden

Einschränkungen & Umfang

  • Kleine Test-Suite: Diese Evaluations-Suite enthält 5 synthetische Testfälle zu Validierungszwecken. Dies ist kein erschöpfender Produktions-Benchmark.

  • Heuristischer Abgleich: diagnose() verwendet einfache Regeln (z. B. Prüfung, ob ein Deployment innerhalb von 10 Minuten nach dem ersten Fehler stattfand). Reale Infrastruktur-Störungen sind oft komplexer und können mehrfach zusammenhängende wid himelastende, zusammenspielende Faktoren umfassen.


Architektur

┌─────────────────────────────────────────────────────────┐
│              CLI / MCP Clients                          │
│     (devcontext CLI / Claude Desktop / Antigravity)     │
└───────────────────────────┬─────────────────────────────┘
                            │ CLI Args / stdio JSON-RPC
┌───────────────────────────▼─────────────────────────────┐
│              DevContext Entry Point                     │
│               (cli.py / server.py)                      │
└───────────────────────────┬─────────────────────────────┘
                            │
┌───────────────────────────▼─────────────────────────────┐
│                 Diagnostic Core (tools.py)               │
└───────┬───────────────────┬─────────────────────┬───────┘
        │                   │                     │
┌───────▼───────────┐ ┌─────▼─────────────┐ ┌─────▼─────────────┐
│ Structure Parser  │ │ Deployment Engine │ │ Health Observer   │
│   (parser.py)     │ │ (deploys.json)    │ │ (health.json)     │
└───────┬───────────┘ └───────────────────┘ └───────────────────┘
        │
┌───────┴─────────────────────────────────────────┐
│  Groq API (Optional LLM log extraction)         │
└─────────────────────────────────────────────────┘

Schnittgeräte & Setup

1. Installation

git clone https://github.com/your-username/devcontext.git
cd devcontext
pip install -e .

2. Dienst per CLI diagnostizieren

devcontext diagnose --service order-processing

3. Als MCP-Server registrieren (Claude Desktop)

Fügen Sie DevContext zu Ihrer claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "devcontext": {
      "command": "devcontext",
      "args": [
        "serve"
      ]
    }
  }
}

4. Evaluierung-Suite ausführen

python eval.py

5. Optionale API-Key-Einrichtung

Kopieren Sie .env.example zu .env, wenn Sie Groq für die experimentelle LLM-Log-Extraktion verwenden:

cp .env.example .env

Abhängigkeiten & Anforderungen

  • Python 3.10+

  • mcp (Model Context Protocol SDK)

  • groq (Optional, für die LLM-Extraktion)


Zukünftige Erweiterungen

  • Plug-fähige Adapter: Direkte Verbindung zu CloudWatch-, Datadog-, Grafana-Loki- oder Prometheus-APIs.

  • Probabilistische Konfidenzwerte: Ausgabe von Wahrscheinlichkeitsverteilungen der Grundursache (z. B. 95% confidence: bad deploy) statt einzelner deterministischer Zeichenketten.

  • Automated Rollback-Vorschläge: Generieren Sie validierte git-revert-Commits oder Kubernetes-Patch-Spezifikationen zusammen mit der Diagnose.


Lizenz

Unter der MIT-Lizenz lizenziert.

A
license - permissive license
Not graded
quality - not tested
B
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

  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides telemetry tools for retrieving recent logs and system metrics to support root-cause analysis of infrastructure incidents. Enables autonomous incident triage with grounded verification and human-in-the-loop remediation.
    1
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to investigate production incidents by exposing service health, logs, and deployment data through MCP tools.
    8

View all related MCP servers

Related MCP Connectors

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/sid-stack001/devcontext'

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