Skip to main content
Glama

DeepSource MCP Server

by sapientpants

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

  1. Bearbeiten Sie claude_desktop_config.json :
    • Öffnen Sie Claude Desktop
    • Gehen Sie zu Settings -> Developer -> Edit Config
    • Fügen Sie eine der folgenden Konfigurationen zum Abschnitt mcpServers hinzu
  2. 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:

What issues are in the JavaScript files of my project?

Dies würde das Tool project_issues mit Filtern verwenden:

{ "projectKey": "your-project-key", "path": "src/", "analyzerIn": ["javascript"], "first": 10 }

So filtern Sie Analyseläufe:

Show me the most recent Python analysis runs

Dies würde das Tool project_runs mit Filtern verwenden:

{ "projectKey": "your-project-key", "analyzerIn": ["python"], "first": 5 }

Für Codequalitätsmetriken:

What's my code coverage percentage? Is it meeting our thresholds?

Dazu würde das Tool quality_metrics verwendet:

{ "projectKey": "your-project-key", "shortcodeIn": ["LCV", "BCV", "CCV"] }

Für Sicherheitskonformitätsberichte:

Are we compliant with OWASP Top 10 security standards?

Dazu würde das Tool compliance_report verwendet:

{ "projectKey": "your-project-key", "reportType": "OWASP_TOP_10" }

So legen Sie Schwellenwerte fest:

Update our line coverage threshold to 80%

Dies würde das Tool update_metric_threshold verwenden:

{ "projectKey": "your-project-key", "repositoryId": "repo-id", "metricShortcode": "LCV", "metricKey": "AGGREGATE", "thresholdValue": 80 }

Umgebungsvariablen

Der Server unterstützt die folgenden Umgebungsvariablen:

  • DEEPSOURCE_API_KEY (erforderlich): Ihr DeepSource-API-Schlüssel zur Authentifizierung
  • LOG_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:

{ "mcpServers": { "deepsource": { "command": "npx", "args": [ "-y", "deepsource-mcp-server@1.1.0" ], "env": { "DEEPSOURCE_API_KEY": "your-deepsource-api-key", "LOG_FILE": "/tmp/deepsource-mcp.log", "LOG_LEVEL": "DEBUG" } } } }

Docker

{ "mcpServers": { "deepsource": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "DEEPSOURCE_API_KEY", "-e", "LOG_FILE=/tmp/deepsource-mcp.log", "-v", "/tmp:/tmp", "sapientpants/deepsource-mcp-server" ], "env": { "DEEPSOURCE_API_KEY": "your-deepsource-api-key", "LOG_FILE": "/tmp/deepsource-mcp.log" } } } }

NPX

{ "mcpServers": { "deepsource": { "command": "npx", "args": [ "-y", "deepsource-mcp-server@1.1.0" ], "env": { "DEEPSOURCE_API_KEY": "your-deepsource-api-key" } } } }

Verfügbare Tools

Der DeepSource MCP-Server bietet die folgenden Tools:

  1. projects : Listet alle verfügbaren DeepSource-Projekte auf
    • Parameter:
      • Keine erforderlichen Parameter
  2. project_issues : Holen Sie sich Probleme aus einem DeepSource-Projekt mit Filterung
    • Parameter:
      • projectKey (erforderlich) – Die eindeutige Kennung für das DeepSource-Projekt
      • Paginierungsparameter:
        • offset (optional) – Anzahl der Elemente, die bei der Paginierung übersprungen werden sollen
        • first (optional) – Anzahl der zurückzugebenden Elemente (Standardwert: 10)
        • after (optional) - Cursor für die Vorwärtspaginierung
        • before (optional) - Cursor für die Rückwärtspaginierung
        • last (optional) – Anzahl der Elemente, die vor dem Cursor „vor“ zurückgegeben werden sollen (Standard: 10)
      • Filterparameter:
        • path (optional) – Filtern Sie Probleme nach einem bestimmten Dateipfad
        • analyzerIn (optional) – Filtern Sie Probleme nach bestimmten Analysatoren (z. B. ["python", "javascript"])
        • tags (optional) – Probleme nach Tags filtern
  3. project_runs : Listenanalyseläufe für ein DeepSource-Projekt mit Filterung
    • Parameter:
      • projectKey (erforderlich) – Die eindeutige Kennung für das DeepSource-Projekt
      • Paginierungsparameter:
        • offset (optional) – Anzahl der Elemente, die bei der Paginierung übersprungen werden sollen
        • first (optional) – Anzahl der zurückzugebenden Elemente (Standardwert: 10)
        • after (optional) - Cursor für die Vorwärtspaginierung
        • before (optional) - Cursor für die Rückwärtspaginierung
        • last (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"])
  4. 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
  5. 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-Projekt
      • branchName (erforderlich) – Der Name des Zweigs, aus dem der letzte Lauf abgerufen werden soll
      • Paginierungsparameter:
        • first (optional) – Anzahl der zurückzugebenden Probleme (Standardwert: 10)
        • after (optional) - Cursor für die Vorwärtspaginierung
        • last (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
  6. dependency_vulnerabilities : Abhängigkeitsschwachstellen aus einem DeepSource-Projekt abrufen
    • Parameter:
      • projectKey (erforderlich) – Die eindeutige Kennung für das DeepSource-Projekt
      • Paginierungsparameter:
        • offset (optional) – Anzahl der Elemente, die bei der Paginierung übersprungen werden sollen
        • first (optional) – Anzahl der zurückzugebenden Elemente (Standardwert: 10)
        • after (optional) - Cursor für die Vorwärtspaginierung
        • before (optional) - Cursor für die Rückwärtspaginierung
        • last (optional) – Anzahl der Elemente, die vor dem Cursor „vor“ zurückgegeben werden sollen (Standard: 10)
  7. quality_metrics : Holen Sie Qualitätsmetriken aus einem DeepSource-Projekt mit Filterung
    • Parameter:
      • projectKey (erforderlich) – Die eindeutige Kennung für das DeepSource-Projekt
      • shortcodeIn (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
  8. update_metric_threshold : Aktualisieren Sie den Schwellenwert für eine bestimmte Qualitätsmetrik
    • Parameter:
      • projectKey (erforderlich) – Die eindeutige Kennung für das DeepSource-Projekt
      • repositoryId (erforderlich) – Die GraphQL-Repository-ID
      • metricShortcode (erforderlich) – Der Shortcode der zu aktualisierenden Metrik
      • metricKey (erforderlich) – Der Sprach- oder Kontextschlüssel für die Metrik
      • thresholdValue (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
  9. update_metric_setting : Aktualisieren Sie die Einstellungen für eine Qualitätsmetrik
    • Parameter:
      • projectKey (erforderlich) – Die eindeutige Kennung für das DeepSource-Projekt
      • repositoryId (erforderlich) – Die GraphQL-Repository-ID
      • metricShortcode (erforderlich) – Der Shortcode der zu aktualisierenden Metrik
      • isReported (erforderlich) – Ob die Metrik gemeldet werden soll
      • isThresholdEnforced (erforderlich) – Ob der Schwellenwert erzwungen werden soll (kann bei Prüfungen fehlschlagen)
  10. compliance_report : Erhalten Sie Sicherheits-Compliance-Berichte von einem DeepSource-Projekt
  • Parameter:
    • projectKey (erforderlich) – Die eindeutige Kennung für das DeepSource-Projekt
    • reportType (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

  1. Klonen Sie das Repository:
git clone https://github.com/sapientpants/deepsource-mcp-server.git cd deepsource-mcp-server
  1. Installieren Sie Abhängigkeiten:
pnpm install
  1. Erstellen Sie das Projekt:
pnpm run build
  1. Claude Desktop konfigurieren
{ "mcpServers": { "deepsource": { "command": "node", "args": [ "/path/to/deepsource-mcp-server/dist/index.js" ], "env": { "DEEPSOURCE_API_KEY": "your-deepsource-api-key" } } } }

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-Code
  • pnpm run start - Starten Sie den Server
  • pnpm run dev - Starten Sie den Server im Entwicklungsmodus
  • pnpm run test – Tests ausführen
  • pnpm run lint – ESLint ausführen
  • pnpm run format - Code mit Prettier formatieren

Fehlerbehebung

Debug-Protokollierung aktivieren

Wenn Probleme auftreten, aktivieren Sie die Debug-Protokollierung, um ausführliche Informationen anzuzeigen:

  1. Setzen Sie die Umgebungsvariable LOG_FILE auf einen Dateipfad, in den Protokolle geschrieben werden sollen
  2. Setzen Sie LOG_LEVEL auf DEBUG (das ist die Standardeinstellung)
  3. Überprüfen Sie die Protokolldatei auf detaillierte Fehlerinformationen

Beispielkonfiguration:

{ "mcpServers": { "deepsource": { "command": "npx", "args": ["-y", "deepsource-mcp-server@1.1.0"], "env": { "DEEPSOURCE_API_KEY": "your-api-key", "LOG_FILE": "/tmp/deepsource-mcp.log", "LOG_LEVEL": "DEBUG" } } } }

Überprüfen Sie dann die Protokolldatei:

tail -f /tmp/deepsource-mcp.log

Häufige Probleme

  1. Authentifizierungsfehler : Stellen Sie sicher, dass Ihr DEEPSOURCE_API_KEY korrekt ist und über die erforderlichen Berechtigungen verfügt
  2. Es werden keine Protokolle angezeigt : Überprüfen Sie, ob der LOG_FILE Pfad beschreibbar ist und das übergeordnete Verzeichnis vorhanden ist
  3. Tool-Fehler : Überprüfen Sie die Protokolldatei auf detaillierte Fehlermeldungen und Stapelverfolgungen

Lizenz

MIT

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Ein Model Context Protocol-Server, der in DeepSource integriert ist, um KI-Assistenten Zugriff auf Codequalitätsmetriken, Probleme und Analyseergebnisse zu gewähren.

  1. Überblick
    1. Merkmale
      1. Verwendung mit Claude Desktop
        1. Beispielabfragen
        2. Umgebungsvariablen
        3. Docker
        4. NPX
      2. Verfügbare Tools
        1. Entwicklung
          1. Voraussetzungen
          2. Skripte
        2. Fehlerbehebung
          1. Debug-Protokollierung aktivieren
          2. Häufige Probleme
        3. Lizenz

          Related MCP Servers

          • A
            security
            F
            license
            A
            quality
            A 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 -
            25
            14
            • Apple
            • Linux
          • -
            security
            A
            license
            -
            quality
            A 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 -
            9
            TypeScript
            MIT License
            • Linux
            • Apple
          • -
            security
            A
            license
            -
            quality
            A 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 -
            3
            Python
            Apache 2.0
            • Linux
            • Apple
          • -
            security
            F
            license
            -
            quality
            A 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 -
            16
            TypeScript

          View all related MCP servers

          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/sapientpants/deepsource-mcp-server'

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