Skip to main content
Glama
ko1ynnky

GitHub Actions MCP Server

by ko1ynnky

GitHub Actions MCP-Server

Schmiedeabzeichen

MCP-Server für die GitHub Actions API, der KI-Assistenten die Verwaltung und Bedienung von GitHub Actions-Workflows ermöglicht. Kompatibel mit mehreren KI-Programmierassistenten, darunter Claude Desktop, Codeium und Windsurf.

Merkmale

  • Umfassendes Workflow-Management : Workflows auflisten, anzeigen, auslösen, abbrechen und erneut ausführen

  • Analyse der Workflow-Läufe : Erhalten Sie detaillierte Informationen zu Workflow-Läufen und deren Jobs

  • Umfassende Fehlerbehandlung : Klare Fehlermeldungen mit erweiterten Details

  • Flexible Typvalidierung : Robuste Typprüfung mit eleganter Handhabung von API-Variationen

  • Sicherheitsorientiertes Design : Timeout-Behandlung, Ratenbegrenzung und strenge URL-Validierung

Werkzeuge

  1. list_workflows

    • Auflisten von Workflows in einem GitHub-Repository

    • Eingänge:

      • owner (Zeichenfolge): Repository-Besitzer (Benutzername oder Organisation)

      • repo (Zeichenfolge): Repository-Name

      • page (optionale Zahl): Seitenzahl für die Paginierung

      • perPage (optionale Zahl): Ergebnisse pro Seite (max. 100)

    • Rückgabe: Liste der Workflows im Repository

  2. get_workflow

    • Abrufen von Details zu einem bestimmten Workflow

    • Eingänge:

      • owner (Zeichenfolge): Repository-Besitzer (Benutzername oder Organisation)

      • repo (Zeichenfolge): Repository-Name

      • workflowId (Zeichenfolge oder Zahl): Die ID des Workflows oder der Dateiname

    • Retouren: Detaillierte Informationen zum Workflow

  3. get_workflow_usage

    • Abrufen der Nutzungsstatistik eines Workflows

    • Eingänge:

      • owner (Zeichenfolge): Repository-Besitzer (Benutzername oder Organisation)

      • repo (Zeichenfolge): Repository-Name

      • workflowId (Zeichenfolge oder Zahl): Die ID des Workflows oder der Dateiname

    • Rückgabe: Nutzungsstatistiken einschließlich abrechenbarer Minuten

  4. list_workflow_runs

    • Auflisten aller Workflow-Ausführungen für ein Repository oder einen bestimmten Workflow

    • Eingänge:

      • owner (Zeichenfolge): Repository-Besitzer (Benutzername oder Organisation)

      • repo (Zeichenfolge): Repository-Name

      • workflowId (optionale Zeichenfolge oder Zahl): Die ID des Workflows oder der Dateiname

      • actor (optionale Zeichenfolge): Filtern nach Benutzer, der den Workflow ausgelöst hat

      • branch (optionale Zeichenfolge): Nach Zweig filtern

      • event (optionale Zeichenfolge): Filtern nach Ereignistyp

      • status (optionale Zeichenfolge): Nach Status filtern

      • created (optionale Zeichenfolge): Filtern nach Erstellungsdatum (JJJJ-MM-TT)

      • excludePullRequests (optionaler Boolescher Wert): PR-getriggerte Läufe ausschließen

      • checkSuiteId (optionale Zahl): Filtern nach Check-Suite-ID

      • page (optionale Zahl): Seitenzahl für die Paginierung

      • perPage (optionale Zahl): Ergebnisse pro Seite (max. 100)

    • Gibt zurück: Liste der Workflow-Läufe, die den Kriterien entsprechen

  5. get_workflow_run

    • Abrufen von Details zu einem bestimmten Workflow-Ausführungsvorgang

    • Eingänge:

      • owner (Zeichenfolge): Repository-Besitzer (Benutzername oder Organisation)

      • repo (Zeichenfolge): Repository-Name

      • runId (Nummer): Die ID des Workflow-Laufs

    • Rückgabe: Detaillierte Informationen zum jeweiligen Workflow-Lauf

  6. get_workflow_run_jobs

    • Abrufen von Aufträgen für einen bestimmten Workflow-Lauf

    • Eingänge:

      • owner (Zeichenfolge): Repository-Besitzer (Benutzername oder Organisation)

      • repo (Zeichenfolge): Repository-Name

      • runId (Nummer): Die ID des Workflow-Laufs

      • filter (optionale Zeichenfolge): Filtern Sie Jobs nach Abschlussstatus („neueste“, „alle“)

      • page (optionale Zahl): Seitenzahl für die Paginierung

      • perPage (optionale Zahl): Ergebnisse pro Seite (max. 100)

    • Gibt zurück: Liste der Jobs im Workflow-Lauf

  7. trigger_workflow

    • Auslösen eines Workflow-Laufs

    • Eingänge:

      • owner (Zeichenfolge): Repository-Besitzer (Benutzername oder Organisation)

      • repo (Zeichenfolge): Repository-Name

      • workflowId (Zeichenfolge oder Zahl): Die ID des Workflows oder der Dateiname

      • ref (Zeichenfolge): Die Referenz, auf der der Workflow ausgeführt werden soll (Zweig, Tag oder SHA)

      • inputs (optionales Objekt): Eingabeparameter für den Workflow

    • Rückgabe: Informationen zum ausgelösten Workflow-Lauf

  8. cancel_workflow_run

    • Abbrechen einer Workflow-Ausführung

    • Eingänge:

      • owner (Zeichenfolge): Repository-Besitzer (Benutzername oder Organisation)

      • repo (Zeichenfolge): Repository-Name

      • runId (Nummer): Die ID des Workflow-Laufs

    • Retouren: Status des Stornierungsvorgangs

  9. rerun_workflow

    • Einen Workflow-Lauf erneut ausführen

    • Eingänge:

      • owner (Zeichenfolge): Repository-Besitzer (Benutzername oder Organisation)

      • repo (Zeichenfolge): Repository-Name

      • runId (Nummer): Die ID des Workflow-Laufs

    • Rückgabe: Status des erneut ausgeführten Vorgangs

Verwendung mit KI-Codierungsassistenten

Dieser MCP-Server ist mit mehreren KI-Codierungsassistenten kompatibel, darunter Claude Desktop, Codeium und Windsurf.

Claude Desktop

Stellen Sie zunächst sicher, dass Sie das Projekt erstellt haben (siehe Abschnitt „Erstellen“ weiter unten). Fügen Sie anschließend Folgendes zu Ihrer claude_desktop_config.json hinzu:

{ "mcpServers": { "github-actions": { "command": "node", "args": [ "<path-to-mcp-server>/dist/index.js" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" } } } }

Codeium

Fügen Sie Ihrer Codeium MCP-Konfigurationsdatei die folgende Konfiguration hinzu (normalerweise unter ~/.codeium/windsurf/mcp_config.json auf Unix-basierten Systemen oder %USERPROFILE%\.codeium\windsurf\mcp_config.json unter Windows):

{ "mcpServers": { "github-actions": { "command": "node", "args": [ "<path-to-mcp-server>/dist/index.js" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" } } } }

Windsurf

Windsurf verwendet dasselbe Konfigurationsformat wie Codeium. Fügen Sie den Server Ihrer Windsurf MCP-Konfiguration hinzu, wie oben für Codeium gezeigt.

Related MCP server: GitHub MCP Server Plus

Bauen

Unix/Linux/macOS

Klonen Sie das Repository und erstellen Sie:

git clone https://github.com/ko1ynnky/github-actions-mcp-server.git cd github-actions-mcp-server npm install npm run build

Windows

Verwenden Sie für Windows-Systeme den Windows-spezifischen Build-Befehl:

git clone https://github.com/ko1ynnky/github-actions-mcp-server.git cd github-actions-mcp-server npm install npm run build:win

Alternativ können Sie die mitgelieferte Batchdatei verwenden:

run-server.bat [optional-github-token]

Dadurch werden die erforderlichen Dateien im Verzeichnis dist erstellt, die Sie zum Ausführen des MCP-Servers benötigen.

Windows-spezifische Anweisungen

Voraussetzungen

  • Node.js (v14 oder höher)

  • npm (v6 oder höher)

Ausführen des Servers unter Windows

  1. Mithilfe der Batchdatei (einfachste Methode):

    run-server.bat [optional-github-token]

    Dadurch wird überprüft, ob der Build vorhanden ist, bei Bedarf erstellt und der Server gestartet.

  2. Direkte Verwendung von npm:

    npm run start

Festlegen des persönlichen GitHub-Zugriffstokens unter Windows

Für die volle Funktionalität und um eine Ratenbegrenzung zu vermeiden, müssen Sie Ihr persönliches GitHub-Zugriffstoken festlegen.

Optionen:

  1. Übergeben Sie es als Parameter an die Batchdatei:

    run-server.bat your_github_token_here
  2. Legen Sie es als Umgebungsvariable fest:

    set GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token_here npm run start

Beheben von Windows-Problemen

Wenn Probleme auftreten:

  1. Build-Fehler : Stellen Sie sicher, dass TypeScript korrekt installiert ist.

    npm install -g typescript
  2. Berechtigungsprobleme : Stellen Sie sicher, dass Sie die Befehle in einer Eingabeaufforderung mit entsprechenden Berechtigungen ausführen.

  3. Node.js-Fehler : Stellen Sie sicher, dass Sie eine kompatible Node.js-Version verwenden.

    node --version

Anwendungsbeispiele

Workflows in einem Repository auflisten:

const result = await listWorkflows({ owner: "your-username", repo: "your-repository" });

Lösen Sie einen Workflow aus:

const result = await triggerWorkflow({ owner: "your-username", repo: "your-repository", workflowId: "ci.yml", ref: "main", inputs: { environment: "production" } });

Fehlerbehebung

Häufige Probleme

  1. Authentifizierungsfehler :

    • Stellen Sie sicher, dass Ihr GitHub-Token über die richtigen Berechtigungen verfügt

    • Überprüfen Sie, ob das Token korrekt als Umgebungsvariable festgelegt ist

  2. Ratenbegrenzung :

    • Der Server implementiert eine Ratenbegrenzung, um das Erreichen der GitHub-API-Grenzen zu vermeiden

    • Wenn Sie auf Ratenbegrenzungsfehler stoßen, reduzieren Sie die Häufigkeit der Anfragen

  3. Typvalidierungsfehler :

    • GitHub-API-Antworten können manchmal von erwarteten Schemata abweichen

    • Der Server implementiert eine flexible Validierung, um die meisten Variationen zu verarbeiten

    • Wenn Sie auf anhaltende Fehler stoßen, öffnen Sie bitte ein Problem

Lizenz

Dieser MCP-Server ist unter der MIT-Lizenz lizenziert.

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/ko1ynnky/github-actions-mcp-server'

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