Skip to main content
Glama
by cuongdev

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

Related MCP server: Code Merge MCP

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

Werkzeugname

Beschreibung

Parameter

list_pipelines

Alle CodePipeline-Pipelines auflisten

Keiner

get_pipeline_state

Abrufen des Status einer bestimmten Pipeline

pipelineName

: Name der Pipeline

list_pipeline_executions

Ausführungen für eine bestimmte Pipeline auflisten

pipelineName

: Name der Pipeline

trigger_pipeline

Auslösen einer Pipeline-Ausführung

pipelineName

: Name der Pipeline

stop_pipeline_execution

Stoppen einer Pipeline-Ausführung

pipelineName

: Name der Pipeline

executionId

: Ausführungs-ID

reason

: Optionaler Grund für das Anhalten

Pipeline-Details und -Metriken

Werkzeugname

Beschreibung

Parameter

get_pipeline_details

Holen Sie sich die vollständige Definition einer Pipeline

pipelineName

: Name der Pipeline

get_pipeline_execution_logs

Abrufen von Protokollen für eine Pipeline-Ausführung

pipelineName

: Name der Pipeline

executionId

: Ausführungs-ID

get_pipeline_metrics

Abrufen von Leistungsmetriken für eine Pipeline

pipelineName

: Name der Pipeline

period

: Optionaler Metrikzeitraum in Sekunden

startTime

: Optionale Startzeit für Metriken

endTime

: Optionale Endzeit für Metriken

Pipeline-Aktionen und -Integrationen

Werkzeugname

Beschreibung

Parameter

approve_action

Genehmigen oder Ablehnen einer manuellen Genehmigungsaktion

pipelineName

: 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_stage

Wiederholen Sie eine fehlgeschlagene Phase

pipelineName

: Name der Pipeline

stageName

: Name der Stufe

pipelineExecutionId

: Ausführungs-ID

tag_pipeline_resource

Hinzufügen oder Aktualisieren von Tags für eine Pipeline-Ressource

pipelineName

: Name der Pipeline.

tags

: Array von Schlüssel-Wert-Paaren zum Taggen

create_pipeline_webhook

Erstellen eines Webhooks für eine Pipeline

pipelineName

: 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

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/cuongdev/mcp-codepipeline-server'

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