Skip to main content
Glama
ko1ynnky

GitHub Actions MCP Server

by ko1ynnky

GitHub Действия MCP Сервер

значок кузнеца

MCP Server для API GitHub Actions, позволяющий помощникам ИИ управлять и работать с рабочими процессами GitHub Actions. Совместим с несколькими помощниками ИИ по кодированию, включая Claude Desktop, Codeium и Windsurf.

Функции

  • Полное управление рабочими процессами : список, просмотр, запуск, отмена и повторный запуск рабочих процессов

  • Анализ выполнения рабочего процесса : получите подробную информацию о выполнении рабочего процесса и его задачах.

  • Комплексная обработка ошибок : понятные сообщения об ошибках с расширенными подробностями

  • Гибкая проверка типов : надежная проверка типов с изящной обработкой вариаций API

  • Дизайн, ориентированный на безопасность : обработка тайм-аутов, ограничение скорости и строгая проверка URL-адресов

Инструменты

  1. list_workflows

    • Список рабочих процессов в репозитории GitHub

    • Входные данные:

      • owner (строка): Владелец репозитория (имя пользователя или организация)

      • repo (строка): Имя репозитория

      • page (необязательное число): Номер страницы для нумерации страниц

      • perPage (необязательное число): Результаты на страницу (макс. 100)

    • Возвращает: Список рабочих процессов в репозитории.

  2. get_workflow

    • Получите подробную информацию о конкретном рабочем процессе

    • Входные данные:

      • owner (строка): Владелец репозитория (имя пользователя или организация)

      • repo (строка): Имя репозитория

      • workflowId (строка или число): идентификатор рабочего процесса или имя файла.

    • Возврат: Подробная информация о рабочем процессе

  3. get_workflow_usage

    • Получите статистику использования рабочего процесса

    • Входные данные:

      • owner (строка): Владелец репозитория (имя пользователя или организация)

      • repo (строка): Имя репозитория

      • workflowId (строка или число): идентификатор рабочего процесса или имя файла.

    • Возврат: статистика использования, включая оплачиваемые минуты

  4. list_workflow_runs

    • Список всех запущенных рабочих процессов для репозитория или определенного рабочего процесса

    • Входные данные:

      • owner (строка): Владелец репозитория (имя пользователя или организация)

      • repo (строка): Имя репозитория

      • workflowId (необязательная строка или число): идентификатор рабочего процесса или имя файла.

      • actor (необязательная строка): Фильтр по пользователю, который запустил рабочий процесс.

      • branch (необязательная строка): Фильтр по филиалу

      • event (необязательная строка): Фильтр по типу события

      • status (необязательная строка): Фильтр по статусу

      • created (необязательная строка): Фильтр по дате создания (ГГГГ-ММ-ДД)

      • excludePullRequests (необязательное логическое значение): исключить запуски, инициированные PR

      • checkSuiteId (необязательное число): Фильтр по идентификатору набора проверок

      • page (необязательное число): Номер страницы для нумерации страниц

      • perPage (необязательное число): Результаты на страницу (макс. 100)

    • Возвращает: список выполненных рабочих процессов, соответствующих критериям.

  5. get_workflow_run

    • Получите подробную информацию о конкретном рабочем процессе

    • Входные данные:

      • owner (строка): Владелец репозитория (имя пользователя или организация)

      • repo (строка): Имя репозитория

      • runId (число): идентификатор запущенного рабочего процесса.

    • Возвращает: Подробную информацию о конкретном рабочем процессе.

  6. get_workflow_run_jobs

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

    • Входные данные:

      • owner (строка): Владелец репозитория (имя пользователя или организация)

      • repo (строка): Имя репозитория

      • runId (число): идентификатор запущенного рабочего процесса.

      • filter (необязательная строка): Фильтрация заданий по статусу завершения («последние», «все»)

      • page (необязательное число): Номер страницы для нумерации страниц

      • perPage (необязательное число): Результаты на страницу (макс. 100)

    • Возвращает: список заданий в рабочем процессе.

  7. trigger_workflow

    • Запустить рабочий процесс

    • Входные данные:

      • owner (строка): Владелец репозитория (имя пользователя или организация)

      • repo (строка): Имя репозитория

      • workflowId (строка или число): идентификатор рабочего процесса или имя файла.

      • ref (строка): ссылка для запуска рабочего процесса (ветвь, тег или SHA)

      • inputs (необязательный объект): входные параметры для рабочего процесса

    • Возвращает: информацию о запущенном рабочем процессе.

  8. cancel_workflow_run

    • Отменить выполнение рабочего процесса

    • Входные данные:

      • owner (строка): Владелец репозитория (имя пользователя или организация)

      • repo (строка): Имя репозитория

      • runId (число): идентификатор запущенного рабочего процесса.

    • Возврат: Статус операции отмены

  9. rerun_workflow

    • Повторный запуск рабочего процесса

    • Входные данные:

      • owner (строка): Владелец репозитория (имя пользователя или организация)

      • repo (строка): Имя репозитория

      • runId (число): идентификатор запущенного рабочего процесса.

    • Возвращает: Статус повторной операции

Использование с помощниками по кодированию на основе искусственного интеллекта

Этот MCP-сервер совместим с несколькими помощниками по кодированию на основе искусственного интеллекта, включая Claude Desktop, Codeium и Windsurf.

Клод Десктоп

Сначала убедитесь, что вы собрали проект (см. раздел «Сборка» ниже). Затем добавьте следующее в ваш claude_desktop_config.json :

{ "mcpServers": { "github-actions": { "command": "node", "args": [ "<path-to-mcp-server>/dist/index.js" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" } } } }

Кодеум

Добавьте следующую конфигурацию в файл конфигурации Codeium MCP (обычно в ~/.codeium/windsurf/mcp_config.json в системах на базе Unix или %USERPROFILE%\.codeium\windsurf\mcp_config.json в Windows):

{ "mcpServers": { "github-actions": { "command": "node", "args": [ "<path-to-mcp-server>/dist/index.js" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" } } } }

Виндсерфинг

Windsurf использует тот же формат конфигурации, что и Codeium. Добавьте сервер в конфигурацию Windsurf MCP, как показано выше для Codeium.

Related MCP server: GitHub MCP Server Plus

Строить

Unix/Linux/macOS

Клонируйте репозиторий и соберите:

git clone https://github.com/ko1ynnky/github-actions-mcp-server.git cd github-actions-mcp-server npm install npm run build

Окна

Для систем Windows используйте специальную команду сборки Windows:

git clone https://github.com/ko1ynnky/github-actions-mcp-server.git cd github-actions-mcp-server npm install npm run build:win

В качестве альтернативы вы можете использовать прилагаемый пакетный файл:

run-server.bat [optional-github-token]

Это создаст необходимые файлы в каталоге dist , которые вам понадобятся для запуска сервера MCP.

Инструкции для Windows

Предпосылки

  • Node.js (v14 или выше)

  • npm (v6 или выше)

Запуск сервера на Windows

  1. Использование пакетного файла (самый простой способ):

    run-server.bat [optional-github-token]

    Это проверит, существует ли сборка, выполнит сборку при необходимости и запустит сервер.

  2. Использование npm напрямую:

    npm run start

Настройка персонального токена доступа GitHub в Windows

Для полной функциональности и во избежание ограничения скорости вам необходимо установить свой персональный токен доступа GitHub.

Параметры:

  1. Передайте его как параметр в пакетный файл:

    run-server.bat your_github_token_here
  2. Установите его как переменную среды:

    set GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token_here npm run start

Устранение неполадок Windows

Если у вас возникли проблемы:

  1. Ошибки сборки : убедитесь, что TypeScript установлен правильно.

    npm install -g typescript
  2. Проблемы с разрешениями : убедитесь, что вы запускаете команды в командной строке с соответствующими разрешениями.

  3. Ошибки Node.js : убедитесь, что вы используете совместимую версию Node.js.

    node --version

Примеры использования

Список рабочих процессов в репозитории:

const result = await listWorkflows({ owner: "your-username", repo: "your-repository" });

Запустите рабочий процесс:

const result = await triggerWorkflow({ owner: "your-username", repo: "your-repository", workflowId: "ci.yml", ref: "main", inputs: { environment: "production" } });

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

Общие проблемы

  1. Ошибки аутентификации :

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

    • Проверьте, что токен правильно установлен как переменная среды.

  2. Ограничение скорости :

    • Сервер реализует ограничение скорости, чтобы избежать превышения лимитов API GitHub.

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

  3. Ошибки проверки типа :

    • Ответы API GitHub иногда могут отличаться от ожидаемых схем

    • Сервер реализует гибкую проверку для обработки большинства вариаций.

    • Если вы столкнулись с постоянными ошибками, пожалуйста, создайте проблему

Лицензия

Этот сервер MCP лицензирован в соответствии с лицензией MIT.

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/ko1ynnky/github-actions-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server