LabscoMCP early access ↗
cuongdevMCP SERVER

AWS CodePipeline MCP Server

Drive AWS CodePipeline in plain language — list and trigger pipelines, approve a manual gate, retry a failed stage, read execution logs and CloudWatch metrics.

by cuongdev ↗Build Systems & CI/CDCommunity

LABSCO SUMMARY

Approvals and retries are the part worth having in chat.

Listing pipelines is convenient; approving a manual gate or retrying the stage that just failed is what saves an actual context switch during a deploy. The credential story is the good news here — profiles, SSO and instance roles all work, so nothing needs a permanent access key sitting in a dotfile.

What it is

An MCP server for AWS CodePipeline, written for Windsurf's Cascade assistant but usable from any MCP client. It covers the operational half of a pipeline: what state it is in, what ran, what failed, and the actions you would otherwise take in the console.

What you get

  • list_pipelines with no parameters, get_pipeline_state for one pipeline, get_pipeline_details for its full definition
  • list_pipeline_executions, get_pipeline_execution_logs for one execution, trigger_pipeline to start a run, stop_pipeline_execution with an optional reason
  • approve_action — approve or reject a manual approval gate, taking the stage, action, token, a boolean and optional comments
  • retry_stage — re-run a failed stage of a specific execution
  • get_pipeline_metrics — CloudWatch performance metrics over a period, startTime and endTime
  • tag_pipeline_resource for key-value tags, and create_pipeline_webhook with a target action, authentication type such as GITHUB_HMAC, and JSON-path filters so a push to one branch triggers the pipeline

Requirements

An AWS principal with CodePipeline permissions, plus CloudWatch read access if you want metrics. You do not need long-lived keys in a file: set AWS_PROFILE to a named profile from ~/.aws/credentials, or use an SSO profile after aws sso login, or run on EC2, ECS, Lambda or EKS with an attached role and set only AWS_REGION. Static AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY work too. Node.js v14 or later; clone the repository, npm install, npm run build, then point the client at dist/index.js. Verify the profile first with aws sts get-caller-identity — an expired SSO session is the usual cause of a server that starts but cannot see anything. Package mcp-codepipeline-server at 1.0.0, ISC.

Setup effort

Build from source — git clone https://github.com/cuongdev/mcp-codepipeline-server.git