AWS CodePipeline MCP Server

by cuongdev
Integrations
  • Manages environment variables for the MCP server, including AWS credentials and configuration settings.

  • Used for cloning the MCP server repository during the installation process.

  • Enables creation of webhooks for GitHub integration with AWS CodePipeline, supporting features like triggering pipelines based on GitHub events such as commits to specific branches.

AWS CodePipeline MCP-Server

Dies ist ein Model Context Protocol (MCP)-Server, der in AWS CodePipeline integriert ist und Ihnen die Verwaltung Ihrer Pipelines über Windsurf und Cascade ermöglicht. Der Server bietet eine standardisierte Schnittstelle für die Interaktion mit AWS CodePipeline-Diensten.

Autor: Cuong T Nguyen

Merkmale

  • Alle Pipelines auflisten
  • Abrufen des Pipeline-Status und detaillierter Pipeline-Definitionen
  • Auflisten von Pipeline-Ausführungen
  • Manuelle Genehmigungsaktionen genehmigen oder ablehnen
  • Wiederholen Sie fehlgeschlagene Phasen
  • Auslösen von Pipeline-Ausführungen
  • Anzeigen von Pipeline-Ausführungsprotokollen
  • Stoppen Sie die Pipeline-Ausführungen
  • Tag-Pipeline-Ressourcen
  • Erstellen Sie Webhooks für die automatische Pipeline-Auslösung
  • Abrufen von Pipeline-Leistungsmetriken

Voraussetzungen

  • Node.js (v14 oder höher)
  • AWS-Konto mit CodePipeline-Zugriff
  • AWS-Anmeldeinformationen mit Berechtigungen für CodePipeline, CloudWatch und IAM (zum Taggen)
  • Windsurf IDE mit Cascade AI-Assistent

Installation

  1. Klonen Sie dieses Repository:
git clone https://github.com/cuongdev/mcp-codepipeline-server.git cd mcp-codepipeline-server
  1. Installieren Sie Abhängigkeiten:
npm install
  1. Erstellen Sie eine .env Datei basierend auf der Vorlage .env.example :
cp .env.example .env
  1. Aktualisieren Sie die .env Datei mit Ihren AWS-Anmeldeinformationen und Ihrer Konfiguration:
AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=your_access_key_id AWS_SECRET_ACCESS_KEY=your_secret_access_key PORT=3000

Hinweis : Übergeben Sie Ihre .env Datei aus Sicherheitsgründen niemals der Versionskontrolle.

Verwendung

Erstellen des Projekts

npm run build

Starten Sie den Server

npm start

Für die Entwicklung mit automatischem Neustart:

npm run dev

Integration mit Windsurf

Dieser MCP-Server ist für die Zusammenarbeit mit Windsurf konzipiert und ermöglicht Cascade die Interaktion mit AWS CodePipeline über Anfragen in natürlicher Sprache.

Einrichtungsschritte

  1. Stellen Sie sicher, dass der Server läuft:
npm start
  1. Fügen Sie die Serverkonfiguration zu Ihrer Windsurf MCP-Konfigurationsdatei unter ~/.codeium/windsurf/mcp_config.json hinzu:
{ "mcpServers": { "codepipeline": { "command": "npx", "args": [ "-y", "path/to/mcp-codepipeline-server/dist/index.js" ], "env": { "AWS_REGION": "us-east-1", "AWS_ACCESS_KEY_ID": "your_access_key_id", "AWS_SECRET_ACCESS_KEY": "your_secret_access_key" } } } }
  1. Erstellen Sie das Verzeichnis, falls es nicht existiert:
mkdir -p ~/.codeium/windsurf touch ~/.codeium/windsurf/mcp_config.json
  1. Starten Sie Windsurf neu, um die neue MCP-Serverkonfiguration zu laden

Verwendung mit Cascade

Nach der Konfiguration können Sie in Windsurf mithilfe natürlicher Sprache mit AWS CodePipeline interagieren. Beispiel:

  • „Liste alle meine CodePipeline-Pipelines auf“
  • „Zeigen Sie mir den aktuellen Status meiner Produktions- und Bereitstellungspipeline.“
  • „Lösen Sie die Test-Build-Pipeline aus“
  • „Metriken für meine ‚Datenverarbeitungs‘-Pipeline abrufen“
  • „Erstellen Sie einen Webhook für meine ‚Frontend-Deploy‘-Pipeline.“

Cascade übersetzt diese Anfragen in die entsprechenden MCP-Tool-Aufrufe.

MCP-Tools

Kern-Pipeline-Management

WerkzeugnameBeschreibungParameter
list_pipelinesAlle CodePipeline-Pipelines auflistenKeiner
get_pipeline_stateAbrufen des Status einer bestimmten PipelinepipelineName : Name der Pipeline
list_pipeline_executionsAusführungen für eine bestimmte Pipeline auflistenpipelineName : Name der Pipeline
trigger_pipelineAuslösen einer Pipeline-AusführungpipelineName : Name der Pipeline
stop_pipeline_executionStoppen einer Pipeline-AusführungpipelineName : Name der Pipeline executionId : Ausführungs-ID reason : Optionaler Grund für das Anhalten

Pipeline-Details und -Metriken

WerkzeugnameBeschreibungParameter
get_pipeline_detailsHolen Sie sich die vollständige Definition einer PipelinepipelineName : Name der Pipeline
get_pipeline_execution_logsAbrufen von Protokollen für eine Pipeline-AusführungpipelineName : Name der Pipeline executionId : Ausführungs-ID
get_pipeline_metricsAbrufen von Leistungsmetriken für eine PipelinepipelineName : Name der Pipeline period : Optionaler Metrikzeitraum in Sekunden startTime : Optionale Startzeit für Metriken endTime : Optionale Endzeit für Metriken

Pipeline-Aktionen und -Integrationen

WerkzeugnameBeschreibungParameter
approve_actionGenehmigen oder Ablehnen einer manuellen GenehmigungsaktionpipelineName : Name der Pipeline stageName : Name der Phase actionName : Name der Aktion token : Genehmigungstoken approved : Boolescher Wert, der Genehmigung oder Ablehnung anzeigt comments : Optionale Kommentare
retry_stageWiederholen Sie eine fehlgeschlagene PhasepipelineName : Name der Pipeline stageName : Name der Stufe pipelineExecutionId : Ausführungs-ID
tag_pipeline_resourceHinzufügen oder Aktualisieren von Tags für eine Pipeline-RessourcepipelineName : Name der Pipeline. tags : Array von Schlüssel-Wert-Paaren zum Taggen
create_pipeline_webhookErstellen eines Webhooks für eine PipelinepipelineName : Name der Pipeline webhookName : Name für den Webhook targetAction : Zielaktion für den Webhook authentication : Authentifizierungstyp authenticationConfiguration : Optionale Authentifizierungskonfiguration filters : Optionale Ereignisfilter

Fehlerbehebung

Häufige Probleme

  1. Fehler: Verbindung abgelehnt :
    • Stellen Sie sicher, dass der Server auf dem angegebenen Port läuft
    • Überprüfen Sie, ob der Port durch eine Firewall blockiert ist
  2. AWS-Anmeldeinformationsfehler :
    • Überprüfen Sie Ihre AWS-Anmeldeinformationen in der .env Datei
    • Stellen Sie sicher, dass Ihr IAM-Benutzer über die erforderlichen Berechtigungen verfügt
  3. Windsurf erkennt den MCP-Server nicht :
    • Überprüfen Sie das Dateiformat mcp_config.json
    • Stellen Sie sicher, dass die Server-URL korrekt ist
    • Starten Sie Windsurf neu, nachdem Sie Änderungen vorgenommen haben

Protokolle

Der Server protokolliert Informationen in der Konsole. Überprüfen Sie diese Protokolle zur Fehlerbehebung:

# Run with more verbose logging DEBUG=* npm start

Beispiele

Erstellen eines Webhooks für die GitHub-Integration

{ "pipelineName": "my-pipeline", "webhookName": "github-webhook", "targetAction": "Source", "authentication": "GITHUB_HMAC", "authenticationConfiguration": { "SecretToken": "my-secret-token" }, "filters": [ { "jsonPath": "$.ref", "matchEquals": "refs/heads/main" } ] }

Abrufen von Pipeline-Metriken

{ "pipelineName": "my-pipeline", "period": 86400, "startTime": "2025-03-10T00:00:00Z", "endTime": "2025-03-17T23:59:59Z" }

Lizenz

ISC

-
security - not tested
F
license - not found
-
quality - not tested

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 AWS CodePipeline integriert ist und es Benutzern ermöglicht, Pipelines über Windsurf und Cascade mithilfe von Befehlen in natürlicher Sprache zu verwalten.

  1. Merkmale
    1. Voraussetzungen
      1. Installation
        1. Verwendung
          1. Erstellen des Projekts
          2. Starten Sie den Server
        2. Integration mit Windsurf
          1. Einrichtungsschritte
          2. Verwendung mit Cascade
        3. MCP-Tools
          1. Kern-Pipeline-Management
          2. Pipeline-Details und -Metriken
          3. Pipeline-Aktionen und -Integrationen
        4. Fehlerbehebung
          1. Häufige Probleme
          2. Protokolle
        5. Beispiele
          1. Erstellen eines Webhooks für die GitHub-Integration
          2. Abrufen von Pipeline-Metriken
        6. Lizenz

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that enables Claude to execute Python code using boto3 to query and manage AWS resources directly from conversations.
            Last updated -
            6
            Python
            MIT License
            • Linux
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server implementation that enables Claude to perform AWS operations on S3 and DynamoDB services through natural language commands.
            Last updated -
            23
            92
            Python
            MIT License
            • Apple
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server allowing Claude AI to interact with AWS resources through natural language, enabling users to query and manage AWS services without using the traditional AWS Console or CLI.
            Last updated -
            TypeScript
            • Apple
          • -
            security
            A
            license
            -
            quality
            A Node.js package providing Model Context Protocol server infrastructure for AWS Lambda functions with streaming response capabilities through Server-Sent Events.
            Last updated -
            112
            9
            TypeScript
            MIT License

          View all related MCP servers

          ID: urm7jwtady