DeepSource MCP-Server
Ein Model Context Protocol (MCP)-Server, der in DeepSource integriert ist, um KI-Assistenten Zugriff auf Codequalitätsmetriken, Probleme und Analyseergebnisse zu bieten.
Überblick
Der DeepSource MCP Server ermöglicht KI-Assistenten die Interaktion mit den Codequalitätsanalysefunktionen von DeepSource über das Model Context Protocol. Diese Integration ermöglicht KI-Assistenten:
Abrufen von Codemetriken und Analyseergebnissen
Zugriffs- und Filterprobleme
Qualitätsstatus prüfen
Analysieren Sie die Projektqualität im Zeitverlauf
Merkmale
DeepSource-API-Integration : Verbindung mit DeepSource über die GraphQL-API
MCP-Protokollunterstützung : Implementiert das Model Context Protocol für die Integration von KI-Assistenten
Qualitätsmetriken und Schwellenwerte : Abrufen und Verwalten von Codequalitätsmetriken mit Schwellenwerten
Sicherheits-Compliance-Berichte : Zugriff auf OWASP Top 10, SANS Top 25 und MISRA-C Compliance-Berichte
Abhängigkeitsschwachstellen : Zugriff auf Informationen zu Sicherheitsschwachstellen in Abhängigkeiten
TypeScript/Node.js : Erstellt mit TypeScript für Typsicherheit und moderne JavaScript-Funktionen
Plattformübergreifend : Funktioniert unter Linux, macOS und Windows
Robuste Fehlerbehandlung : Umfassende Fehlerbehandlung für Netzwerk-, Authentifizierungs- und Analyseprobleme
Verwendung mit Claude Desktop
Bearbeiten Sie
claude_desktop_config.json:Öffnen Sie Claude Desktop
Gehen Sie zu
Settings->Developer->Edit ConfigFügen Sie eine der folgenden Konfigurationen zum Abschnitt
mcpServershinzu
Starten Sie Claude Desktop neu, um die Änderungen zu übernehmen
Beispielabfragen
Sobald die Verbindung hergestellt ist, kann Ihr KI-Assistent DeepSource-Daten mit Abfragen wie den folgenden verwenden:
Dies würde das Tool project_issues mit Filtern verwenden:
So filtern Sie Analyseläufe:
Dies würde das Tool project_runs mit Filtern verwenden:
Für Codequalitätsmetriken:
Dazu würde das Tool quality_metrics verwendet:
Für Sicherheitskonformitätsberichte:
Dazu würde das Tool compliance_report verwendet:
So legen Sie Schwellenwerte fest:
Dies würde das Tool update_metric_threshold verwenden:
Umgebungsvariablen
Der Server unterstützt die folgenden Umgebungsvariablen:
DEEPSOURCE_API_KEY(erforderlich): Ihr DeepSource-API-Schlüssel zur AuthentifizierungLOG_FILE(optional): Pfad zu einer Datei, in die Protokolle geschrieben werden sollen. Wenn nicht angegeben, werden keine Protokolle geschrieben.LOG_LEVEL(optional): Minimale Protokollebene zum Schreiben (DEBUG, INFO, WARN, ERROR). Standardmäßig DEBUG
Beispielkonfiguration mit Protokollierung:
Docker
NPX
Verfügbare Tools
Der DeepSource MCP-Server bietet die folgenden Tools:
projects: Listet alle verfügbaren DeepSource-Projekte aufParameter:
Keine erforderlichen Parameter
project_issues: Holen Sie sich Probleme aus einem DeepSource-Projekt mit FilterungParameter:
projectKey(erforderlich) – Die eindeutige Kennung für das DeepSource-ProjektPaginierungsparameter:
offset(optional) – Anzahl der Elemente, die bei der Paginierung übersprungen werden sollenfirst(optional) – Anzahl der zurückzugebenden Elemente (Standardwert: 10)after(optional) - Cursor für die Vorwärtspaginierungbefore(optional) - Cursor für die Rückwärtspaginierunglast(optional) – Anzahl der Elemente, die vor dem Cursor „vor“ zurückgegeben werden sollen (Standard: 10)
Filterparameter:
path(optional) – Filtern Sie Probleme nach einem bestimmten DateipfadanalyzerIn(optional) – Filtern Sie Probleme nach bestimmten Analysatoren (z. B. ["python", "javascript"])tags(optional) – Probleme nach Tags filtern
project_runs: Listenanalyseläufe für ein DeepSource-Projekt mit FilterungParameter:
projectKey(erforderlich) – Die eindeutige Kennung für das DeepSource-ProjektPaginierungsparameter:
offset(optional) – Anzahl der Elemente, die bei der Paginierung übersprungen werden sollenfirst(optional) – Anzahl der zurückzugebenden Elemente (Standardwert: 10)after(optional) - Cursor für die Vorwärtspaginierungbefore(optional) - Cursor für die Rückwärtspaginierunglast(optional) – Anzahl der Elemente, die vor dem Cursor „vor“ zurückgegeben werden sollen (Standard: 10)
Filterparameter:
analyzerIn(optional) – Filter, der von bestimmten Analysatoren ausgeführt wird (z. B. ["python", "javascript"])
run: Rufen Sie eine bestimmte Analyse ab, die über ihre runUid oder commitOid ausgeführt wird.Parameter:
runIdentifier(erforderlich) – Die runUid (UUID) oder commitOid (Commit-Hash) zur Identifizierung des Laufs
recent_run_issues: Ruft Probleme aus der letzten Analyse ab, die auf einem bestimmten Zweig mit Paginierungsunterstützung ausgeführt wurde.Parameter:
projectKey(erforderlich) – Die eindeutige Kennung für das DeepSource-ProjektbranchName(erforderlich) – Der Name des Zweigs, aus dem der letzte Lauf abgerufen werden sollPaginierungsparameter:
first(optional) – Anzahl der zurückzugebenden Probleme (Standardwert: 10)after(optional) - Cursor für die Vorwärtspaginierunglast(optional) – Anzahl der Probleme, die vor einem Cursor zurückgegeben werden sollen (Standard: 10)before(optional) - Cursor für die Rückwärtspaginierung
Widerrufsfolgen:
Informationen zum letzten Lauf auf der Filiale
Aktuelle Probleme im Projekt (Hinweis: Probleme treten auf Repository-Ebene auf, nicht laufspezifisch)
Paginierungsinformationen einschließlich Cursor und Seitenstatus
Metadaten zum Lauf und zum Zweig
dependency_vulnerabilities: Abhängigkeitsschwachstellen aus einem DeepSource-Projekt abrufenParameter:
projectKey(erforderlich) – Die eindeutige Kennung für das DeepSource-ProjektPaginierungsparameter:
offset(optional) – Anzahl der Elemente, die bei der Paginierung übersprungen werden sollenfirst(optional) – Anzahl der zurückzugebenden Elemente (Standardwert: 10)after(optional) - Cursor für die Vorwärtspaginierungbefore(optional) - Cursor für die Rückwärtspaginierunglast(optional) – Anzahl der Elemente, die vor dem Cursor „vor“ zurückgegeben werden sollen (Standard: 10)
quality_metrics: Holen Sie Qualitätsmetriken aus einem DeepSource-Projekt mit FilterungParameter:
projectKey(erforderlich) – Die eindeutige Kennung für das DeepSource-ProjektshortcodeIn(optional) – Filtern Sie Metriken nach bestimmten Shortcodes (z. B. ["LCV", "BCV"])
Gibt Kennzahlen zurück wie:
Linienabdeckung (LCV)
Filialabdeckung (BCV)
Dokumentationsumfang (DCV)
Prozentsatz doppelter Codes (DDP)
Jede Metrik umfasst aktuelle Werte, Schwellenwerte und den Pass/Fail-Status
update_metric_threshold: Aktualisieren Sie den Schwellenwert für eine bestimmte QualitätsmetrikParameter:
projectKey(erforderlich) – Die eindeutige Kennung für das DeepSource-ProjektrepositoryId(erforderlich) – Die GraphQL-Repository-IDmetricShortcode(erforderlich) – Der Shortcode der zu aktualisierenden MetrikmetricKey(erforderlich) – Der Sprach- oder Kontextschlüssel für die MetrikthresholdValue(optional) - Der neue Schwellenwert oder null, um den Schwellenwert zu entfernen
Beispiel: Festlegen eines Schwellenwerts für die Zeilenabdeckung von 80 %: metricShortcode="LCV", metricKey="AGGREGATE", thresholdValue=80
update_metric_setting: Aktualisieren Sie die Einstellungen für eine QualitätsmetrikParameter:
projectKey(erforderlich) – Die eindeutige Kennung für das DeepSource-ProjektrepositoryId(erforderlich) – Die GraphQL-Repository-IDmetricShortcode(erforderlich) – Der Shortcode der zu aktualisierenden MetrikisReported(erforderlich) – Ob die Metrik gemeldet werden sollisThresholdEnforced(erforderlich) – Ob der Schwellenwert erzwungen werden soll (kann bei Prüfungen fehlschlagen)
compliance_report: Erhalten Sie Sicherheits-Compliance-Berichte von einem DeepSource-Projekt
Parameter:
projectKey(erforderlich) – Die eindeutige Kennung für das DeepSource-ProjektreportType(erforderlich) – Der Typ des abzurufenden Compliance-Berichts ( OWASP Top 10 , SANS Top 25 oder MISRA-C )
Gibt umfassende Daten zur Sicherheitskonformität zurück, darunter:
Statistiken zu Sicherheitsproblemen nach Kategorie und Schweregrad
Konformitätsstatus (bestanden/nicht bestanden)
Trenddaten, die Veränderungen im Zeitverlauf zeigen
Analyse und Empfehlungen zur Verbesserung der Sicherheitslage
Entwicklung
Klonen Sie das Repository:
Installieren Sie Abhängigkeiten:
Erstellen Sie das Projekt:
Claude Desktop konfigurieren
Voraussetzungen
Node.js 20 oder höher
pnpm 10.7.0 oder höher
Docker (für Container-Builds)
Skripte
pnpm run build– Erstellen Sie den TypeScript-Codepnpm run start- Starten Sie den Serverpnpm run dev- Starten Sie den Server im Entwicklungsmoduspnpm run test– Tests ausführenpnpm run lint– ESLint ausführenpnpm run format- Code mit Prettier formatieren
Fehlerbehebung
Debug-Protokollierung aktivieren
Wenn Probleme auftreten, aktivieren Sie die Debug-Protokollierung, um ausführliche Informationen anzuzeigen:
Setzen Sie die Umgebungsvariable
LOG_FILEauf einen Dateipfad, in den Protokolle geschrieben werden sollenSetzen Sie
LOG_LEVELaufDEBUG(das ist die Standardeinstellung)Überprüfen Sie die Protokolldatei auf detaillierte Fehlerinformationen
Beispielkonfiguration:
Überprüfen Sie dann die Protokolldatei:
Häufige Probleme
Authentifizierungsfehler : Stellen Sie sicher, dass Ihr
DEEPSOURCE_API_KEYkorrekt ist und über die erforderlichen Berechtigungen verfügtEs werden keine Protokolle angezeigt : Überprüfen Sie, ob der
LOG_FILEPfad beschreibbar ist und das übergeordnete Verzeichnis vorhanden istTool-Fehler : Überprüfen Sie die Protokolldatei auf detaillierte Fehlermeldungen und Stapelverfolgungen
Lizenz
MIT
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI models to interact with SourceSync.ai's knowledge management platform for managing documents, ingesting content from various sources, and performing semantic searches.Last updated -2533
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI agents to retrieve and understand entire codebases at once, providing tools to analyze local workspaces or remote GitHub repositories.Last updated -370MIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enhances AI-generated code quality through comprehensive analysis across 10 critical dimensions, helping identify issues before they become problems.Last updated -172Apache 2.0
- -securityFlicense-qualityA comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.Last updated -52