Skip to main content
Glama

AWS CodePipeline MCP Server

by cuongdev

MseeP.ai Security Assessment Badge

AWS CodePipeline MCP Server

This is a Model Context Protocol (MCP) server that integrates with AWS CodePipeline, allowing you to manage your pipelines through Windsurf and Cascade. The server provides a standardized interface for interacting with AWS CodePipeline services.

Author: Cuong T Nguyen

Features

  • List all pipelines

  • Get pipeline state and detailed pipeline definitions

  • List pipeline executions

  • Approve or reject manual approval actions

  • Retry failed stages

  • Trigger pipeline executions

  • View pipeline execution logs

  • Stop pipeline executions

  • Tag pipeline resources

  • Create webhooks for automatic pipeline triggering

  • Get pipeline performance metrics

Prerequisites

  • Node.js (v14 or later)

  • AWS account with CodePipeline access

  • AWS credentials with permissions for CodePipeline, CloudWatch, and IAM (for tagging)

  • Windsurf IDE with Cascade AI assistant

Installation

  1. Clone this repository:

git clone https://github.com/cuongdev/mcp-codepipeline-server.git cd mcp-codepipeline-server
  1. Install dependencies:

npm install
  1. Create a .env file based on the .env.example template:

cp .env.example .env
  1. Update the .env file with your AWS credentials and configuration:

AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=your_access_key_id AWS_SECRET_ACCESS_KEY=your_secret_access_key PORT=3000

Note: For security, never commit your .env file to version control.

Usage

Build the project

npm run build

Start the server

npm start

For development with auto-restart:

npm run dev

Integration with Windsurf

This MCP server is designed to work with Windsurf, allowing Cascade to interact with AWS CodePipeline through natural language requests.

Setup Steps

  1. Make sure the server is running:

npm start
  1. Add the server configuration to your Windsurf MCP config file at ~/.codeium/windsurf/mcp_config.json:

{ "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. Create the directory if it doesn't exist:

mkdir -p ~/.codeium/windsurf touch ~/.codeium/windsurf/mcp_config.json
  1. Restart Windsurf to load the new MCP server configuration

Using with Cascade

Once configured, you can interact with AWS CodePipeline using natural language in Windsurf. For example:

  • "List all my CodePipeline pipelines"

  • "Show me the current state of my 'production-deploy' pipeline"

  • "Trigger the 'test-build' pipeline"

  • "Get metrics for my 'data-processing' pipeline"

  • "Create a webhook for my 'frontend-deploy' pipeline"

Cascade will translate these requests into the appropriate MCP tool calls.

MCP Tools

Core Pipeline Management

Tool Name

Description

Parameters

list_pipelines

List all CodePipeline pipelines

None

get_pipeline_state

Get the state of a specific pipeline

pipelineName

: Name of the pipeline

list_pipeline_executions

List executions for a specific pipeline

pipelineName

: Name of the pipeline

trigger_pipeline

Trigger a pipeline execution

pipelineName

: Name of the pipeline

stop_pipeline_execution

Stop a pipeline execution

pipelineName

: Name of the pipeline

executionId

: Execution ID

reason

: Optional reason for stopping

Pipeline Details and Metrics

Tool Name

Description

Parameters

get_pipeline_details

Get the full definition of a pipeline

pipelineName

: Name of the pipeline

get_pipeline_execution_logs

Get logs for a pipeline execution

pipelineName

: Name of the pipeline

executionId

: Execution ID

get_pipeline_metrics

Get performance metrics for a pipeline

pipelineName

: Name of the pipeline

period

: Optional metric period in seconds

startTime

: Optional start time for metrics

endTime

: Optional end time for metrics

Pipeline Actions and Integrations

Tool Name

Description

Parameters

approve_action

Approve or reject a manual approval action

pipelineName

: Name of the pipeline

stageName

: Name of the stage

actionName

: Name of the action

token

: Approval token

approved

: Boolean indicating approval or rejection

comments

: Optional comments

retry_stage

Retry a failed stage

pipelineName

: Name of the pipeline

stageName

: Name of the stage

pipelineExecutionId

: Execution ID

tag_pipeline_resource

Add or update tags for a pipeline resource

pipelineName

: Name of the pipeline

tags

: Array of key-value pairs for tagging

create_pipeline_webhook

Create a webhook for a pipeline

pipelineName

: Name of the pipeline

webhookName

: Name for the webhook

targetAction

: Target action for the webhook

authentication

: Authentication type

authenticationConfiguration

: Optional auth config

filters

: Optional event filters

Troubleshooting

Common Issues

  1. Connection refused error:

    • Ensure the server is running on the specified port

    • Check if the port is blocked by a firewall

  2. AWS credential errors:

    • Verify your AWS credentials in the .env file

    • Ensure your IAM user has the necessary permissions

  3. Windsurf not detecting the MCP server:

    • Check the mcp_config.json file format

    • Ensure the server URL is correct

    • Restart Windsurf after making changes

Logs

The server logs information to the console. Check these logs for troubleshooting:

# Run with more verbose logging DEBUG=* npm start

Examples

Creating a Webhook for 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" } ] }

Getting Pipeline Metrics

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

License

ISC

Deploy Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

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.

A Model Context Protocol server that integrates with AWS CodePipeline, allowing users to manage pipelines through Windsurf and Cascade using natural language commands.

  1. Features
    1. Prerequisites
      1. Installation
        1. Usage
          1. Build the project
          2. Start the server
        2. Integration with Windsurf
          1. Setup Steps
          2. Using with Cascade
        3. MCP Tools
          1. Core Pipeline Management
          2. Pipeline Details and Metrics
          3. Pipeline Actions and Integrations
        4. Troubleshooting
          1. Common Issues
          2. Logs
        5. Examples
          1. Creating a Webhook for GitHub Integration
          2. Getting Pipeline Metrics
        6. License

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that provides tools for code modification and generation via Large Language Models, allowing users to create, modify, rewrite, and delete files using structured XML instructions.
            Last updated -
            12
            2
            MIT License
            • Linux
            • Apple
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that helps large language models process code repositories by providing file tree generation, code merging, and code analysis capabilities.
            Last updated -
            3
            22
            MIT License
          • A
            security
            F
            license
            A
            quality
            A Model Context Protocol server for managing cloud servers, particularly DigitalOcean droplets, allowing users to identify providers via IP addresses and perform operations like power management, status monitoring, and resource usage tracking.
            Last updated -
            30
            1
          • -
            security
            F
            license
            -
            quality
            A comprehensive Model Context Protocol server that provides over 50 file and system management tools for AI models, including navigation, file operations, search, compression, and system information capabilities.
            Last updated -

          View all related MCP servers

          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