Skip to main content
Glama
by cuongdev

Сервер AWS CodePipeline MCP

Это сервер Model Context Protocol (MCP), который интегрируется с AWS CodePipeline, позволяя вам управлять вашими конвейерами через Windsurf и Cascade. Сервер предоставляет стандартизированный интерфейс для взаимодействия с сервисами AWS CodePipeline.

Автор: Куонг Т Нгуен

Функции

  • Список всех трубопроводов

  • Получите состояние конвейера и подробные определения конвейера

  • Список выполнений конвейера

  • Одобрить или отклонить действия по ручному утверждению

  • Повторить неудачные этапы

  • Запуск конвейера выполнения

  • Просмотр журналов выполнения конвейера

  • Остановить конвейерные исполнения

  • Ресурсы конвейера тегов

  • Создание веб-хуков для автоматического запуска конвейера

  • Получите показатели производительности конвейера

Related MCP server: Code Merge MCP

Предпосылки

  • Node.js (v14 или более поздняя версия)

  • Аккаунт AWS с доступом к CodePipeline

  • Учетные данные AWS с разрешениями для CodePipeline, CloudWatch и IAM (для тегирования)

  • Windsurf IDE с помощником Cascade AI

Установка

  1. Клонируйте этот репозиторий:

git clone https://github.com/cuongdev/mcp-codepipeline-server.git cd mcp-codepipeline-server
  1. Установить зависимости:

npm install
  1. Создайте файл .env на основе шаблона .env.example :

cp .env.example .env
  1. Обновите файл .env , указав свои учетные данные и конфигурацию AWS:

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 dev

Интеграция с Windsurf

Этот сервер MCP предназначен для работы с Windsurf, что позволяет Cascade взаимодействовать с AWS CodePipeline посредством запросов на естественном языке.

Шаги настройки

  1. Убедитесь, что сервер запущен:

npm start
  1. Добавьте конфигурацию сервера в файл конфигурации Windsurf MCP по адресу ~/.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. Создайте каталог, если он не существует:

mkdir -p ~/.codeium/windsurf touch ~/.codeium/windsurf/mcp_config.json
  1. Перезапустите Windsurf, чтобы загрузить новую конфигурацию сервера MCP.

Использование с каскадом

После настройки вы можете взаимодействовать с AWS CodePipeline, используя естественный язык в Windsurf. Например:

  • «Список всех моих конвейеров CodePipeline»

  • «Покажите мне текущее состояние моего конвейера «производство-развертывание»»

  • «Запустить конвейер «тестовой сборки»»

  • «Получить метрики для моего конвейера «обработки данных»»

  • «Создать вебхук для моего конвейера 'frontend-deploy'»

Cascade преобразует эти запросы в соответствующие вызовы инструментов MCP.

Инструменты МКП

Управление основным трубопроводом

Название инструмента

Описание

Параметры

list_pipelines

Список всех конвейеров CodePipeline

Никто

get_pipeline_state

Получить состояние определенного трубопровода

pipelineName

: Имя трубопровода

list_pipeline_executions

Список выполнений для определенного конвейера

pipelineName

: Имя трубопровода

trigger_pipeline

Запустить конвейерное выполнение

pipelineName

: Имя трубопровода

stop_pipeline_execution

Остановить выполнение конвейера

pipelineName

: Имя конвейера

executionId

: Идентификатор выполнения

reason

: Необязательная причина остановки

Детали и показатели конвейера

Название инструмента

Описание

Параметры

get_pipeline_details

Получите полное определение трубопровода

pipelineName

: Имя трубопровода

get_pipeline_execution_logs

Получить журналы выполнения конвейера

pipelineName

: Имя конвейера

executionId

: Идентификатор выполнения

get_pipeline_metrics

Получите показатели производительности для конвейера

pipelineName

: Имя конвейера

period

: Необязательный период метрики в секундах

startTime

: Необязательное время начала для метрик

endTime

: Необязательное время окончания для метрик

Действия и интеграции конвейера

Название инструмента

Описание

Параметры

approve_action

Одобрить или отклонить действие ручного одобрения

pipelineName

: Имя конвейера

stageName

: Имя этапа

actionName

: Имя действия

token

: Токен одобрения

approved

: Логическое значение, указывающее на одобрение или отклонение

comments

: Необязательные комментарии

retry_stage

Повторите неудачный этап

pipelineName

: Имя конвейера

stageName

: Имя этапа

pipelineExecutionId

: Идентификатор выполнения

tag_pipeline_resource

Добавить или обновить теги для ресурса конвейера

pipelineName

: Имя конвейера

tags

: Массив пар ключ-значение для тегирования

create_pipeline_webhook

Создать вебхук для конвейера

pipelineName

: Имя конвейера

webhookName

: Имя для webhook

targetAction

: Целевое действие для webhook

authentication

: Тип аутентификации

authenticationConfiguration

: Необязательные фильтры

filters

аутентификации : Необязательные фильтры событий

Поиск неисправностей

Распространенные проблемы

  1. Ошибка отказа в подключении :

    • Убедитесь, что сервер работает на указанном порту.

    • Проверьте, не заблокирован ли порт брандмауэром.

  2. Ошибки учетных данных AWS :

    • Проверьте свои учетные данные AWS в файле .env

    • Убедитесь, что у вашего пользователя IAM есть необходимые разрешения.

  3. Windsurf не обнаруживает сервер MCP :

    • Проверьте формат файла mcp_config.json

    • Убедитесь, что URL-адрес сервера правильный.

    • Перезапустите Windsurf после внесения изменений.

Журналы

Сервер записывает информацию в консоль. Проверьте эти журналы для устранения неполадок:

# Run with more verbose logging DEBUG=* npm start

Примеры

Создание Webhook для интеграции с GitHub

{ "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" }

Лицензия

МСК

Latest Blog Posts

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