I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

mcp-codepipeline-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.
3 years
Works with Finder
1
Github Watches
1
Github Forks
4
Github Stars
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
- Clone this repository:
git clone https://github.com/cuongdev/mcp-codepipeline-server.git
cd mcp-codepipeline-server
- Install dependencies:
npm install
- Create a
.env
file based on the.env.example
template:
cp .env.example .env
- 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
- Make sure the server is running:
npm start
- 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"
}
}
}
}
- Create the directory if it doesn't exist:
mkdir -p ~/.codeium/windsurf
touch ~/.codeium/windsurf/mcp_config.json
- 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 pipelineexecutionId : Execution IDreason : 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 pipelineexecutionId : Execution ID |
get_pipeline_metrics |
Get performance metrics for a pipeline | pipelineName : Name of the pipelineperiod : Optional metric period in secondsstartTime : Optional start time for metricsendTime : 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 pipelinestageName : Name of the stageactionName : Name of the actiontoken : Approval tokenapproved : Boolean indicating approval or rejectioncomments : Optional comments |
retry_stage |
Retry a failed stage | pipelineName : Name of the pipelinestageName : Name of the stagepipelineExecutionId : Execution ID |
tag_pipeline_resource |
Add or update tags for a pipeline resource | pipelineName : Name of the pipelinetags : Array of key-value pairs for tagging |
create_pipeline_webhook |
Create a webhook for a pipeline | pipelineName : Name of the pipelinewebhookName : Name for the webhooktargetAction : Target action for the webhookauthentication : Authentication typeauthenticationConfiguration : Optional auth configfilters : Optional event filters |
Troubleshooting
Common Issues
-
Connection refused error:
- Ensure the server is running on the specified port
- Check if the port is blocked by a firewall
-
AWS credential errors:
- Verify your AWS credentials in the
.env
file - Ensure your IAM user has the necessary permissions
- Verify your AWS credentials in the
-
Windsurf not detecting the MCP server:
- Check the
mcp_config.json
file format - Ensure the server URL is correct
- Restart Windsurf after making changes
- Check the
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
相关推荐
Confidential guide on numerology and astrology, based of GG33 Public information
Converts Figma frames into front-end code for various mobile frameworks.
Advanced software engineer GPT that excels through nailing the basics.
Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.
Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx
A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.
Mirror ofhttps://github.com/suhail-ak-s/mcp-typesense-server
本项目是一个钉钉MCP(Message Connector Protocol)服务,提供了与钉钉企业应用交互的API接口。项目基于Go语言开发,支持员工信息查询和消息发送等功能。
Reviews

user_rq0tFBbS
The Strategic Co-Developer MCP Server by Deehands24 is an exceptional tool for developers seeking seamless collaboration. It offers robust features that enhance productivity and streamline workflows. Accessing the server through the intuitive interface made teamwork remarkably efficient. Highly recommended for any development team looking for a reliable co-developer server. Check it out here: https://mcp.so/server/strategic-codeveloper-mcp/Deehands24