CircleCI MCP-Server
Model Context Protocol (MCP) ist ein neues, standardisiertes Protokoll zur Verwaltung des Kontexts zwischen großen Sprachmodellen (LLMs) und externen Systemen. In diesem Repository stellen wir einen MCP-Server für CircleCI bereit.
Auf diese Weise können Sie Cursor IDE, Windsurf, Copilot oder jeden MCP-unterstützten Client verwenden, um mithilfe natürlicher Sprache Dinge mit CircleCI zu erreichen, z. B.:
Find the latest failed pipeline on my branch and get logs
https://github.com/CircleCI-Public/mcp-server-circleci/wiki#circleci-mcp-server-with-cursor-ide
https://github.com/user-attachments/assets/3c765985-8827-442a-a8dc-5069e01edb74
Anforderungen
CircleCI API-Token – Sie können einen über CircleCI generieren. Erfahren Sie mehr oder klicken Sie hier für schnellen Zugriff.
Für die NPX-Installation:
pnpm-Paketmanager – Mehr erfahren
Node.js >= v18.0.0
Für die Docker-Installation:
Docker – Mehr erfahren
Installation
Cursor
Verwenden von NPX
Fügen Sie Ihrer Cursor-MCP-Konfiguration Folgendes hinzu:
Verwenden von Docker
Fügen Sie Ihrer Cursor-MCP-Konfiguration Folgendes hinzu:
VS Code
Verwenden von NPX
So installieren Sie den CircleCI MCP-Server für VS Code in .vscode/mcp.json
:
Verwenden von Docker
So installieren Sie den CircleCI MCP-Server für VS Code in .vscode/mcp.json
mit Docker:
Claude Desktop
Verwenden von NPX
Fügen Sie Ihrer claude_desktop_config.json Folgendes hinzu:
Verwenden von Docker
Fügen Sie Ihrer claude_desktop_config.json Folgendes hinzu:
Um diese Datei zu finden/erstellen, öffnen Sie zunächst die Claude-Desktop-Einstellungen. Klicken Sie dann links im Einstellungsbereich auf „Entwickler“ und anschließend auf „Konfiguration bearbeiten“.
Dadurch wird eine Konfigurationsdatei erstellt unter:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Weitere Informationen zur Verwendung von MCP-Servern mit Claude Desktop finden Sie in der folgenden Anleitung: https://modelcontextprotocol.io/quickstart/user
Claude Code
Verwenden von NPX
Führen Sie nach der Installation von Claude Code den folgenden Befehl aus:
Verwenden von Docker
Führen Sie nach der Installation von Claude Code den folgenden Befehl aus:
Weitere Informationen zur Verwendung von MCP-Servern mit Claude Code finden Sie in der folgenden Anleitung: https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/tutorials#set-up-model-context-protocol-mcp
Windsurf
Verwenden von NPX
Fügen Sie Ihrer Windsurf-mcp_config.json Folgendes hinzu:
Verwenden von Docker
Fügen Sie Ihrer Windsurf-mcp_config.json Folgendes hinzu:
Weitere Informationen zur Verwendung von MCP-Servern mit Windsurf finden Sie in der folgenden Anleitung: https://docs.windsurf.com/windsurf/mcp
Installation über Smithery
So installieren Sie CircleCI MCP Server für Claude Desktop automatisch über Smithery :
Merkmale
Unterstützte Tools
get_build_failure_logs
Ruft detaillierte Fehlerprotokolle von CircleCI-Builds ab. Dieses Tool kann auf drei Arten verwendet werden:
Verwenden von Projekt-Slug und Branch (empfohlener Arbeitsablauf):
Listen Sie zunächst Ihre verfügbaren Projekte auf:
Verwenden Sie das Tool list_followed_projects, um Ihre Projekte zu erhalten
Beispiel: „Liste meine CircleCI-Projekte auf“
Wählen Sie dann das Projekt aus, dem ein ProjektSlug zugeordnet ist
Beispiel: „Lasst uns mein Projekt verwenden“
Fordern Sie dann an, die Build-Fehlerprotokolle für einen bestimmten Zweig abzurufen:
Beispiel: „Build-Fehler für mein Projekt im Hauptzweig abrufen“
Verwenden von CircleCI-URLs:
Geben Sie die URL eines fehlgeschlagenen Jobs oder einer Pipeline direkt an
Beispiel: „Protokolle abrufen von https://app.circleci.com/pipelines/github/org/repo/123 “
Lokalen Projektkontext verwenden:
Funktioniert von Ihrem lokalen Arbeitsbereich aus, indem Folgendes bereitgestellt wird:
Stammpfad des Arbeitsbereichs
Git-Remote-URL
Filialname
Beispiel: „Suchen Sie die letzte fehlgeschlagene Pipeline in meinem aktuellen Zweig.“
Das Tool gibt formatierte Protokolle zurück, darunter:
Jobnamen
Schrittweise Ausführungsdetails
Fehlermeldungen und Kontext
Dies ist besonders nützlich für:
Debuggen fehlgeschlagener Builds
Analysieren von Testfehlern
Untersuchen von Bereitstellungsproblemen
Schneller Zugriff auf Build-Protokolle, ohne Ihre IDE zu verlassen
find_flaky_tests
Identifiziert fehlerhafte Tests in Ihrem CircleCI-Projekt durch Analyse des Testausführungsverlaufs. Dies nutzt die hier beschriebene Funktion zur Erkennung fehlerhafter Tests: https://circleci.com/blog/introducing-test-insights-with-flaky-test-detection/#flaky-test-detection
Dieses Tool kann auf drei Arten verwendet werden:
Verwenden von Project Slug (empfohlener Arbeitsablauf):
Listen Sie zunächst Ihre verfügbaren Projekte auf:
Verwenden Sie das Tool list_followed_projects, um Ihre Projekte zu erhalten
Beispiel: „Liste meine CircleCI-Projekte auf“
Wählen Sie dann das Projekt aus, dem ein ProjektSlug zugeordnet ist
Beispiel: „Lasst uns mein Projekt verwenden“
Fordern Sie dann an, die fehlerhaften Tests abzurufen:
Beispiel: „Holen Sie sich fehlerhafte Tests für mein Projekt“
Verwenden der CircleCI-Projekt-URL:
Geben Sie die Projekt-URL direkt von CircleCI an
Beispiel: „Finden Sie fehlerhafte Tests in https://app.circleci.com/pipelines/github/org/repo “
Lokalen Projektkontext verwenden:
Funktioniert von Ihrem lokalen Arbeitsbereich aus, indem Folgendes bereitgestellt wird:
Stammpfad des Arbeitsbereichs
Git-Remote-URL
Beispiel: „Finden Sie fehlerhafte Tests in meinem aktuellen Projekt.“
Das Tool gibt detaillierte Informationen zu fehlerhaften Tests zurück, darunter:
Testnamen und Dateispeicherorte
Fehlermeldungen und Kontexte
Dies hilft Ihnen:
Identifizieren Sie unzuverlässige Tests in Ihrer Testsuite
Erhalten Sie detaillierten Kontext zu Testfehlern
Treffen Sie datenbasierte Entscheidungen zur Testverbesserung
get_latest_pipeline_status
Ruft den Status der neuesten Pipeline für einen bestimmten Zweig ab. Dieses Tool kann auf drei Arten verwendet werden:
Verwenden von Projekt-Slug und Branch (empfohlener Arbeitsablauf):
Listen Sie zunächst Ihre verfügbaren Projekte auf:
Verwenden Sie das Tool list_followed_projects, um Ihre Projekte zu erhalten
Beispiel: „Liste meine CircleCI-Projekte auf“
Wählen Sie dann das Projekt aus, dem ein ProjektSlug zugeordnet ist
Beispiel: „Lasst uns mein Projekt verwenden“
Fordern Sie dann an, den neuesten Pipeline-Status für einen bestimmten Zweig abzurufen:
Beispiel: „Status der neuesten Pipeline für mein Projekt im Hauptzweig abrufen“
Verwenden der CircleCI-Projekt-URL:
Geben Sie die Projekt-URL direkt von CircleCI an
Beispiel: „Holen Sie sich den Status der neuesten Pipeline für https://app.circleci.com/pipelines/github/org/repo “
Lokalen Projektkontext verwenden:
Funktioniert von Ihrem lokalen Arbeitsbereich aus, indem Folgendes bereitgestellt wird:
Stammpfad des Arbeitsbereichs
Git-Remote-URL
Filialname
Beispiel: „Status der neuesten Pipeline für mein aktuelles Projekt abrufen“
Das Tool gibt einen formatierten Status der neuesten Pipeline zurück:
Workflow-Namen und ihr aktueller Status
Dauer jedes Workflows
Zeitstempel für Erstellung und Abschluss
Gesamtzustand der Pipeline
Beispielausgabe:
--- Workflow: build Status: success Duration: 5 minutes Created: 4/20/2025, 10:15:30 AM Stopped: 4/20/2025, 10:20:45 AM --- Workflow: test Status: running Duration: unknown Created: 4/20/2025, 10:21:00 AM Stopped: in progressDies ist besonders nützlich für:
Überprüfen des Status der neuesten Pipeline
Abrufen des Status der neuesten Pipeline für einen bestimmten Zweig
Schnelles Überprüfen des Status der neuesten Pipeline, ohne Ihre IDE zu verlassen
get_job_test_results
Ruft Testmetadaten für CircleCI-Jobs ab und ermöglicht Ihnen die Analyse von Testergebnissen, ohne Ihre IDE zu verlassen. Dieses Tool kann auf drei Arten verwendet werden:
Verwenden von Projekt-Slug und Branch (empfohlener Arbeitsablauf):
Listen Sie zunächst Ihre verfügbaren Projekte auf:
Verwenden Sie das Tool list_followed_projects, um Ihre Projekte zu erhalten
Beispiel: „Liste meine CircleCI-Projekte auf“
Wählen Sie dann das Projekt aus, dem ein ProjektSlug zugeordnet ist
Beispiel: „Lasst uns mein Projekt verwenden“
Fordern Sie dann an, die Testergebnisse für einen bestimmten Zweig abzurufen:
Beispiel: „Testergebnisse für mein Projekt im Hauptzweig abrufen“
Verwenden der CircleCI-URL:
Geben Sie eine CircleCI-URL in einem dieser Formate an:
Beispiel: „Testergebnisse abrufen für https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def “
Lokalen Projektkontext verwenden:
Funktioniert von Ihrem lokalen Arbeitsbereich aus, indem Folgendes bereitgestellt wird:
Stammpfad des Arbeitsbereichs
Git-Remote-URL
Filialname
Beispiel: „Testergebnisse für mein aktuelles Projekt im Hauptzweig abrufen“
Das Tool gibt detaillierte Informationen zu den Testergebnissen zurück:
Zusammenfassung aller Tests (Gesamt, Erfolgreich, Nicht bestanden)
Detaillierte Informationen zu fehlgeschlagenen Tests, einschließlich:
Testname und Klasse
Dateispeicherort
Fehlermeldungen
Laufzeit
Liste erfolgreicher Tests mit Zeitinformationen
Nach Testergebnissen filtern
Dies ist besonders nützlich für:
Schnelle Analyse von Testfehlern ohne Besuch der CircleCI-Web-Benutzeroberfläche
Erkennen von Mustern bei Testfehlern
Finden langsamer Tests, die möglicherweise optimiert werden müssen
Überprüfen der Testabdeckung in Ihrem gesamten Projekt
Fehlerbehebung bei fehlerhaften Tests
Hinweis: Das Tool erfordert, dass die Testmetadaten in Ihrer CircleCI-Konfiguration korrekt konfiguriert sind. Weitere Informationen zum Einrichten der Testmetadatenerfassung finden Sie unter: https://circleci.com/docs/collect-test-data/
config_helper
Unterstützt CircleCI-Konfigurationsaufgaben durch Anleitung und Validierung. Dieses Tool hilft Ihnen:
CircleCI-Konfiguration validieren:
Überprüft Ihre .circleci/config.yml auf Syntax- und Semantikfehler
Beispiel: „Meine CircleCI-Konfiguration validieren“
Das Tool bietet:
Detaillierte Validierungsergebnisse
Konfigurationsempfehlungen
Dies hilft Ihnen:
Fangen Sie Konfigurationsfehler ab, bevor Sie pushen
Erfahren Sie mehr über die Best Practices für die CircleCI-Konfiguration
Beheben von Konfigurationsproblemen
CircleCI-Funktionen richtig implementieren
create_prompt_template
Hilft bei der Erstellung strukturierter Eingabevorlagen für KI-gestützte Anwendungen basierend auf Funktionsanforderungen. Dieses Tool:
Wandelt Funktionsanforderungen in strukturierte Eingabeaufforderungen um:
Wandelt Benutzeranforderungen in optimierte Eingabevorlagen um
Beispiel: „Erstellen Sie eine Vorlage für die Erstellung von Gutenachtgeschichten nach Alter und Thema.“
Das Tool bietet:
Eine strukturierte Eingabeaufforderungsvorlage
Ein Kontextschema, das die erforderlichen Eingabeparameter definiert
Dies hilft Ihnen:
Erstellen Sie effektive Eingabeaufforderungen für KI-Anwendungen
Standardisieren Sie Eingabeparameter für konsistente Ergebnisse
Erstellen Sie robuste KI-gestützte Funktionen
recommend_prompt_template_tests
Generiert Testfälle für Eingabevorlagen, um sicherzustellen, dass sie die erwarteten Ergebnisse liefern. Dieses Tool:
Bietet Testfälle für Eingabeaufforderungsvorlagen:
Erstellt verschiedene Testszenarien basierend auf Ihrer Eingabeaufforderungsvorlage und Ihrem Kontextschema
Beispiel: „Tests für meine Vorlage für Gutenachtgeschichten erstellen“
Das Tool bietet:
Eine Reihe empfohlener Testfälle
Verschiedene Parameterkombinationen zum Testen der Vorlagenrobustheit
Dies hilft Ihnen:
Überprüfen der Funktionalität der Eingabeaufforderungsvorlage
Gewährleisten Sie konsistente KI-Reaktionen über alle Eingaben hinweg
Identifizieren Sie Randfälle und potenzielle Probleme
Verbessern Sie die Gesamtqualität Ihrer KI-Anwendungen
list_followed_projects
Listet alle Projekte auf, denen der Benutzer auf CircleCI folgt. Dieses Tool:
Ruft Projekte ab und zeigt sie an:
Zeigt alle Projekte an, auf die der Benutzer Zugriff hat und die er verfolgt
Gibt den Projektnamen und den Projekt-Slug für jeden Eintrag an
Beispiel: „Liste meine CircleCI-Projekte auf“
Das Tool gibt eine formatierte Liste von Projekten zurück, Beispielausgabe:
Projects followed: 1. my-project (projectSlug: gh/organization/my-project) 2. another-project (projectSlug: gh/organization/another-project)Dies ist besonders nützlich für:
Identifizieren, welche CircleCI-Projekte für Sie verfügbar sind
Abrufen des für andere CircleCI-Tools benötigten Projekt-Slugs
Auswählen eines Projekts für nachfolgende Vorgänge
Hinweis: Der ProjectSlug (nicht der Projektname) wird für viele andere CircleCI-Tools benötigt und wird für diese Tool-Aufrufe verwendet, nachdem ein Projekt ausgewählt wurde.
run_pipeline
Löst die Ausführung einer Pipeline aus. Dieses Tool kann auf drei Arten verwendet werden:
Verwenden von Projekt-Slug und Branch (empfohlener Arbeitsablauf):
Listen Sie zunächst Ihre verfügbaren Projekte auf:
Verwenden Sie das Tool list_followed_projects, um Ihre Projekte zu erhalten
Beispiel: „Liste meine CircleCI-Projekte auf“
Wählen Sie dann das Projekt aus, dem ein ProjektSlug zugeordnet ist
Beispiel: „Lasst uns mein Projekt verwenden“
Fordern Sie dann an, die Pipeline für einen bestimmten Zweig auszuführen:
Beispiel: „Führen Sie die Pipeline für mein Projekt im Hauptzweig aus.“
Verwenden der CircleCI-URL:
Geben Sie eine CircleCI-URL in einem dieser Formate an:
Job-URL: " https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def/jobs/789 "
Workflow-URL: " https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def "
Pipeline-URL: " https://app.circleci.com/pipelines/github/org/repo/123 "
Projekt-URL mit Zweig: " https://app.circleci.com/projects/github/org/repo?branch=main "
Beispiel: „Führen Sie die Pipeline für https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def aus.“
Lokalen Projektkontext verwenden:
Funktioniert von Ihrem lokalen Arbeitsbereich aus, indem Folgendes bereitgestellt wird:
Stammpfad des Arbeitsbereichs
Git-Remote-URL
Filialname
Beispiel: „Führen Sie die Pipeline für mein aktuelles Projekt im Hauptzweig aus.“
Das Tool gibt einen Link zur Überwachung der Pipeline-Ausführung zurück.
Dies ist besonders nützlich für:
Schnelles Ausführen von Pipelines ohne Besuch der CircleCI-Web-Benutzeroberfläche
Ausführen von Pipelines aus einem bestimmten Zweig
Entwicklung
Erste Schritte
Klonen Sie das Repository:
git clone https://github.com/CircleCI-Public/mcp-server-circleci.git cd mcp-server-circleciInstallieren Sie Abhängigkeiten:
pnpm installErstellen Sie das Projekt:
pnpm build
Docker-Container erstellen
Sie können den Docker-Container lokal erstellen mit:
Dadurch wird ein Docker-Image mit dem Tag circleci:mcp-server-circleci
erstellt, das Sie mit jedem MCP-Client verwenden können.
So führen Sie den Container aus:
Entwicklung mit MCP Inspector
Die einfachste Möglichkeit, auf dem MCP-Server zu iterieren, ist die Verwendung des MCP-Inspektors. Weitere Informationen zum MCP-Inspektor finden Sie unter https://modelcontextprotocol.io/docs/tools/inspector
Starten Sie den Entwicklungsserver:
pnpm watch # Keep this running in one terminalStarten Sie den Inspector in einem separaten Terminal:
pnpm inspectorKonfigurieren Sie die Umgebung:
Fügen Sie Ihren
CIRCLECI_TOKEN
zum Abschnitt „Umgebungsvariablen“ in der Inspektor-Benutzeroberfläche hinzuDas Token benötigt Lesezugriff auf Ihre CircleCI-Projekte
Optional können Sie Ihre CircleCI-Basis-URL festlegen. Standardmäßig ist
https//circleci.com
Testen
Führen Sie die Testsuite aus:
pnpm testFühren Sie während der Entwicklung Tests im Überwachungsmodus aus:
pnpm test:watch
Ausführlichere Richtlinien für Beiträge finden Sie unter CONTRIBUTING.md
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.
Tools
Mit diesem MCP-Server können Sie Cursor IDE oder einen beliebigen MCP-Client-fähigen Agenten verwenden, um mithilfe natürlicher Sprache Aufgaben mit CircleCI zu erledigen, z. B.: Suchen Sie die letzte fehlgeschlagene Pipeline in meinem Zweig und rufen Sie Protokolle ab.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualitySimple MCP Server to enable a human-in-the-loop workflow in tools like Cline and Cursor. This is especially useful for developing desktop applications that require complex user interactions to test.Last updated -147MIT License
- AsecurityAlicenseAqualityAn advanced MCP server that provides interactive feedback mechanisms with support for various feedback types, multi-language capabilities, and team collaboration features for AI tools like Cursor, Cline, and Windsurf.Last updated -41MIT License
- -securityAlicense-qualityAn MCP server that provides AI assistants with team analytics capabilities for Cursor editor, allowing them to retrieve team member information, usage metrics, and spending data through natural language queries.Last updated -3MIT License
- AsecurityFlicenseAqualityA server that enables interaction with Jenkins CI/CD pipelines from any compatible MCP client (like Claude Desktop), allowing users to manage jobs, builds, coverage reports, and other Jenkins functionality through natural language.Last updated -111