AWS CodePipeline MCP サーバー
これはAWS CodePipelineと統合されたModel Context Protocol(MCP)サーバーであり、WindsurfとCascadeを介してパイプラインを管理できます。このサーバーは、AWS CodePipelineサービスとやり取りするための標準化されたインターフェースを提供します。
著者: Cuong T Nguyen
特徴
すべてのパイプラインを一覧表示する
パイプラインの状態と詳細なパイプライン定義を取得する
パイプライン実行の一覧
手動承認アクションを承認または拒否する
失敗したステージを再試行する
パイプライン実行をトリガーする
パイプライン実行ログを表示する
パイプラインの実行を停止する
パイプラインリソースのタグ付け
パイプラインの自動トリガー用のWebhookを作成する
パイプラインのパフォーマンス指標を取得する
Related MCP server: AWS MCP Server
前提条件
Node.js (v14以降)
CodePipeline にアクセスできる AWS アカウント
CodePipeline、CloudWatch、IAM(タグ付け用)の権限を持つAWS認証情報
Cascade AIアシスタント搭載Windsurf IDE
インストール
このリポジトリをクローンします:
git clone https://github.com/cuongdev/mcp-codepipeline-server.git
cd mcp-codepipeline-server依存関係をインストールします:
npm install.env.exampleテンプレートに基づいて.envファイルを作成します。
cp .env.example .envAWS の認証情報と設定を使用して
.envファイルを更新します。
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=your_access_key_id
AWS_SECRET_ACCESS_KEY=your_secret_access_key
PORT=3000注意: セキュリティ上の理由から、
.envファイルをバージョン管理にコミットしないでください。
使用法
プロジェクトを構築する
npm run buildサーバーを起動する
npm start自動再起動を使用した開発の場合:
npm run devWindsurfとの統合
この MCP サーバーは Windsurf と連携するように設計されており、Cascade が自然言語リクエストを通じて AWS CodePipeline と対話できるようにします。
セットアップ手順
サーバーが実行中であることを確認します。
npm start~/.codeium/windsurf/mcp_config.jsonにある Windsurf MCP 構成ファイルにサーバー構成を追加します。
{
"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"
}
}
}
}ディレクトリが存在しない場合は作成します。
mkdir -p ~/.codeium/windsurf
touch ~/.codeium/windsurf/mcp_config.jsonWindsurfを再起動して新しいMCPサーバー構成をロードします
カスケードと併用
設定が完了すると、Windsurf の自然言語を使って AWS CodePipeline を操作できるようになります。例えば、以下のようになります。
「すべての CodePipeline パイプラインを一覧表示する」
「『production-deploy』パイプラインの現在の状態を教えてください」
「「テストビルド」パイプラインをトリガーする」
「データ処理パイプラインのメトリクスを取得する」
「frontend-deploy」パイプライン用のWebhookを作成する
Cascade はこれらのリクエストを適切な MCP ツール呼び出しに変換します。
MCPツール
コアパイプライン管理
ツール名 | 説明 | パラメータ |
| すべての CodePipeline パイプラインを一覧表示する | なし |
| 特定のパイプラインの状態を取得する |
|
| 特定のパイプラインの実行を一覧表示する |
|
| パイプラインの実行をトリガーする |
|
| パイプラインの実行を停止する |
|
パイプラインの詳細と指標
ツール名 | 説明 | パラメータ |
| パイプラインの完全な定義を取得する |
|
| パイプライン実行のログを取得する |
|
| パイプラインのパフォーマンスメトリックを取得する |
|
パイプラインアクションと統合
ツール名 | 説明 | パラメータ |
| 手動承認アクションを承認または拒否する |
|
| 失敗したステージを再試行する |
|
| パイプライン リソースのタグを追加または更新する |
|
| パイプラインのWebhookを作成する |
|
トラブルシューティング
よくある問題
接続拒否エラー:
指定されたポートでサーバーが実行中であることを確認する
ポートがファイアウォールによってブロックされていないか確認する
AWS 認証情報エラー:
.envファイルで AWS 認証情報を確認するIAMユーザーに必要な権限があることを確認する
Windsurf が MCP サーバーを検出しません:
mcp_config.jsonファイルの形式を確認するサーバーのURLが正しいことを確認してください
変更を加えたらWindsurfを再起動してください
ログ
サーバーはコンソールに情報を記録します。トラブルシューティングのために以下のログを確認してください。
# Run with more verbose logging
DEBUG=* npm start例
GitHub 統合用の Webhook の作成
{
"pipelineName": "my-pipeline",
"webhookName": "github-webhook",
"targetAction": "Source",
"authentication": "GITHUB_HMAC",
"authenticationConfiguration": {
"SecretToken": "my-secret-token"
},
"filters": [
{
"jsonPath": "$.ref",
"matchEquals": "refs/heads/main"
}
]
}パイプラインメトリクスの取得
{
"pipelineName": "my-pipeline",
"period": 86400,
"startTime": "2025-03-10T00:00:00Z",
"endTime": "2025-03-17T23:59:59Z"
}ライセンス
ISC