bugAgent

официальный

Подключите bugAgent к любому MCP-совместимому AI-клиенту. Создавайте, классифицируйте и управляйте багами, запросами функций и другими задачами прямо из вашего AI-ассистента для кода. Никакого переключения контекста, никакого копирования — просто опишите проблему, и bugAgent сделает всё остальное.

Что можно делать с bugAgent MCP?

Опишите ошибку простым английским языком, и bugAgent оформит её, классифицирует и возьмёт под управление.

  • Оформление и авто-классификация ошибок — Попросите ассистента оформить ошибку или запрос на новую функцию на естественном языке; create_bug_report автоматически классифицирует её по 19 типам.
  • Список и фильтрация отчётов — Запросите недавние или критические ошибки в проекте; list_bug_reports фильтрует по проекту, серьёзности, статусу и другим параметрам.
  • Взятие в работу и обработка очереди — Пусть агент выберет следующую приоритетную ошибку с помощью pick_next_bug и атомарно закрепит её за собой через claim_bug.
  • Запуск проверок безопасности — Запустите сканирование уязвимостей по URL с помощью run_security_scan и просмотрите результаты через get_security_results.
  • Генерация заметок для разработчиков — Запросите сгенерированные ИИ корневую причину и предлагаемое исправление через push_to_claude для любого отчёта об ошибке.

Документация

MCP v1

Навигация

Model Context Protocol

MCP

Подключите bug_Agent_ к любому MCP-совместимому ИИ-клиенту.

Создавайте, классифицируйте и управляйте багами, запросами функций и многим другим прямо из вашего ИИ-ассистента для кодинга. Никаких переключений контекста, никакого копирования и вставки — просто опишите проблему, а bug_Agent_ сделает всё остальное.

Discord Community support@bugagent.com

Начало работы

MCP-сервер bug_Agent_ позволяет ИИ-клиентам создавать, запрашивать и управлять отчётами об ошибках, запросами функций, улучшениями и другим через протокол Model Context Protocol. Он работает локально и взаимодействует с облачным API bug_Agent_.

1

Получите ваш API-ключ

Создайте бесплатную учётную запись; новые владельцы рабочих пространств сразу переходят к настройке API-ключа. Возвращающиеся пользователи могут создать ключ в разделе Настройки → Разработчикам → API-ключи.

2

Настройте ваш ИИ-клиент

Добавьте bug_Agent_ как MCP-сервер в конфигурацию вашего клиента (см. инструкцию ниже).

3

Начните создавать баги

Опишите ошибку на естественном языке, и bug_Agent_ автоматически классифицирует, обогатит и сохранит её.

Быстрый пример

# Create a bug report
"File a bug: Login button is unresponsive on iOS Safari.
Steps: tap login, nothing happens. Expected: navigate to
dashboard. Severity: high."

# bugAgent auto-classifies as UI bug, severity high

# File a feature request
"Feature request: Add dark mode toggle to the
settings page. Users have asked for this in surveys."

# Auto-classified as feature-request, severity medium

Настройка

Установка

Глобальная установка не требуется. Используйте npx для запуска MCP-сервера по требованию:

npx @bugagent/mcp-server

Настройка вашего API-ключа

При первом подключении bug_Agent_ запросит ваш API-ключ. Вы также можете задать его через переменную окружения:

export BUGAGENT_API_KEY=ba_live_your_key_here

Получите API-ключ в консоли bug_Agent_.

Конфигурация MCP-клиента

Добавьте следующее в файл конфигурации вашего MCP-клиента:

mcp.json

{
  "mcpServers": {
    "bugagent": {
      "command": "npx",
      "args": ["-y", "@bugagent/mcp-server"],
      "env": {
        "BUGAGENT_API_KEY": "ba_live_your_key_here"
      }
    }
  }
}

💡

Замените ba_live_your_key_here на ваш настоящий API-ключ из консоли.

Подключение к серверу

MCP-сервер bug_Agent_ доступен по адресу https://mcp.bugagent.com/mcp через транспортировку Streamable HTTP. Подключитесь от любого из восьми клиентов ниже — выберите тот, который подходит для вашего рабочего процесса.

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

🔑

Сначала получите ваш API-ключ. Войдите в Настройки → Разработчикам, нажмите Создать API-ключ и скопируйте значение (начинается с ba_live_). Вы увидите его только один раз, поэтому сохраните его в надёжном месте. В каждом примере ниже используется этот ключ.

Вариант 1 — MCP Inspector (веб-интерфейс, рекомендуется для первого тестирования)

Официальный инструмент Anthropic. Запускает локальный веб-интерфейс, где вы можете взаимодействовать с каждым инструментом, заполнять параметры и видеть ответы. Ноль конфигурации, IDE не требуется.

macOS (Терминал)

Терминал

npx @modelcontextprotocol/inspector

Windows (PowerShell или CMD)

PowerShell

В открывшемся браузерном интерфейсе:

  1. Тип транспорта: выберите Streamable HTTP
  2. URL: https://mcp.bugagent.com/mcp
  3. Тип соединения: выберите Proxy (по умолчанию — Inspector проксирует через локальный Node-процесс, чтобы обойти CORS браузера)
  4. Перейдите на вкладку Authentication и добавьте пользовательский заголовок:
    • Имя заголовка: Authorization
    • Значение: Bearer ba_live_YOUR_KEY_HERE
  5. Нажмите Connect. Вы увидите все 110+ инструментов bug_Agent_ на левой панели.
  6. Нажмите на любой инструмент (например, list_bug_reports), заполните параметры и нажмите Run Tool. Ответ появится справа.

Необходимые предпосылки: Node.js 18 или новее. Установите с nodejs.org, если у вас его нет.

Вариант 2 — Claude Desktop (Mac + Windows)

Если вы пользуетесь приложением Claude Desktop, вы можете добавить bug_Agent_ как постоянный MCP-сервер. Тогда все инструменты bug_Agent_ будут доступны в каждом разговоре.

macOS

  1. Откройте Claude Desktop → в строке меню выберите Claude → Настройки → Разработчик → Изменить конфигурацию. Откроется ~/Library/Application Support/Claude/claude_desktop_config.json.
  2. Добавьте запись bug_Agent_ в раздел mcpServers: claude_desktop_config.json
{  
  "mcpServers": {  
    "bugagent": {  
      "type": "http",  
      "url": "https://mcp.bugagent.com/mcp",  
      "headers": {  
        "Authorization": "Bearer ba_live_YOUR_KEY_HERE"  
      }  
    }  
  }  
}  
  1. Сохраните файл и полностью завершите работу Claude Desktop (Cmd+Q, не просто закройте окно).
  2. Перезапустите Claude Desktop. Иконка молотка инструментов внизу поля ввода чата должна теперь показывать инструменты bug_Agent_.
  3. Попробуйте: введите "Список моих 5 последних отчётов об ошибках" — Claude автоматически вызовет list_bug_reports.

Windows

  1. Откройте Claude Desktop → Файл → Настройки → Разработчик → Изменить конфигурацию. Откроется %APPDATA%\Claude\claude_desktop_config.json (обычно C:\Users\YourName\AppData\Roaming\Claude\claude_desktop_config.json).
  2. Добавьте тот же JSON-блок, что показан в разделе macOS.
  3. Сохраните файл и полностью завершите работу Claude Desktop из системного трея (правый клик по иконке Claude → Выход), затем перезапустите.
  4. Иконка молотка инструментов покажет инструменты bug_Agent_.

Вариант 3 — Claude Code (CLI)

Если вы используете Claude Code из терминала (CLI-версия Claude), зарегистрируйте сервер bug_Agent_ одной командой. Работает одинаково на macOS, Linux и Windows.

Терминал / PowerShell

claude mcp add --transport http bugagent https://mcp.bugagent.com/mcp \
  --header "Authorization: Bearer ba_live_YOUR_KEY_HERE"

Затем перезапустите сеанс Claude Code. Проверьте подключение:

claude mcp list

Вы должны увидеть bugagent в списке с зелёной точкой. Начните использовать инструменты в любом чате: "Покажи моё использование exploration за этот месяц."

Чтобы удалить позже:

claude mcp remove bugagent

Вариант 4 — OpenAI Codex CLI

Если вы используете OpenAI Codex CLI, добавьте bug_Agent_ в ~/.codex/config.toml для постоянной регистрации или передайте конфигурацию встроенно для разового сеанса.

Постоянная регистрация (добавление в конфигурацию)

~/.codex/config.toml

[[mcp_servers]]
name = "bugagent"
type = "http"
url  = "https://mcp.bugagent.com/mcp"

[mcp_servers.headers]
Authorization = "Bearer ba_live_YOUR_KEY_HERE"

Встроенно — один сеанс

Терминал

codex \
  --mcp-server '{"name":"bugagent","type":"http","url":"https://mcp.bugagent.com/mcp","headers":{"Authorization":"Bearer ba_live_YOUR_KEY_HERE"}}' \
  "list the last 5 bug reports"

Codex автоматически разрешает вызовы инструментов из вашего запроса на естественном языке. Попробуйте: "Список моих открытых ошибок, отсортированных по серьёзности."

Вариант 5 — Cursor (Mac + Windows)

Cursor имеет встроенную поддержку MCP. Добавьте bug_Agent_ один раз, и ИИ-ассистент внутри Cursor сможет создавать ошибки, просматривать отчёты, запускать сканирование и т.д., не покидая редактора.

  1. Откройте Cursor → Настройки (Cmd+, на Mac / Ctrl+, на Windows) → MCP на левой боковой панели.
  2. Нажмите + Добавить новый MCP-сервер.
  3. Выберите тип транспорта HTTP.
  4. Заполните:
    • Имя: bugagent
    • URL: https://mcp.bugagent.com/mcp
    • Имя заголовка: Authorization
    • Значение заголовка: Bearer ba_live_YOUR_KEY_HERE
  5. Нажмите Сохранить. Cursor покажет зелёный индикатор при подключении.
  6. Откройте чат Cursor (Cmd+L / Ctrl+L) и введите "Создать отчёт об ошибке с названием «Login broken» и серьёзностью high." Cursor вызовет create_bug_report.

Альтернатива: Cursor также читает ~/.cursor/mcp.json (Mac) или %USERPROFILE%\.cursor\mcp.json (Windows). Добавьте тот же формат JSON, что показан в разделе Claude Desktop.

Вариант 6 — VS Code с расширением Continue (Mac + Windows)

Если вы предпочитаете VS Code, расширение Continue поддерживает MCP-серверы нативно.

  1. Установите расширение Continue из маркетплейса VS Code.
  2. Откройте конфигурацию Continue: Палитра команд (Cmd+Shift+P / Ctrl+Shift+P) → Continue: Открыть config.json. Файл находится в:
    • macOS: ~/.continue/config.json
    • Windows: %USERPROFILE%\.continue\config.json
  3. Добавьте запись mcpServers: ~/.continue/config.json
{  
  "mcpServers": [  
    {  
      "name": "bugagent",  
      "type": "streamable-http",  
      "url": "https://mcp.bugagent.com/mcp",  
      "requestOptions": {  
        "headers": {  
          "Authorization": "Bearer ba_live_YOUR_KEY_HERE"  
        }  
      }  
    }  
  ]  
}  
  1. Сохраните. Continue автоматически перезагрузится и покажет инструменты bug_Agent_ на боковой панели.
  2. Откройте панель чата Continue и попробуйте: "Список моих сканирований безопасности."

Другие расширения VS Code с поддержкой MCP: Cline, Roo Code и Windsurf (форк) следуют аналогичным шаблонам JSON-конфигурации с ключом mcpServers и HTTP-транспортом.

Вариант 7 — Хосты с поддержкой OAuth (в качестве примера показан Claude.ai web)

Некоторые MCP-хосты аутентифицируются через OAuth 2.0 и запрашивают статический client_id и client_secret заранее, вместо принятия bearer API-ключа. Для таких хостов вы генерируете пару учётных данных OAuth с ограничением на рабочее пространство в панели управления bug_Agent_ и вставляете её в форму коннектора хоста. Эти учётные данные не зависят от MCP-хоста — любой OAuth-клиент, поддерживающий Authorization Code + PKCE, может их использовать. Ниже приведена пошаговая инструкция с использованием веб-приложения Claude.ai как наиболее распространённого примера.

  1. В bug_Agent_: откройте Настройки → Разработчикам → MCP-коннекторы. Нажмите Создать коннектор, дайте ему имя, описывающее хост (например, "Claude.ai (рабочий)"), вставьте URI перенаправления, который требует ваш MCP-хост (для веб-приложения Claude.ai это https://claude.ai/api/mcp/auth_callback — для других хостов смотрите документацию коннектора), и выберите Confidential для метода аутентификации. Скопируйте client_id и client_secret, показанные один раз на экране успеха.
  2. В настройках коннектора / OAuth вашего MCP-хоста вставьте:
    • URL сервера: https://mcp.bugagent.com/mcp
    • Client ID + Client Secret: из шага 1
    • URL авторизации: https://mcp.bugagent.com/authorize
    • URL токена: https://mcp.bugagent.com/token Для Claude.ai конкретно: перейдите на claude.ai/customize/connectors и нажмите Добавить MCP-коннектор.
  3. Сохраните. Хост перенаправит вас на bug_Agent_ для входа (Google или email/пароль — любой метод, который вы используете для панели управления) и одобрения согласия, затем завершит рукопожатие OAuth.
  4. Управляйте и отзывайте созданные коннекторы на той же странице настроек. Отзыв мгновенный — следующий запрос от этого коннектора вернёт invalid_client.

Примечание: Claude Code, Cursor, VS Code и MCP Inspector не требуют этого процесса — они автоматически обрабатывают динамическую регистрацию клиента (RFC 7591) и аутентифицируются через API-ключ, как показано выше. Форма MCP-коннекторов предназначена только для хостов, требующих статические учётные данные OAuth.

Вариант 8 — Прямой HTTP с curl (Терминал)

Если вы хотите протестировать сервер напрямую, без клиента, или интегрировать его в скрипт, вы можете обратиться к HTTP-эндпоинту с помощью curl. Протокол MCP — это JSON-RPC 2.0 поверх Streamable HTTP.

macOS / Linux

Терминал

# Set your API key as a variable
export BUGAGENT_API_KEY="ba_live_YOUR_KEY_HERE"

# 1. List all available tools
curl -N -s https://mcp.bugagent.com/mcp \
  -H "Authorization: Bearer $BUGAGENT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

# 2. Call a tool — list 5 reports from a specific project
curl -N -s https://mcp.bugagent.com/mcp \
  -H "Authorization: Bearer $BUGAGENT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc":"2.0",
    "id":2,
    "method":"tools/call",
    "params":{
      "name":"list_bug_reports",
      "arguments":{"project":"bugagent","limit":5}
    }
  }'

Windows (PowerShell)

PowerShell

# Set your API key
$env:BUGAGENT_API_KEY = "ba_live_YOUR_KEY_HERE"

# Use Invoke-RestMethod (PowerShell's curl equivalent)
$headers = @{
  "Authorization" = "Bearer $env:BUGAGENT_API_KEY"
  "Content-Type" = "application/json"
  "Accept" = "application/json, text/event-stream"
}

# 1. List all tools
$body = '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Invoke-RestMethod -Uri "https://mcp.bugagent.com/mcp" `
  -Method Post -Headers $headers -Body $body

# 2. Call list_bug_reports for a specific project
$body = @{
  jsonrpc = "2.0"
  id = 2
  method = "tools/call"
  params = @{
    name = "list_bug_reports"
    arguments = @{ project = "bugagent"; limit = 5 }
  }
} | ConvertTo-Json -Depth 5

Invoke-RestMethod -Uri "https://mcp.bugagent.com/mcp" `
  -Method Post -Headers $headers -Body $body

Ответы приходят как Server-Sent Events (стандарт MCP Streamable HTTP). Каждый фрагмент — строка с префиксом data: и JSON-объектом. Заголовок Accept: application/json, text/event-stream обязателен — сервер отклоняет запросы без него.

ℹ️

Устранение ошибки 401 Unauthorized: Проверьте, что ваш API-ключ не был отозван в Настройках → Разработчикам. Ключи начинаются с ba_live_. Если проблема не решена, сгенерируйте новый ключ и повторите попытку.

Попробуйте — подсказки на простом английском

После подключения вам не нужно знать названия инструментов или параметров. Опишите, что вы хотите, на простом английском, и ваш ИИ-ассистент автоматически вызовет нужный инструмент bug_Agent_.

Отчёты об ошибках

Спросите своего ИИ-ассистента

List my 5 most recent bug reports
Show all open critical bugs in the Auth project
Create a bug titled "Login broken on Safari" with severity s2
Update TEST-451 status to in-progress and assign it to me
Add a comment to TEST-451: "root cause confirmed — null check missing in auth middleware"
Show me everything filed this week, grouped by severity

Управление тестированием

Create a test suite called "Smoke Tests" with cases for login, checkout, and account settings
Run the Regression suite and list all failures
Use Hermes to execute the curated "Checkout smoke" suite and report every result to bugAgent
Show failing test cases from the last 7 days
Which test cases have never been run in the past 90 days?
Get a pass-rate trend for this month vs last month

Безопасность и производительность

Run a security scan on https://app.example.com
Get this month's security scan results — show only high and critical findings
Create a performance test for the landing page and check Lighthouse scores
What are the Core Web Vitals for our checkout flow?

Автоматизация Playwright

Create a Playwright script that logs in and verifies the dashboard loads
Run the checkout automation on iPhone 15 Pro on a real device
Optimize the login automation script
Show runs for the checkout automation — any failures?
Schedule the smoke test suite to run every weekday at 6 AM UTC

Исследовательский ИИ

Run an exploratory AI session on https://app.example.com with 5 parallel agents
Get the latest exploration run results — list any bugs that were filed
What testing strategies did the agents use and which found the most issues?

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

Check my plan usage for this month
Show team bug stats for this week broken down by severity and type
List all team members and their roles
How many security scans do I have left this month?

Краткий справочник

Местоположения конфигурационных файлов для всех восьми клиентов. Каждый клиент подключается к https://mcp.bugagent.com/mcp с заголовком Authorization: Bearer ba_live_YOUR_KEY_HERE через Streamable HTTP.

Клиент Местоположение конфигурации / команда

MCP Inspector Нет файла — введите URL и заголовок аутентификации в браузерном интерфейсе после npx @modelcontextprotocol/inspector

Claude Desktop — macOS ~/Library/Application Support/Claude/claude_desktop_config.json

Claude Desktop — Windows %APPDATA%\Claude\claude_desktop_config.json

Claude Code (CLI) claude mcp add --transport http bugagent https://mcp.bugagent.com/mcp --header "Authorization: Bearer ba_live_..."

Codex CLI ~/.codex/config.toml

Cursor — macOS Настройки → интерфейс MCP или ~/.cursor/mcp.json

Cursor — Windows %USERPROFILE%\.cursor\mcp.json

VS Code + Continue ~/.continue/config.json (macOS) / %USERPROFILE%\.continue\config.json (Windows)

Прямой HTTP (curl) curl / Invoke-RestMethod — включайте Accept: application/json, text/event-stream

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

Симптом Исправление

401 Unauthorized Ключ неверный, истёк или отозван. Проверьте Настройки → Разработчикам — ключи начинаются с ba_live_. При необходимости перегенерируйте.

Инструменты не отображаются в клиенте Полностью завершите и перезапустите клиент после редактирования конфигурации. В Claude Desktop — Cmd+Q (не просто закройте окно). В Cursor — проверьте Настройки → MCP на наличие зелёной точки.

Accept header required Прямые HTTP-вызовы должны включать Accept: application/json, text/event-stream — это требует спецификация Streamable HTTP. Сервер вернёт 406 без этого.

Данные не того рабочего пространства Каждый API-ключ привязан к одному рабочему пространству. Создайте новый ключ из того рабочего пространства, к которому вы хотите обращаться, в Настройках → Разработчикам.

Инструменты появляются, но вызовы молча завершаются с ошибкой Убедитесь, что сервер доступен: curl -I https://mcp.bugagent.com/health должен возвращать 200. Если происходит тайм-аут, проверьте правила сети/брандмауэра.

MCP Inspector — ошибка CORS Выберите Proxy (не Direct) для типа соединения в интерфейсе Inspector. Inspector проксирует через локальный Node-процесс, чтобы обойти ограничения CORS браузера.

Codex CLI — инструменты не распознаются Проверьте, что ~/.codex/config.toml использует [[mcp_servers]] (двойные квадратные скобки, синтаксис массива). Проверьте, что версия Codex CLI достаточно новая для поддержки MCP (codex --version).

MCP Features

Сервер MCP bug_Agent_ предоставляет инструменты для:

🐛

Управление отчётами об ошибках

  • create_bug_report — Подать новый отчёт с автоматической классификацией по 19 типам — ошибки, запросы функций, улучшения, технический долг и многое другое (заголовок: 3–500 символов). Необязательный массив attachments принимает файлы в кодировке base64 размером до 400 МБ каждый: любые изображения, видео, аудио, PDF или текст/JSON. Установите format_description: true, чтобы автоматически переформатировать описание в структурированный шаблон с помощью ИИ. Передайте time_spent_seconds для отслеживания трудозатрат QA. Передайте priority (urgent / high / normal / low), чтобы задать срочность исправления независимо от критичности. Передайте is_epic: true для создания эпика или parent_epic_id (UUID/короткий ID) для создания дочернего элемента в том же авторизованном проекте. Ответ включает поля иерархии, а также project_id, project, short_id, legacy_short_id и project_short_id.
  • list_bug_reports — Просмотр и фильтрация отчётов (максимум 100 на странице). Фильтры по проекту применяются на стороне сервера перед пагинацией. Фильтрация по project (UUID, слаг, точное название или префикс тикета), project_id, project_slug, project_prefix, workspace (UUID, точное название или префикс тикета рабочего пространства), workspace_id/team_id, is_epic, type, severity, status, resolution, root_cause или reporter_user_id. Каждый результат включает идентификаторы людей/проектов в пределах тенанта, а также is_epic, parent_epic_id, parent_epic и ограниченный epic_progress. Инструменты чтения отчётов не раскрывают адреса электронной почты участников.
  • pick_next_bug — Возвращает следующую(ие) ошибку(и), над которыми должен работать цикл агента, в порядке приоритета (S1 → S2 → S3, самые старые первыми в каждой группе). Автоматически ограничено вашим рабочим пространством — возвращает тикеты по всем проектам вашей команды с status new, awaiting-triage или confirmed и критичностью S1–S3. Только чтение — не резервирует тикеты атомарно. Необязательный severity (один уровень), limit (1–50, по умолчанию 1). Возвращает строки в том же формате, что и list_bug_reports, для совместимости инструментов. Используйте вместе с claim_bug для паттерна «чтение-затем-резервирование».
  • claim_bug — Атомарный переход ошибки из status new, awaiting-triage или confirmed в status='in-progress', устанавливает assigned_to на вызывающего пользователя и проставляет claimed_at=NOW(). Без гонок при параллельных вызовах благодаря шаблону UPDATE-WHERE-RETURNING в Postgres — если два агента вызовут claim_bug для одного и того же идентификатора почти одновременно, ровно один получит claimed:true с телом ошибки, а другой — claimed:false со строкой причины. Успешные ответы включают reporter_user_id, reporter_name, assigned_to и assignee_name. Планировщик pg_cron освобождает устаревшие резервирования (статус=in-progress + claimed_at старше 30 минут) обратно в new автоматически, поэтому тикеты упавшего агента возвращаются в очередь без ручного вмешательства. Входные данные: id (UUID или короткий ID).
  • get_bug_report — Получить полные сведения об отчёте по UUID или короткому ID рабочего пространства/проекта. Возвращает стандартные поля людей/проекта/качества, а также is_epic, идентификатор родителя, агрегированный прогресс и ограниченную первую страницу дочерних элементов для эпиков.
  • list_epic_children — Постраничный просмотр дочерних отчётов эпика с id, limit (1–100) и offset. Возвращает children, total, has_more и агрегированный через SQL epic_progress без загрузки всех дочерних отчётов.
  • update_bug_report — Обновление стандартных полей отчёта, а также is_epic и parent_epic_id. Передайте parent_epic_id: null, чтобы отсоединить; смена родителя/отсоединение атомарны и требуют авторизации в том же рабочем пространстве и проекте. Повышение до эпика отсоединяет существующего родителя, при этом эпик с дочерними элементами не может быть понижен. Существующие правила уведомлений о статусе/резолюции/первопричине и назначении продолжат действовать.
  • add_comment — Добавить комментарий к отчёту об ошибке (UUID или короткий ID, тело 1–10000 символов). Если отчёт синхронизирован с Jira, комментарий автоматически отправляется в связанный тикет Jira.
  • list_comments — Просмотр всей ветки комментариев отчёта, от старых к новым — каждый комментарий с именем автора, parentId (ответы в виде ветки) и временными метками. Комментарии не входят в get_bug_report, поэтому так читается обсуждение тикета. Принимает UUID или короткий ID.
  • link_bug_reports — Создание направленной семантической связи между двумя отчётами в одном авторизованном проекте. Для parent-of исходный отчёт должен быть эпиком, а целевой — стандартным дочерним элементом. При создании/обновлении эпика предпочтительно использовать parent_epic_id.
  • unlink_bug_reports — Удаление ранее созданной связи между отчётами об ошибках по её UUID (link_id, возвращается через link_bug_reports или list_bug_report_links).
  • list_bug_report_links — Просмотр всех связей, вручную созданных пользователями и затрагивающих отчёт об ошибке. Возвращает каждую связь так, как она читается с точки зрения указанного отчёта — например, сохранённая строка duplicate-of, где этот отчёт является целью, отображается как duplicated-by; parent-of, где этот отчёт является целью, отображается как subtask-of; depends-on, где этот отчёт является целью, отображается как blocks; testing-blocked-by, где этот отчёт является целью, отображается как blocks-testing. Связь related-to симметрична. Дополняет автоматически определяемое поле similar_reports, возвращаемое через get_bug_report.
  • classify_bug — Классификация описания по одному из 19 типов отчётов (ошибки, функции, улучшения и т. д.) с оценкой уверенности
  • flush_reports — Массовое удаление старых отчётов (только для администраторов)

📊

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

  • get_usage — Проверка использования относительно лимитов тарифа. Вызывающим по API-ключу требуется usage:read.
  • get_stats — Ежедневные счётчики, разбивка по типам/критичности/статусу

📁

Управление проектами

  • list_projects — Список доступных проектов с id, name, slug, ticket_prefix, описанием и статусом по умолчанию. Используйте эти значения с create_bug_report и list_bug_reports, чтобы выбрать правильный проект.
  • create_project — Создание нового проекта (автоматически становится проектом по умолчанию, если он первый)
  • delete_project — Полное удаление проекта и всех связанных данных (отчёты об ошибках, автоматизации, тестовые примеры, мобильные приложения, расписания, гео-снимки, заметки, записи времени). Только владелец/менеджер. Нельзя удалить последний проект. Память освобождается автоматически
  • export_okf_bundle — Экспорт QA-знаний проекта — отчётов об ошибках, тестовых примеров, автоматизаций, а также тестов производительности, безопасности и исследовательских тестов — в виде markdown-пакета OKF/OQA (формат Open Query Agent, используемый oqa.ai). По умолчанию экспортируется активный проект; передайте необязательный project (слаг или название), чтобы экспортировать другой. Возвращает список файлов в пакете, а также сам пакет в виде ZIP-архива в кодировке base64

🔐

Аутентификация и учётная запись

  • register_account — Создание новой учётной записи (пароль: 8–128 символов, ограничение скорости: 5/15 мин)
  • login — Вход в систему и получение токенов доступа (ограничение скорости: 5/15 мин)
  • update_profile — Обновление отображаемого имени
  • change_password — Смена пароля учётной записи
  • get_settings / update_settings — Управление настройками

🔑

Управление API-ключами

  • generate_api_key — Создание именованного API-ключа
  • list_api_keys — Список активных ключей (только префикс)
  • regenerate_api_key — Отзыв и замена ключа
  • delete_api_key — Полный отзыв ключа

👥

Управление командой

  • list_team_members — Список всех участников вашего рабочего пространства с ролями, статусом и флагами бустера
  • invite_team_member — Приглашение пользователя по электронной почте (менеджеры могут приглашать участников и менеджеров; только владельцы могут приглашать администраторов). Ссылка действительна 5 дней

🎯

Интеграции

  • sync_to_jira — Синхронизация отчёта с Jira через общее подключение команды
  • push_to_claude — Генерация (или повторная генерация) Developer Notes для отчёта об ошибке — первопричина, предлагаемое исправление, шаги проверки и оценка рисков. Принимает UUID или короткий ID (WRKID-545). Использует ключи платформы — отдельное подключение Claude для команды не требуется. Выполняет адаптивную цепочку: три шага для ошибок s3/medium или s4/low (черновик Sonnet → критика OpenAI gpt-5 → синтез Sonnet), пять шагов для двух верхних уровней критичности — s1/critical или s2/high — (черновик → критика → опровержение Sonnet → арбитр Claude Opus, который читает полный протокол и пишет итоговые заметки на основе независимого суждения). Ответ раскрывает каждый раунд: analysis, draft, critique, rebuttal, challenger_model, adjudicator_model и флаг debated. Любой сбой шага переходит к следующему наилучшему ответу. Автоматически срабатывает при создании ошибки; обычно вызывается только для ручной повторной генерации.
  • analyze_fix_area — Генерация (или повторная генерация) подблока «Likely Fix Area» (вероятная область исправления) в Developer Notes — узкий вывод Sonnet, указывающий, где в кодовой базе, скорее всего, находится исправление. Принимает UUID или короткий ID. Использует ключ Anthropic платформы. Если у команды есть строка github_connections, а у проекта сопоставлен github_repo, вывод опирается на реальные фрагменты файлов из подключённого репозитория; в противном случае используется общая рекомендация с подсказкой подключить репозиторий. Возвращает текст likely_fix_area, generated_at, repo_used и флаг grounded. Автоматически срабатывает при создании ошибки — агентам обычно нужно вызывать это только для ручной повторной генерации.
  • upgrade_plan — Получение ссылки на корпоративное включение с помощью продаж

Тестирование производительности

  • create_performance_test — Создание конфигурации теста производительности с URL, устройством, виртуальными пользователями, длительностью, пороговым значением оценки и переключателем автоматического создания ошибок. Только для Enterprise
  • run_performance_test — Запуск аудита страницы и нагрузочного теста для веб-теста производительности. Возвращает ID запуска для опроса результатов. Запуски профилирования мобильных приложений запускаются из панели управления
  • get_performance_results — Получение полных результатов, включая оценки Lighthouse (Performance, Accessibility, Best Practices, SEO), Core Web Vitals (LCP, FID, CLS, FCP, TTFB, INP, TBT, SI) и метрики нагрузочного теста (VU, запросы, RPS, задержки p50/p90/p95/p99)
  • list_performance_tests — Список всех конфигураций тестов производительности для текущей команды
  • get_performance_usage — Проверка ежемесячного использования тестов производительности. Тестирование производительности доступно только в Enterprise. Free=0, Enterprise=без ограничений

Пример рабочего процесса

  1. get_performance_usage → проверка оставшейся квоты
  2. create_performance_test → настройка теста для вашего URL
  3. run_performance_test → запуск аудита + нагрузочного теста
  4. get_performance_results → просмотр оценок и показателей

🛡

Сканирование безопасности

  • create_security_scan — Создать конфигурацию сканирования безопасности. Веб-сканирование использует Quick Scanner + Nuclei (более 4 000 шаблонов) с тремя уровнями глубины и опциональным аутентифицированным сканированием. Мобильное сканирование использует MobSF для анализа бинарных файлов APK/IPA. Настраиваемое автоматическое создание багов с порогами серьезности. Только для Enterprise.
  • run_security_scan — Запустить сканирование уязвимостей. Веб-сканирование требует проверки DNS-домена. Мобильное сканирование требует загруженного приложения. Возвращает ID запуска для опроса результатов.
  • get_security_results — Получить полные результаты, включая оценку безопасности (0-100), находки, классифицированные по серьезности (Critical, High, Medium, Low, Info) со ссылками CWE, сопоставлениями OWASP, доказательствами и рекомендациями по устранению.
  • list_security_scans — Перечислить все конфигурации сканирования безопасности для текущей команды с последней оценкой и значками аутентификации/глубины.
  • get_security_usage — Проверить ежемесячное использование сканирования безопасности. Сканирование безопасности доступно только в Enterprise. Enterprise=безлимитно.
  • list_security_schedules — Перечислить все запланированные сканирования безопасности для команды с cron, часовым поясом, состоянием включения, следующим запуском и настройками уведомлений. Объединяется с родительской конфигурацией сканирования (name, scan_type, target_url).
  • create_security_schedule — Создать повторяющееся расписание для сканирования безопасности. Требует scan_id и cron_expression. Одно расписание на конфигурацию сканирования. Опционально: timezone, notify_on_fail (none/email/slack/both), notify_email, slack_channel_id. Каждый запуск учитывается в вашем месячном лимите; администраторы обходят лимит. Глубина сканирования всегда считывается из конфигурации сканирования во время запуска.
  • delete_security_schedule — Удалить запланированное сканирование безопасности. Не влияет на родительскую конфигурацию сканирования или завершенные запуски.
  1. get_security_usage → проверить оставшуюся квоту
  2. create_security_scan → настроить сканирование для вашего URL или репозитория
  3. run_security_scan → запустить разовое сканирование уязвимостей
  4. create_security_schedule → автоматизировать повторяющиеся запуски (например, еженедельный SAST на основной ветке)
  5. get_security_results → просмотреть находки и рекомендации по устранению

📖

Ревью кода

  • list_code_reviews — Перечислить последние AI-ревью кода для команды. Возвращает оценки качества, количество серьезных проблем, информацию о PR и временные метки. Только для Enterprise.
  • get_code_review — Получить ревью кода со всеми находками. Каждая находка включает серьезность, категорию (bug/security/performance/style/logic/maintainability), заголовок, описание, предложение по коду, путь к файлу и номера строк.
  • get_code_review_usage — Проверить использование ревью кода. AI-ревью кода доступно только в Enterprise; безлимитно в Enterprise.
  • get_code_review_analytics — Получить аналитику ревью: тренды, категории/источники находок, разбивка по серьезности, метрики скорости, топ репозиториев/авторов. Поддерживает период 7/30/90 дней.
  1. get_code_review_usage → проверить оставшиеся ревью
  2. Ревью PR в дашборде на /dashboard/code-review
  3. list_code_reviews → посмотреть последние ревью
  4. get_code_review → получить находки и предложения

🔍

Исследовательский ИИ

Мультиагентный автономный поисковик багов на веб-сайтах с до 10 параллельными агентами, каждый использует свою стратегию тестирования.

  • list_explorations — Перечислить конфигурации Исследовательского ИИ для команды.
  • create_exploration — Создать новое исследование. Принимает agent_count (1–10, максимум 10) для запуска нескольких параллельных агентов с уникальными стратегиями: happy_path, edge_case, security, accessibility, error_path, performance, mobile, data_integrity, navigation, custom.
  • get_exploration — Получить конфигурацию исследования с настройками агентов, безопасными метаданными аутентификации и последними запусками. Пароли и шифротекст никогда не возвращаются.
  • get_exploration_run — Получить результаты запуска с прогрессом по каждому агенту, данными фаз, находками с указанием агента (agent_index, agent_strategy) и связанными багами.
  • get_exploration_usage — Проверить ежемесячное использование. Исследовательский ИИ доступен только в Enterprise; Enterprise: безлимитно (10 агентов).
  1. create_exploration с agent_count: 5 → настроить 5 параллельных агентов
  2. Запустить запуск из дашборда или через POST /api/explorations/run
  3. get_exploration_run → опрашивать прогресс и находки по каждому агенту
  4. Просматривать дедуплицированные находки с указанием агента в дашборде

📝

Заметки

  • list_notes — Перечислить заметки с опциональным поиском по ключевым словам, фильтром по проекту, фильтром по автору и диапазону дат. Возвращает заметки, принадлежащие пользователю, или общие заметки в команде.
  • create_note — Создать заметку в одном из 5 форматов: markdown, plain_text, rich_text, checklist, outline. Установите visibility в private или shared. Автоматический заголовок из первых 30 символов, если заголовок не указан. Опциональный массив attachments принимает файлы в base64 до 400 МБ каждый: любое изображение, видео, аудио, PDF или текст/JSON. Передайте time_spent_seconds для отслеживания усилий по QA.
  • get_note — Получить полные детали заметки, включая содержимое и вложения. Требует id.
  • update_note — Обновить заголовок, содержимое, формат, видимость, проект или time_spent_seconds. Передайте массив attachments для добавления новых файлов (макс. 400 МБ каждый) к существующим вложениям заметки без их замены. Только автор может обновлять. Требует id.
  • delete_note — Навсегда удалить заметку и её вложения. Только автор может удалить. Требует id.
  1. create_note → начать заметку о тестовой сессии
  2. update_note → добавлять наблюдения во время тестирования
  3. list_notes → искать прошлые заметки по ключевому слову или проекту
  4. get_note → получить полную заметку с вложениями

🤖

Автоматизация

  • create_automation — Создать новую автоматизацию с пользовательским скриптом Playwright (запись FAB не требуется). Требует name. Опционально: target_url (автоматически извлекается из первого URL page.goto(...) в скрипте, если опущено), script (Node.js/JavaScript/TypeScript или Python — язык определяется автоматически; по умолчанию — плейсхолдер), status (draft или active, по умолчанию: draft), project_id. Возвращает автоматизацию id. Требуется план Enterprise. Совет — Дублирование автоматизации: используйте get_automation для получения исходного скрипта, затем вызовите create_automation с name, установленным в "[Copy] Original Name", и передайте исходные script, target_url и project_id. Дубликат начинается со статусом draft без истории версий.
  • list_automations — Перечислить скрипты автоматизации Playwright. Фильтровать по project_id или status (draft, active, paused). Возвращает массив автоматизаций с name, target_url, last_run_status и run_count.
  • get_automation — Получить полные детали автоматизации, включая скрипт Playwright и последние запуски. Требует id. Возвращает автоматизацию с живым script, стеком script_versions (от старых к новым, до 100 предыдущих записей, каждая { script, source, timestamp }) и массивом recent_runs, где каждый запуск содержит script_version_label/script_version_source, которые выполнялись. Вызовите это перед run_automation, если нужно выбрать конкретную историческую версию.
  • run_automation — Запустить немедленный запуск теста Playwright. Требует automation_id. Самовосстанавливающиеся локаторы (автоматически): когда действие локатора истекает по таймауту, раннер запрашивает у Claude рабочий селектор и повторяет шаг один раз — утверждения никогда не восстанавливаются, поэтому реальные регрессии всё равно падают — и каждое восстановление логируется в stdout запуска. Виртуальный режим (по умолчанию): опциональный device для эмуляции вьюпорта (например, desktop, iphone-15). Живой режим: установите browserstack: true с bs_browser (chrome, firefox, safari, edge), bs_os (Windows, OS X) и bs_os_version для запуска на реальном десктопном браузере. Живой реальный мобильный: установите bs_os: "android" (устройства: "Samsung Galaxy S25 Ultra", "Google Pixel 10", "OnePlus 13R") или bs_os: "ios" (устройства: "iPhone 17 Pro Max", "iPhone 16 Pro Max", "iPhone 15 Pro Max") и передайте имя устройства в bs_os_version. Скрипты Node.js маршрутизируются через browserstack-node-sdk (покрывает десктоп + Android + iPhone). Скрипты Python маршрутизируются через browserstack-sdk (pytest-playwright) и покрывают только десктоп — реальный мобильный через Python не поддерживается, потому что browser_type.connect() pytest-playwright не может управлять реальными мобильными конечными точками BrowserStack. Видео и сетевые логи захватываются автоматически; консольные логи только для десктопа. Воспроизведение версии: передайте опциональный version_index (целое число, с нуля) для выполнения предыдущей записи из истории script_versions автоматизации. По умолчанию: когда version_index опущен или null, выполняется текущий живой скрипт — не передавайте значение-заглушку, чтобы "выбрать текущий". Значения вне диапазона, отрицательные или нецелые отклоняются. Запись запуска хранит точный снимок, который выполнялся, и любой отчет об ошибке, автоматически созданный из неудачного запуска, содержит глубокую ссылку на эту версию в редакторе.
  • list_automation_runs — Перечислить последние запуски для автоматизации. Требует automation_id. Возвращает запуски со статусом, duration_ms и error_message.
  • list_schedules — Перечислить все запланированные запуски веб-автоматизации с cron, часовым поясом, устройством и настройками уведомлений.
  • create_schedule — Создать запланированный запуск веб-автоматизации. Требует automation_id и cron_expression. Поддерживает устройство, часовой пояс, notify_on_fail (email/slack/both) и опции канала Slack. BrowserStack Live для запланированных запусков: передайте browserstack: true с bs_browser, bs_os и bs_os_version — та же матрица устройств, что и run_automation (Node = десктоп + реальный Android + реальный iPhone; Python = только десктоп).
  • delete_schedule — Удалить запланированный запуск веб-автоматизации.
  • list_mobile_schedules — Перечислить все запланированные запуски мобильной автоматизации с устройствами, cron, часовым поясом и уведомлениями.
  • create_mobile_schedule — Создать запланированный запуск мобильной автоматизации на реальных устройствах. Требует automation_id, cron_expression и массив devices.
  • delete_mobile_schedule — Удалить запланированный запуск мобильной автоматизации.
  • optimize_automation_script — Отправить скрипт Playwright в Sonnet 4 для оптимизации с помощью ИИ. Применяет чек-лист из 12 пунктов, который исправляет селекторы, стратегии ожидания, утверждения, обработку ошибок, паттерны аутентификации, мобильную совместимость и строгий режим. Требует automation_id. Текущая версия скрипта сохраняется перед оптимизацией. Возвращает оптимизированный скрипт и сводку изменений.
  • undo_automation_script — Откатить скрипт автоматизации к предыдущей версии. Сохраняется до 10 предыдущих версий. Требует automation_id. Возвращает восстановленный скрипт и количество оставшихся версий.
  1. create_automation → создать тест с пользовательским скриптом
  2. list_automations → просмотреть доступные тесты
  3. get_automation → изучить скрипт Playwright
  4. run_automation → запустить тест
  5. list_automation_runs → проверить результаты и длительность

⏱️

Учёт времени

  • list_time_entries — Перечислить записи времени для команды. Фильтровать по period (today, week, month, all), project_id, category и sort (newest, oldest, most_time, least_time). Только для плана Enterprise.
  • create_time_entry — Записать время, затраченное на задачи QA. Требует description, category и duration_minutes. Опционально установите project_id и entry_date (по умолчанию — сегодня). Только для плана Enterprise.
  • update_time_entry — Обновить существующую запись времени. Требует id. Можно обновить description, category, duration_minutes, project_id или entry_date. Только для плана Enterprise.
  • delete_time_entry — Навсегда удалить запись времени. Требует id. Только для плана Enterprise.
  1. create_time_entry → записать 45 минут регрессионного тестирования
  2. list_time_entries → просмотреть записи времени за эту неделю
  3. update_time_entry → изменить длительность или категорию
  4. delete_time_entry → удалить неверную запись

☑️

Тест-кейсы

Тестирование с иерархическими папками, вложенными наборами (до 3 уровней глубины с автоматическим разворачиванием под-наборов при запусках), перетаскиванием для изменения порядка, а также вкладкой аналитических отчётов с трендами KPI, анализом отказов, состоянием наборов, покрытием и продуктивностью тестировщиков. Все инструменты обращаются к Supabase напрямую — без HTTP-обхода, с той же задержкой, что и панель управления.

Бесплатные лимиты: 10 сохранённых тест-кейсов, 1 набор, 3 папки, 128 КБ структурированного содержимого на кейс, 2 активных ключа API рабочего пространства и 10 тестовых запусков всего за календарный месяц UTC. До 3 из этих запусков могут использовать Hermes или другого внешнего агента, с 1 активным внешним запуском и не более 10 кейсов в каждом внешнем плане. Бесплатный MCP-трафик по API-ключам ограничен 30 запросами на ключ и 60 на рабочее пространство в минуту. Корпоративное хранение тест-кейсов и запуски не ограничены, с учётом общих защитных мер платформы.

Генерация тест-кейсов с помощью ИИ, предложения тегов на основе ИИ, импорт из Figma и вложения файлов к тест-кейсам требуют Enterprise. Ограничение Free в 128 КБ структурированного содержимого не связано с корпоративными вложениями файлов. Free может хранить ссылки URL. Основные MCP-инструменты для тест-кейсов остаются доступными на Free в рамках указанных выше лимитов.

Выполнение без рук: страница проверки запуска — это карусель с одним видимым кейсом за раз, горячими клавишами (P Пройден · F Провален · B Заблокирован · S Пропущен) и голосовым управлением. Нажмите на микрофон, затем скажите «Пройден», «Провален», «Заблокирован», «Пропущен», «Далее», «Назад», «Добавить заметки» (расшифровывается в поле заметок), «Сохранить заметки» или «Выключить голос». Автоматически переходит к следующему непротестированному кейсу при успешном результате; остаётся на месте при провале, чтобы тестировщики могли продиктовать детали и создать баг. Работает в Chrome, Edge и Safari.

Кейсы и папки
  • list_test_cases — Список тест-кейсов с необязательными search, priority (critical, high, medium, low), type (functional, regression, smoke, integration, performance, security, usability, exploratory), status (active, draft, deprecated) и sort (newest, oldest, name, priority). Вызывающим через API-ключ требуется test_cases:read.
  • create_test_case — Создание тест-кейса. Два варианта шаблона: steps (по умолчанию) — сетка { action, expected } по шагам через массив steps; text — одно свободное описание через text_content. Оба поля можно отправить в одном вызове (платформа хранит их независимо, чтобы тестировщик, переключающий template_type позже, не потерял данные ни одной из сторон). Необязательный массив urls (максимум 10 URL http/https) прикрепляет ссылки-источники и доступен на Free. Требуется name. Необязательно: description, preconditions, template_type, steps, text_content, urls, priority, type, tags, estimated_time (секунды). Вложения файлов требуют Enterprise и загружаются через конечную точку POST /api/test-cases/:id/attachments панели управления (multipart) — пока не доступны как MCP-инструмент. Вызывающим через API-ключ требуется test_cases:write.
  • get_test_case — Получение полных сведений о тест-кейсе, включая шаги и историю выполнения.
  • list_test_case_folders — Список папок команды (одна папка на кейс через folder_id; отличается от наборов, которые представляют собой связи «многие ко многим» для группировки тест-планов). Ограничено 500; учитывает фильтры project_id и parent_folder_id (используйте "root" только для верхнего уровня).
  • create_test_case_folder — Создание папки (вложенность до 3 уровней через parent_folder_id). Используйте bulk_update_test_cases, чтобы переместить кейсы в неё. Вызывающим через API-ключ требуется test_cases:write.
  • bulk_update_test_cases — Применение одного действия к до 500 кейсам одновременно: set_priority, set_status, set_type, add_tags, remove_tags, add_to_suite, pin, unpin.
  • link_test_case_to_bug — Установление прослеживаемости между тест-кейсом и отчётом об ошибке (verified_by, covers или relates).
  • list_test_case_links — Список всех связей прослеживаемости для тест-кейса.
  • list_test_case_review_candidates — Флаги «мёртвых» тестов: never_run (90+ дней с момента создания), always_passes (5+ последовательных прохождений за 90 дней), always_skipped (3+ последовательных пропуска).
  • mark_test_case_review_flags — Сохранение текущих флагов кандидатов на архивацию в test_cases.review_flag. Запускается автоматически каждый понедельник в 09:00 UTC через pg_cron.
Импорт
  • Импорт из Figma (Enterprise) (интерфейс панели управления + REST): загрузите zip-экспорт фреймов Figma (до 100 МБ), Claude анализирует каждый экран и составляет тест-кейсы в выбранную вами или созданную папку. Многоэтапный конвейер (классификация → кейсы по экранам → кейсы уровня потоков для экранов с общим префиксом → самокритика) с кэшированием подсказок, повтором при ошибке 429 и изоляцией ошибок по фреймам, чтобы один повреждённый фрейм не привёл к сбою всего пакета. Кейсы попадают как status=active, с тегом ai_generated=true, при этом source='figma' и source_frame_name сохраняют ссылку на исходный фрейм. Используется ключ Anthropic платформы — отдельное подключение Claude для команды не требуется. Конечные точки: POST /api/test-cases/import/figma/request, POST /api/test-cases/import/figma/start, GET /api/test-cases/import/figma/:id.
Наборы и запуски
  • list_test_suites — Список тестовых наборов с идентификацией проекта, количеством кейсов и статусом последнего запуска. Вызывающим через API-ключ требуется test_runs:read.
  • create_test_suite — Создание набора. Вложенность до 3 уровней через parent_suite_id.
  • list_test_runs — Список тестовых запусков с именем набора, исполнителем и сводкой пройден/провален.
  • create_test_run — Создание запуска набора, управляемого панелью управления. Запуск родительского набора автоматически включает каждый кейс из каждого дочернего под-набора (кейс, связанный с обоими, добавляется ровно один раз). Каждая строка test_run_results записывает, из какого исходного под-набора пришёл кейс, чтобы страницы результатов могли группироваться по происхождению.
Выполнение внешним агентом

Эти инструменты позволяют Hermes или другой среде выполнения агента выполнить одобренный набор, не становясь системой учёта QA. Используйте ключ с областью рабочего пространства, имеющий только test_runs:read и test_runs:write. Набор задаёт границы проекта; вызывающие не могут их переопределить.

  • start_test_plan — Запуск или возобновление неизменяемого снимка набора со стабильным external_run_id. Повторный идентификатор возвращает существующий соответствующий запуск и первую страницу вместо создания дубликата.
  • get_test_run_plan — Чтение канонического состояния запуска и стабильной страницы плана. Передайте предыдущий next_cursor; страницы по умолчанию содержат 100 кейсов и ограничены 200.
  • report_test_results — Отправка 1–200 результатов со статусом passed, failed, blocked или skipped. Точные повторы безопасны; попытка перезаписать кейс другим статусом отклоняется.
  • abort_test_run — Идемпотентная остановка прерванного запуска с сохранением принятых частичных результатов и канонической сводки.

Поведение квоты: повторите start_test_plan с тем же external_run_id, чтобы возобновить соответствующий запуск без расходования ещё одного запуска. Удаление данных не сбрасывает ежемесячное использование запусков.

Граница среды выполнения: снимки кейсов исключают учётные данные, тела файлов и приватные пути вложений. Доказательства результатов — это текст в MVP. Целевые учётные данные остаются в среде выполнения. Затраты на браузер, модель и сеть остаются на стороне клиента, и клиенты должны ограничивать доступ к целям и исходящий сетевой трафик. Ответственность за решения об ошибках и релизах остаётся на человеке.

Руководство по агенту Hermes оформляет этот цикл как поддерживаемый bugAgent общественный навык. Публичный стартовый набор содержит готовый к копированию конфиг и устанавливаемый навык. Это не официальная интеграция Nous Research.

Отчёты (аналитика уровня 1 + уровня 4)
  • get_test_reports_overview — Ключевые KPI за окно (доля прохождений, завершённые запуски, выполненные кейсы) с дельтами по сравнению с предыдущим эквивалентным окном. Те же числа, что показывает полоса KPI на вкладке «Отчёты».
  • get_test_reports_failures — Четыре списка «что исправить?»: failing_cases (≥50% провалов, минимум 3 запуска), flaky_cases (наибольшее количество переключений пройден/провален), failing_suites (≥30% провалов, минимум 5 запусков), regressed_cases (самый последний провал с более ранним прохождением в окне).
  1. create_test_case_folder → создайте дерево папок (например, Smoke → Auth)
  2. create_test_case → определите кейсы; переместите их в папки с помощью bulk_update_test_cases
  3. create_test_suite → составьте тест-план (под-наборы необязательны, до 3 уровней глубины)
  4. create_test_run → создайте запуск, управляемый человеком/панелью управления, из родительского набора — под-наборы включаются автоматически
  5. start_test_plan → запустите или возобновите защищённый от повторов запуск внешнего агента
  6. get_test_run_plan → получите все неизменяемые страницы плана, затем выполните его в выбранной среде
  7. report_test_results → возвращайте ограниченные пакеты результатов; вызовите abort_test_run, если выполнение не может безопасно продолжаться
  8. get_test_reports_failures → спросите «что исправить на этой неделе?» после завершения запуска
  9. get_test_reports_overview → отслеживайте тренд доли прохождений неделя за неделей

Усиление команды

  • scale_team — Мгновенно масштабируйте свою команду QA с помощью бустерных тестировщиков. Учётные записи предоставляются автоматически с доступом тестировщика. Укажите team_size (1–10), location, duration, budget и, при необходимости, product_url, product_types и tech_levels. Доступно на тарифном плане Enterprise. Плата не взимается до получения одобрения.
  1. scale_team → предоставьте 5 старших тестировщиков в США на 1 месяц
  2. list_team_members → убедитесь, что новые тестировщики появились в вашей команде
  3. list_reports → просмотрите отчёты, поданные бустерными тестировщиками

📱

Мобильное тестирование (Enterprise)

Мобильные ресурсы ограничены областью проекта. Передайте project_id или гибкий селектор project при создании, импорте и фильтрованных списках. Автоматизации наследуют проект связанного приложения; в противном случае сервер использует проект по умолчанию рабочего пространства. Нефильтрованные списки могут по-прежнему содержать устаревшие строки уровня рабочего пространства, пока они не будут перенесены.

  • list_mobile_apps — Список загруженных приложений с необязательными фильтрами project_id/project, platform и limit. Возвращает project_id каждого приложения, чтобы агенты могли продолжать последующие операции в том же проекте.
  • upload_mobile_app — Регистрация приложения APK (Android) или IPA (iOS) для тестирования на реальных устройствах. Требуются name, platform (android/ios) и file_url; передайте project_id, чтобы назначить его активному проекту. Для iOS загрузите IPA для запусков на реальных устройствах, затем используйте панель управления для загрузки симуляторной сборки .app для записи.
  • update_mobile_app — Замена двоичного файла приложения новой версией. Очищает кэшированные URL-адреса и сборки для симулятора, чтобы все автоматизации использовали новую версию при следующем запуске. Требуются app_id и file_url. Необязательно: version. Если связанные автоматизации используют профили входа, вызывающий должен быть авторизован для каждого профиля или быть активным владельцем/администратором рабочей области; расписания наследуют значение по умолчанию защищённых автоматизаций.
  • list_mobile_automations — Список мобильных автоматизаций с необязательными фильтрами project_id/project, app_id, status и limit. Результаты включают project_id и связанный идентификатор приложения.
  • create_mobile_automation — Создание тестового скрипта. Требуются name, app_id, script_type (maestro для YAML, appium для Appium Python, appium_js для Appium JavaScript) и script; передайте project_id, если приложение ещё не привязано к проекту. Для одного внешне проверенного автономного YAML-потока Maestro установите execution_mode в browserstack_maestro; в противном случае по умолчанию используется appium_actions. YAML-значение appId должно совпадать с сохранённым пакетом приложения или идентификатором комплекта связанного приложения; если ничего не сохранено, первый проверенный нативный поток устанавливает его. Идентификаторы приложений-заглушек и обфусцированные идентификаторы ресурсов Android отклоняются. Встроенный runFlow поддерживается, но ссылки на внешние файлы потоков/скриптов отклоняются в v1. Нативный Maestro сохраняет такие команды, как inputRandomText и copyTextFrom, а также выражения времени выполнения, такие как ${maestro.copiedText} и ${output.value}. Профиль credential_id того же проекта может предоставлять полные значения inputText типа ${USERNAME}/${PASSWORD}. Профиль variable_profile_id того же проекта может сохранять значения по умолчанию для указанных значений ${DATA_*}; каждый указанный ключ должен существовать. Профили данных содержат только несекретные синтетические данные.
  • import_mobile_script — Импорт существующего мобильного тестового скрипта и превращение его в исполняемую автоматизацию с сохранением собственных локаторов разработчика, чтобы запуски точно определяли элементы. Поддерживаемые диалекты: Appium‑Python, WebdriverIO, Maestro (YAML-потоки) и Playwright (мобильный веб). Обфусцированные идентификаторы ресурсов Android пропускаются и сообщаются в сопоставлении селекторов warnings. Только для приложений Android. Требуются name, app_id и script; необязательные target_devices и project_id. Возвращает автоматизацию, а также action_count, обнаруженные dialect и сопоставление селекторов warnings.
  • run_mobile_automation — Запуск мобильной автоматизации на реальном устройстве. Требуется automation_id; необязательные device, os_version, credential_id и нативный Maestro-параметр variable_profile_id. Для данных: опустите variable_profile_id, чтобы унаследовать значение по умолчанию автоматизации, передайте null, чтобы не использовать профиль, или передайте UUID того же проекта для переопределения. Каждый указанный ключ ${DATA_*} должен существовать. Выполнять выбранный профиль может только активный создатель профиля или активный владелец/администратор рабочей области. Точные известные значения учётных данных фильтруются, а точные значения профилей данных получают фильтрацию по мере возможности из сохранённых текстовых свидетельств; преобразованные, частичные, закодированные или производные от приложения значения данных могут остаться. Авторизованные приватные видео/скриншоты остаются доступными и могут показывать значения, отображаемые тестируемым приложением, поэтому профили данных должны содержать только синтетические несекретные значения. Если контекст редактирования учётных данных недоступен или безопасность обработки не может быть доказана, подробный текст с учётными данными скрывается, при этом статус и доступные визуальные свидетельства остаются. Диагностика требует авторизации рабочей области и проекта; ссылки на медиа истекают через пять минут.
  • list_mobile_runs — Получение авторизованных результатов мобильных запусков (статус, устройство, сводка результатов, приватные ссылки на видео и скриншоты, сессия BrowserStack, отфильтрованные нативные журналы Maestro с учётными данными и сбои, когда это безопасно, а также автоматически созданные ошибки). Членство в рабочей области и доступ к проекту обязательны для диагностики запусков. Необязательные фильтры: project_id, automation_id, status (queued, running, passed, failed, error, archived) и limit. Архивные запуски по умолчанию исключаются.
  • create_mobile_credential — Создание именованного профиля входа (например, «Администратор», «Участник») для проекта: имя пользователя и пароль, используемые мобильными автоматизациями. Оба значения хранятся в зашифрованном виде AES‑256‑GCM и доступны только для записи — ни один инструмент или API никогда не возвращает их, а другие участники/интерфейс видят только имя. Привязывать, запускать, ротировать или удалять его может только активный участник рабочей области, создавший его, или активный владелец/администратор рабочей области. Требуются project_id, name, username, password. Только для Enterprise.
  • list_mobile_credentials — Список профилей входа (опционально один project_id). Возвращает только несекретные поля (id, name, проект, создатель, дата создания) — никогда имя пользователя или пароль. Используйте возвращённый id как выбор учётных данных при запуске автоматизации.
  • update_mobile_credential — Переименование профиля входа или ротация его имени пользователя/пароля по id. Включайте только поля для изменения. Новые секретные значения шифруются немедленно и никогда не возвращаются. Обновлять профиль может только активный участник рабочей области, создавший профиль, или активный владелец/администратор рабочей области.
  • delete_mobile_credential — Мягкое удаление профиля входа по id. Удалять его может только активный участник рабочей области, создавший профиль, или активный владелец/администратор рабочей области. Профиль сохраняется для аудита и истории запусков, но больше не используется и не отображается; значения по умолчанию автоматизаций очищаются, а имя становится доступным для повторного использования.
  • create_mobile_variable_profile — Создание переиспользуемых синтетических тестовых данных в рамках проекта с помощью project_id, name и объекта variables, такого как {"DATA_EMAIL":"qa@example.test","DATA_REGION":"ca"}. Ключи должны быть идентификаторами в верхнем регистре DATA_*. Профили допускают 1–100 строк, 4096 байт UTF-8 на значение и 65536 байт суммарно. Зарезервированные имена учётных данных/времени выполнения отклоняются. Никогда не храните учётные данные, токены, производственные персональные данные или другие секреты.
  • list_mobile_variable_profiles — Список профилей и их читаемых несекретных значений для одного авторизованного project_id. Применяются правила назначения проектов.
  • update_mobile_variable_profile — Переименование профиля или замена его полного объекта variables по id. Обновлять его может только активный создатель или активный владелец/администратор рабочей области.
  • delete_mobile_variable_profile — Мягкое удаление профиля по id. Удалять его может только активный создатель или активный владелец/администратор рабочей области; значения по умолчанию автоматизаций очищаются, при этом исторические ссылки запусков сохраняются.
  • list_mobile_schedules, create_mobile_schedule, delete_mobile_schedule — Список, создание и удаление расписаний для реальных устройств. Расписания наследуют контекст проекта, профиль входа и профиль несекретных переменных от выбранной автоматизации. Расписание, использующее любой из защищённых профилей, требует активного создателя профиля или активного владельца/администратора рабочей области; изменения и удаление расписания ограничены активным создателем расписания или активным владельцем/администратором рабочей области.

Пример рабочего процесса — Android

  1. list_projects → определить целевой project_id
  2. upload_mobile_app → зарегистрировать APK в этом проекте
  3. Записать безопасно в панели управления или использовать import_mobile_script / create_mobile_automation
  4. list_mobile_automations → найти автоматизацию в том же проекте
  5. run_mobile_automation → запустить её на реальном устройстве, опционально с профилем входа
  6. list_mobile_runs → проверить статус, сводку результатов, приватные визуальные ссылки и метаданные сессии BrowserStack
  7. Сбои автоматически создают отчёты об ошибках со снимком сбоя и разбивкой по шагам

Пример рабочего процесса — iOS

  1. upload_mobile_app → зарегистрировать IPA с project_id для запусков на реальных устройствах
  2. Загрузить симуляторную сборку .app на странице сведений о приложении (для записи)
  3. Записать тест в браузере → действия захватываются из симулятора
  4. run_mobile_automation → запустить сохранённую автоматизацию на iPhone (используется IPA)
  5. update_mobile_app → заменить IPA новой версией, когда будет готово

Пример рабочего процесса — нативный Maestro

  1. upload_mobile_app → зарегистрировать APK или IPA в целевом проекте
  2. create_mobile_credential → опционально создать профиль того же проекта для аутентифицированного потока
  3. create_mobile_variable_profile → опционально создать синтетические значения DATA_* того же проекта, используемые потоком
  4. create_mobile_automation → передать один проверенный YAML-поток с точным пакетом/идентификатором комплекта связанного приложения appId, script_type: maestro и execution_mode: browserstack_maestro. Используйте ${USERNAME}/${PASSWORD} для входа и заполнители в стиле ${DATA_EMAIL} для синтетического ввода; передайте идентификаторы профилей для сохранения значений по умолчанию.
  5. run_mobile_automation → выбрать совместимое устройство и опционально переопределить профиль входа или переменных. Опустите профиль переменных для наследования или передайте null, чтобы отключить его для одного запуска.
  6. list_mobile_runs → просмотреть авторизованные сводки пройдено/не пройдено, приватные видео/скриншоты, отфильтрованные журналы, реальные имена шагов, подробные сбои и метаданные сессии. Если безопасную обработку для запуска с учётными данными установить нельзя, подробный текст скрывается, при этом статус и доступные визуальные свидетельства остаются.

Уточнение с помощью ИИ: разрешённая бета-версия доступна через панель управления и конечные точки REST для уточнения. Инструменты Refine MCP пока не входят в публичный каталог.

Соответствие и доказательства (Enterprise)

  • collect_compliance_evidence — Запуск автоматического сбора доказательств из подключённых сервисов (Cloudflare, GitHub, Sentry, Supabase, Railway). Возвращает идентификатор запуска. Собирает настройки SSL/TLS, статус WAF, оповещения Dependabot, тенденции ошибок, историю развёртываний и другое.
  • check_config_drift — Проверка всех подключённых сервисов на отклонение конфигурации безопасности от базовых значений (режим SSL, версия TLS, HSTS, правила WAF, заголовки безопасности).
  • generate_access_review — Создание ежеквартального отчёта о проверке доступа. Проверяет членов команды, роли, статус MFA, использование ключей API и формирует рекомендации (например, отозвать неактивные ключи).
  • get_security_events — Запрос к межсервисной временной шкале событий безопасности. Фильтрация по источнику (cloudflare, sentry, github) и серьёзности (critical, high, medium, low, info). События автоматически коррелируются между сервисами.

Покрытие соответствия

Эти инструменты помогают выполнить требования соответствия SOC2 (CC4.1, CC6.1, CC7.2, CC8.1), ISO 27001 (A.5.18, A.8.8, A.8.9, A.8.15-16, A.8.29) и GDPR (ст. 5, 25, 32, 33).

Совместимые клиенты

bug_Agent_ работает с любым клиентом, поддерживающим Model Context Protocol. Вот руководства по настройке для популярных клиентов:

🤖

Claude Desktop

Откройте Настройки → Разработчик → Изменить конфигурацию, затем добавьте:

claude_desktop_config.json

Перезапустите Claude Desktop после сохранения.

✳️

Cursor

Откройте Настройки → MCP Servers → Add Server или отредактируйте .cursor/mcp.json в корне проекта:

.cursor/mcp.json

🌊

Windsurf

Откройте Настройки → MCP → Add Server или отредактируйте файл конфигурации MCP:

mcp_config.json

💻

Claude Code (CLI)

Добавьте bug_Agent_ прямо из терминала:

claude mcp add bugagent -- npx -y @bugagent/mcp-server

Установите свой ключ API с помощью export BUGAGENT_API_KEY=ba_live_... перед запуском.

🔧

Другие MCP-клиенты

Любой клиент, поддерживающий транспорт MCP stdio, работает с bug_Agent_. Используйте стандартную конфигурацию:

  • Команда: npx
  • Аргументы: ["-y", "@bugagent/mcp-server"]
  • Переменные среды: BUGAGENT_API_KEY

CLI

Начало работы с CLI

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

  • Автоматизировать рабочие процессы — Интегрировать отправку ошибок в CI/CD пайплайны, скрипты и cron-задачи
  • Выполнять массовые операции — Просматривать, фильтровать и управлять отчётами, не покидая терминал
  • Получать вывод, удобный для конвейеров — Форматы JSON, YAML и raw для совместного использования с jq, yq и другими инструментами
  • Быстро итерировать — Браузер не нужен — создавайте и обновляйте отчёты за секунды

Установка

npm install -g @bugagent/cli

Проверьте установку:

bugagent --version

Аутентификация

Установите ваш API-ключ как переменную окружения:

Или передайте его напрямую с помощью флага --api-key:

bugagent reports list --api-key ba_live_your_key_here

🔑

Получите ваш API-ключ в консоли bug_Agent_. Ключи начинаются с ba_live_.

Для постоянной аутентификации добавьте export в ваш профиль оболочки (~/.bashrc, ~/.zshrc и т. д.).

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

Команды следуют следующему шаблону:

bugagent <resource> <action> [flags]

Ресурсы также могут использовать синтаксис с двоеточием для подресурсов:

bugagent reports comments add --report-id WRKID-545 --body "Reproduced on v2.1"

Используйте --help для любой команды, чтобы получить подробную информацию:

bugagent reports --help
bugagent reports create --help

Пример Сеанса

Терминал

# List your projects
bugagent projects list

# Create a bug report in your default project
bugagent reports create \
  --title "Checkout 500 on discount code" \
  --description "Applying SAVE20 returns HTTP 500" \
  --severity critical \
  --type logic

# View recent reports
bugagent reports list --limit 5 --format pretty

# Get full details on a report (use the short ID or UUID)
bugagent reports get WRKID-545

# Sync a report to Jira
bugagent jira sync --report-id WRKID-545

# Check your usage
bugagent usage get --format json

Возможности CLI

CLI предоставляет команды для:

reports Создание, просмотр, получение, обновление и очистка отчётов об ошибках

projects Создание, просмотр, обновление и удаление проектов

keys Генерация, просмотр, повторная генерация и отзыв API-ключей

jira Подключение, синхронизация отчётов и настройка параметров Jira

usage Проверка текущего использования относительно лимитов плана

stats Просмотр аналитики и разбивок

profile Просмотр и обновление вашего профиля и настроек

auth Вход, регистрация и управление учётными данными

Глобальные флаги

Флаг Описание

--api-key <key> Переопределить API-ключ для этой команды

--format <fmt> Формат вывода: json, yaml, pretty, raw

--debug Показать детали запроса/ответа для устранения неполадок

--help Показать справку для любой команды

--version Вывести версию CLI

Форматы вывода

CLI поддерживает несколько форматов вывода для разных сценариев использования:

json

Машиночитаемый JSON. Идеально подходит для передачи в jq или другие инструменты.

yaml

Удобный для человека вывод в формате YAML для конфигурационных файлов и удобочитаемости.

pretty

По умолчанию. Цветной, форматированный вывод, предназначенный для терминала.

raw

Неформатированный вывод. Полезен для скриптов и автоматизации.

Фильтрация с помощью --transform

Используйте --transform с синтаксисом GJSON для запроса и фильтрации выходных данных:

# Default pretty output
bugagent reports list

# JSON for piping to other tools
bugagent reports list --format json

# YAML
bugagent reports list --format yaml

# Raw (no formatting)
bugagent reports get rpt_abc123 --format raw

# Filter with GJSON syntax
bugagent reports list --format json \
  --transform "items.#(severity==critical).title"

AI-навык

CLI также доступен как AgentSkill, позволяя AI-ассистентам по программированию использовать bug_Agent_ от вашего имени.

Что такое AgentSkill?

AgentSkills позволяют AI-ассистентам по программированию (Claude Code, Cursor и др.) вызывать инструменты CLI в контексте. Навык bug_Agent_ даёт вашему AI-ассистенту возможность отправлять ошибки, проверять статус проектов и синхронизировать с Jira — всё без ввода команд с вашей стороны.

Установка навыка

claude skills install bugagent --from @bugagent/mcp-server

После установки контекстно-зависимый AI-ассистент сможет естественно использовать команды bug_Agent_ — с полным знанием вашего продукта, правил тестирования и загруженной документации:

Подсказка AI-ассистенту

"File a critical bug: the payment webhook is returning
a 403 after the latest deploy. It affects all Stripe
events. Assign it to the payments project."

Навык переводит естественный язык в соответствующие команды CLI и выполняет их.

🎬

Session Replay + AI-ассистент: Когда Session Replay включён (тариф Enterprise), AI-ассистент может ссылаться на захваченный пользовательский сеанс — клики, навигацию, ошибки и сетевые сбои за последние 60 секунд — чтобы автоматически подготовить более подробные и точные отчёты об ошибках с полным контекстом воспроизведения.

Получить помощь

Нужна помощь? Мы здесь, чтобы помочь.

Сообщество в Discord

Присоединяйтесь к нашему Discord для поддержки в реальном времени и обсуждений с сообществом.

Поддержка по электронной почте

support@bugagent.com — Мы обычно отвечаем в течение 24 часов.