Skip to content
Main Navigation
Автоматизированное тестирование
Централизованное управление автотестами и результатами
Интеграции
Готовые коннекторы с CI/CD, трекерами и репозиториями
Ручное тестирование
Планирование, выполнение и контроль ручных проверок в одном месте
Дашборды и аналитика
Визуализация данных, отчёты и метрики тестов в реальном времени
Ресурсы
Документация
Материалы по установке, настройке и подключению интеграций в ТестОпс
Блог
Статьи и руководства по стратегиям и инструментам тестирования
События
Живое общение с командой ТестОпс на вебинарах и конференциях
Истории клиентов
Реальные кейсы и истории внедрения с результатами из первых рук
Последнее из блога
Искусственный интеллект в тестировании | Часть 1
Искусственный интеллект в тестировании | Часть 1
Пошаговая инструкция по автоматизации тестирования: настройка окружения, интеграция с GitHub Actions и ТестОпс, использование Cursor IDE и MCP.
Настройка вебхуков в ТестОпс для Telegram
Настройка вебхуков в ТестОпс для Telegram
Гайд по настройке вебхуков в ТестОпс на примере создания сообщений для канала в Telegram.
Сокращение технического долга в UI-тестах
Сокращение технического долга в UI-тестах
Обзор причин нестабильности, практик повышения надёжности, архитектурных решений и возможностей платформы ТестОпс для контроля качества.
Перейти в блог
ТарифыПартнерыСвязаться с нами
On this page

Автоматизация тестирования с помощью ИИ ​

Интеграция облачной версии платформы ТестОпс с GitHub Actions упрощает автоматизацию тестирования и сбор результатов в одной системе. В этом руководстве мы поэтапно настроим трёхстороннюю связку: результаты запусков GitHub Actions будут отправляться в TMS ТестОпс, откуда можно инициировать новые запуски на GitHub. MCP обеспечивает интеллектуальную интеграцию и автоматизацию процессов между всеми системами. Мы рассматриваем требования к окружению, генерацию необходимых токенов, изменение конфигурации workflow и настройку параметров окружения, а также возможные ошибки.


⚡️ Внимание! Это 2-я часть из серии статей, посвящённых настройке связки MCP + GitHub + ТестОпс. В этой статье подробно разбирается настройка интеграции GitHub и MCP: как подключить MCP-сервер, интегрировать его с GitHub и использовать возможности AI-инструментов для автоматизации и анализа CI/CD процессов. В первой части рассматривается сопряжение GitHub и ТестОпс — настройка интеграции, автоматизация запуска тестов и передача результатов.

Интеграция Cursor и MCP: автоматизация и расширение возможностей ​

Настройка интеграции — технически сложный процесс, однако современные технологии упрощают его. Особенно стоит отметить связку Cursor и Model Context Protocol (MCP). Эти инструменты на базе искусственного интеллекта автоматизируют задачи интеграции.

Cursor = продвинутая AI-платформа для разработки и тестирования, объединяющая возможности интеллектуального автодополнения кода и чат-ассистента. Она позволяет подключать внешние источники данных и инструменты с помощью протокола MCP (Model Context Protocol).

Простыми словами, MCP открывает для AI-движка доступ к предоставленным в качестве контекста системам и сервисам. Вместо того чтобы вручную объяснять ИИ структуру проекта или копировать токены, можно настроить интеграцию через MCP, и тогда Cursor сможет автоматически получать контекст из GitHub и других ресурсов (при настроенной интеграции).

В данном примере MCP и Cursor можно использовать в следующих целях:

  • Автоматизировать подготовку конфигурации. С помощью готовых MCP-серверов для GitHub и ТестОпс AI-ассистент Cursor способен сам найти нужный проект, получить ID проекта или сгенерировать шаблон YAML workflow. Для этого достаточно описать своими словами задачу в чате и инструмент предложит готовый фрагмент кода.

  • Извлекать данные для анализа. Cursor может по запросу получить через MCP информацию о последних запусках тестов или статус интеграции. Это удобно для отладки: в естественной форме можно задать вопросы (например: «Какие ошибки в последнем запуске?»), а AI через API находит в GitHub ответ и предоставляет в читабельном для человека виде.

  • Обучаться на документации. Подключив MCP к документации (например, к репозиторию в GitHub по API, откуда, в свою очередь, данные могут передаваться в ТестОпс), AI сможет быстрее находить ответы на вопросы по настройке, без необходимости искать в справке вручную.

Важно понимать, что MCP – это дополнительная надстройка для удобства. Она не обязательна для успеха интеграции, но для тех, кто уже использует AI-инструменты в работе, связка Cursor + MCP может существенно ускорить процесс.

В конечном счёте, интеграция MCP с Cursor – это хороший способ повысить эффективность. При этом, она не заменяет ручную настройку (для этого всё ещё нужны токены и понимание шагов), но дополняет её. Как отмечают эксперты, сочетание структурированного контекста MCP с мощным AI-редактором Cursor даёт разработчикам и тестировщикам более интуитивный и быстрый опыт работы. В целях автоматизации рутинных аспектов настройки CI/CD и интеграций, стоит присмотреться к этим новым возможностям.


📌 Читайте также ​

Возможности MCP-сервера - Рассматриваем сценарии использования, архитектуру и преимущества для разработчиков и тестировщиков.

Подключение Cursor IDE к GitHub MCP ​

Установка связей между GitHub и MCP‑сервером ​

Простой способ: через команду NPX ​

В данном случае необязательно клонировать репозиторий, можно запустить готовый сервер через npx (Node автоматически загружает пакет):

bash
npx -y @modelcontextprotocol/server-github stdio

Если в выводе появляется сообщение Server listening on stdio…, это означает, что MCP‑сервер готов к работе.

Почему это проще?

  • Не нужно git clone и npm install.

  • Пакет уже содержит package.json, prebuild‑скрипт и сборку.

  • -y автоматически отвечает «yes» на вопрос "Install package @modelcontextprotocol/server-github?".


Альтернативный вариант: клонировать и собрать вручную ​

При наличии исходных материалов:

bash
git clone https://github.com/modelcontextprotocol/servers.git mcp-servers
cd mcp-servers/github
npm install        # здесь уже есть package.json, в корневом каталоге его нет
node server.js stdio

Важно перейти в подпапку github с package.json, иначе npm install даст ошибку «ENOENT: no such file or directory, open package.json», как вы уже увидели.


Binary (Go) сборка ​

В репозитории GitHub MCP есть вариант на языке «Go». Если установлен Go версии 1.22 и выше:

bash
git clone https://github.com/github/github-mcp-server.git
cd github-mcp-server
go build -o github-mcp-server ./cmd/server
./github-mcp-server stdio

Однако вариант с npx гораздо быстрее.

Подключение MCP-сервера к Cursor IDE ​

  1. Генерируем или добавляем готовый PAT.

    • Если нужен новый токен, переходим в GitHub, где переходим в раздел *Settings → Developer settings → Personal access tokens.
    • Если fine‑grained токен с правами Actions + Issues уже готов — используем его.
    • Копируем токен в буфер или сохраняем в отдельном файле.
  2. Запустите MCP‑сервер в отдельном терминале (окно/вкладка):

    bash
    npx -y @modelcontextprotocol/server-github stdio

    Появится строка Server listening on stdio — сворачиваем терминал, он должен оставаться запущенным.

  3. Создаём файл конфигурации для Cursor (если такого нет):

    bash
    mkdir -p ~/.cursor
    nano ~/.cursor/mcp.json

    Вставляем в соответствующую строчку (заменяем токен):

    json
    {
      "mcp": {
        "servers": {
          "github": {
            "type": "stdio",
            "command": "npx",
            "args": ["-y", "@modelcontextprotocol/server-github", "stdio"],
            "env": {
              "GITHUB_PERSONAL_ACCESS_TOKEN": "<Актуальный_PAT>"
            }
          }
        }
      }
    }

    type: "stdio" говорит Cursor, что сервер общается через stdin/stdout.\

    Если используется сборка на "GO", нужно прописать абсолютный путь.

  4. Перезапускаем Cursor IDE (закрываем/открываем окно программы).

    При старте Cursor находит ~/.cursor/mcp.json → поднимает указанный сервер (если он ещё не запущен, запустит сам).

  5. Проверяем, что инструменты появились.

    • Открываем Command Palette (Ctrl+Shift+P) → вводим MCP: List Tools.

    • Появляется минимум 5–6 GitHub‑методов (list_pull_requests, create_issue, …).

  6. Запускаем быстрый тест в чат‑панели Cursor:

   @assistant: list\_pull\_requests owner="<your_GIT_login>" repo="project-mcp-github-testops" state="open"

Если в ответ бот выводит JSON‑таблицу PR, значит MCP работает корректно.

Частые вопросы ​

СимптомЧто проверить
В командной панели нет MCP: команд1) Проверяем, что ~/.cursor/mcp.json валидный JSON (можно на jsonlint).
2) Перезапускаем Cursor после правки файла.
Server listening… но чат пишет Tool not foundТокен не имеет нужных прав → генерируем PAT с repo → contents:read и issues:write или (fine‑grained) Issues RW / Actions RW.
Выдаёт ошибку Error: connect ECONNREFUSEDСтартовал не stdio‑режим, а HTTP‐режим. Убеждаемся, что в args последний параметр — stdio.
PAT видно в логе терминала, это может быть небезопасноЗаводим отдельный пользовательский бот с минимальными правами, или запускаем сервер как systemd‑службу, логи которого уходят в journalctl (видно только root).

Теперь Cursor умеет вызывать GitHub через MCP — AI‑ассистент видит PR, Issue и может их создавать прямо из IDE.


Проверка всего цикла ​

  1. Открываем hello.test.js, заменяем текст «always passes» → «always fails»:

    js
    it('always fails', () => {
      expect(true).toBe(false);
    });
  2. Пушим изменения:

    bash
      git add . && git commit -m "ломаем тест" && git push
  3. Видим, что GitHub Actions упал (запуск станет красным). В логе отображается ссылка на отчёт ТестОпс, о том, что запуск не выполнен (Launch = Failed).

  4. В ТестОпс открываем «Запуски», находим упавший тест, справа Issues → Add → GitHub — создаём новую Issue.

  5. Переходим в GitHub → Issue создана; в чате с ассистентом Cursor вводим запрос «show last issue» — ассистент откроет описание.

Готово! Теперь код хранится в репозитории, CI работает, отчёты уходят в ТестОпс, issues связываются, AI‑ассистент видит репозиторий и может выполнять команды.

Управление запусками GitHub Actions через MCP ​

Этот метод позволяет быстро отменять все «висящие» или «красные» запуски рабочего процесса прямо из Cursor, не открывая сайт GitHub.

⚠️ Важно! Перед тем как управлять запусками через MCP, один раз убедитесь, что GitHub MCP‑сервер поддерживает необходимые инструменты (list_workflow_runs, cancel_workflow_run). Для этого:

  1. Открываем Командную панель (Command Palette) в Cursor IDE (Ctrl+Shift+P) и выполняем команду MCP: List Tools.

  2. В списке должны присутствовать методы:

    json
    "list_workflow_runs",
    "cancel_workflow_run"

    Если их нет — обновляем сервер командой:

    bash
    npm i -g @modelcontextprotocol/server-github@latest

    После обновления перезапустите сервер и Cursor.

После того как убедились, что инструменты доступны, для отмены зависших или неудачных запусков GitHub Actions просто выполните следующие действия:

  1. В чате Cursor запрашиваем список активных запусков:

    @assistant: list_workflow_runs owner="<your_GIT_login>" repo="<project_title>" status="in_progress"
  2. Для каждого нужного запуска выполните команду отмены:

    @assistant: cancel_workflow_run owner="<your_GIT_login>" repo="<project_title>" run_id=1234567890

⚠️ Важно! Следует проверить, что у PAT-токена есть необходимые права. В настройках доступа fine-grained токена обязательно должно быть указано "Actions: Read & Write".

Проверка через браузер ​

  1. Переходим во вкладку Actions. Здесь можно увидеть, что все «зависшие» прогоны меняют статус на Cancelled.

  2. Отправляем новый push (или workflow_dispatch) — в маркировке прогонов отображается зелёный кружок.

В результате можно не только запускать, но и останавливать workflow‑runs через MCP напрямую из Cursor, не покидая IDE. Это особенно удобно, если тест завис и CI простаивает.


Рекомендации по улучшению ​

  • Настройте интеграцию с Telegram через вебхуки, чтобы оперативно получать уведомления о статусе запусков тестов. Пошаговая инструкция доступна в этой статье.

  • Используйте Дашборды в ТестОпс для наглядного мониторинга и визуализации ключевых метрик тестирования. Подробнее о возможностях дашбордов читайте в документации.

  • Применяйте специальные теги, такие как smoke и regress, для маркировки тест-кейсов и удобной фильтрации результатов. Подробности о работе с тегами — в документации.


📢 Подпишитесь на наш телеграм-канал ​

Присоединяйтесь к нашему сообществу, чтобы получать уведомления о новых релизах, анонсы статей в блоге и советы по автоматизации тестирования и лайфхаки по работе с платформой.

🔗 Подписаться

Logo

Централизованное управление и визуализация процессов тестирования

Включен в реестр ПО

Запись №15797 от 05.12.2022

О продукте
  • Тарифы
  • Поддержка
  • Документация
Компания
  • Блог
  • События
  • Вакансии
  • Контакты
  • Партнерам
Юридические документы
Пользовательское соглашениеПолитика конфиденциальностиОбработка персональных данных
ООО «Инструменты тестирования»
195027 Санкт-Петербург,
Свердловская набережная 44Ю, БЦ Зима

© 2025 Все права защищены. Сайт принадлежит компании ООО «Инструменты тестирования»