AWS CodePipeline MCP Server
io.github.cuongdev/mcp-codepipeline-server
Overview
Source-built TypeScript MCP server for managing AWS CodePipeline pipelines, executions, approvals, webhooks, tags, and CloudWatch pipeline metrics.
Documentation
Overview
AWS CodePipeline MCP Server is a TypeScript/Node.js Model Context Protocol server for interacting with AWS CodePipeline from Windsurf/Cascade. It exposes tools to list pipelines, inspect pipeline state and executions, trigger and stop executions, approve or reject manual approvals, retry failed stages, tag pipeline resources, create webhooks, fetch execution details, and retrieve CloudWatch metrics for pipeline performance.
Wardn's source importer was called first for https://github.com/cuongdev/mcp-codepipeline-server with an empty subfolder, but it returned 404 (source metadata could not be loaded). This submission was completed from direct source review of the GitHub repository README, architecture guide, package manifest, .env.example, TypeScript source, tool implementations, and registry checks.
Install and launch
The repository is a source-built Node.js package. Public npm registry checks for mcp-codepipeline-server returned 404, so the package target is recorded as a GitHub source package rather than an npm registry package.
Documented setup:
git clone https://github.com/cuongdev/mcp-codepipeline-server.git
cd mcp-codepipeline-server
npm install
cp .env.example .env
npm run build
npm start
package.json defines start as node dist/index.js, and the primary entrypoint src/index.ts uses StdioServerTransport. The submitted launch target uses the equivalent built-source command:
npm start
The README also shows a Windsurf MCP config using npx -y path/to/mcp-codepipeline-server/dist/index.js; the path/to/... value is user-specific, so it is recorded as an optional/documented configuration pattern rather than placed in the default launch args.
Configuration
Environment variables are loaded from .env in either the repository root or current working directory. AWS configuration is centralized in src/aws/create-aws-config.ts.
AWS_REGION: AWS region. README examples useus-east-1; source fallback isus-west-2.AWS_PROFILE: optional named AWS profile for local/SSO/profile-based credentials.AWS_ACCESS_KEY_ID: optional static AWS access key.AWS_SECRET_ACCESS_KEY: optional static AWS secret key.AWS_SESSION_TOKEN: optional temporary AWS session token.DEBUG: optional debug logging setting shown asDEBUG=* npm start.PORT: only used by the legacy Express HTTP experiment insrc/mcp-server.ts;src/index.tsandnpm startare stdio-only and do not listen onPORT.
If access keys are omitted, the AWS SDK uses the default credential provider chain, including profiles, SSO sessions, and IAM roles.
Tools
The primary stdio MCP server registers these tools:
list_pipelines: list all CodePipeline pipelines.get_pipeline_state: get current state for a pipeline.list_pipeline_executions: list executions for a pipeline.get_pipeline_details: get the full pipeline definition.get_pipeline_execution_logs: get execution details/logs for a pipeline execution.get_pipeline_metrics: retrieve CodePipeline CloudWatch metrics such as success, failure, and execution time.trigger_pipeline: start a pipeline execution.stop_pipeline_execution: stop a pipeline execution.approve_action: approve or reject a manual approval action.retry_stage: retry failed actions in a stage.tag_pipeline_resource: tag a pipeline resource.create_pipeline_webhook: create and register a CodePipeline webhook.
Prerequisites
- Node.js v14 or later.
- AWS account with CodePipeline access.
- AWS credentials configured through AWS profile, SSO, static environment keys, or IAM role.
- Permissions for CodePipeline operations and CloudWatch metrics.
npm installandnpm run buildmust be run beforenpm startor the MCP client launch points atdist/index.js.- Windsurf/Cascade is the documented client, although the stdio MCP server can be launched by other MCP clients that support stdio.
Limitations and security notes
This repository is not published as mcp-codepipeline-server on the public npm registry, so users must run it from a cloned and built checkout. The README's npx -y path/to/.../dist/index.js example contains a local filesystem placeholder and must be replaced by the user's real path. The Express/HTTP server in src/mcp-server.ts is documented as legacy; npm start runs only the stdio server and does not use PORT. The tools can mutate AWS resources by starting/stopping pipelines, approving/rejecting approvals, retrying stages, tagging resources, and creating webhooks, so least-privilege IAM credentials are required. CloudWatch metrics require CloudWatch permissions in addition to CodePipeline permissions.