AWS CodePipeline MCP Server

by cuongdev
Integrations
  • Manages environment variables for the MCP server, including AWS credentials and configuration settings.

  • Used for cloning the MCP server repository during the installation process.

  • Enables creation of webhooks for GitHub integration with AWS CodePipeline, supporting features like triggering pipelines based on GitHub events such as commits to specific branches.

Сервер AWS CodePipeline MCP

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

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

Функции

  • Список всех трубопроводов
  • Получите состояние конвейера и подробные определения конвейера
  • Список выполнений конвейера
  • Одобрить или отклонить действия по ручному утверждению
  • Повторить неудачные этапы
  • Запуск конвейера выполнения
  • Просмотр журналов выполнения конвейера
  • Остановить конвейерные исполнения
  • Ресурсы конвейера тегов
  • Создание веб-хуков для автоматического запуска конвейера
  • Получите показатели производительности конвейера

Предпосылки

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

Лицензия

МСК

-
security - not tested
F
license - not found
-
quality - not tested

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.

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

  1. Функции
    1. Предпосылки
      1. Установка
        1. Использование
          1. Построить проект
          2. Запустить сервер
        2. Интеграция с Windsurf
          1. Шаги настройки
          2. Использование с каскадом
        3. Инструменты МКП
          1. Управление основным трубопроводом
          2. Детали и показатели конвейера
          3. Действия и интеграции конвейера
        4. Поиск неисправностей
          1. Распространенные проблемы
          2. Журналы
        5. Примеры
          1. Создание Webhook для интеграции с GitHub
          2. Получение показателей конвейера
        6. Лицензия

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that enables Claude to execute Python code using boto3 to query and manage AWS resources directly from conversations.
            Last updated -
            6
            Python
            MIT License
            • Linux
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server implementation that enables Claude to perform AWS operations on S3 and DynamoDB services through natural language commands.
            Last updated -
            23
            92
            Python
            MIT License
            • Apple
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server allowing Claude AI to interact with AWS resources through natural language, enabling users to query and manage AWS services without using the traditional AWS Console or CLI.
            Last updated -
            TypeScript
            • Apple
          • -
            security
            A
            license
            -
            quality
            A Node.js package providing Model Context Protocol server infrastructure for AWS Lambda functions with streaming response capabilities through Server-Sent Events.
            Last updated -
            112
            9
            TypeScript
            MIT License

          View all related MCP servers

          ID: urm7jwtady