bugAgent

공식

bugAgent를 MCP 호환 AI 클라이언트에 연결하세요. AI 코딩 어시스턴트에서 직접 버그, 기능 요청 등을 제출하고 분류하며 관리할 수 있습니다. 컨텍스트 전환이나 복사-붙여넣기 없이 문제를 설명하기만 하면 bugAgent가 나머지를 처리합니다.

bugAgent MCP(으)로 무엇을 할 수 있나요?

버그를 일반 영어로 설명하면 bugAgent가 파일로 저장하고 분류한 뒤 관리해 줍니다.

  • 버그 파일링 및 자동 분류 — 자연어로 버그나 기능 요청을 제출하도록 어시스턴트에게 요청하세요. create_bug_report가 19가지 유형으로 자동 분류합니다.
  • 보고서 목록 및 필터링 — 프로젝트의 최근 또는 심각한 버그를 요청하세요. list_bug_reports가 프로젝트, 심각도, 상태 등으로 필터링합니다.
  • 큐 할당 및 작업 — 에이전트가 pick_next_bug로 다음 우선순위 버그를 선택하고 claim_bug로 원자적으로 할당받게 하세요.
  • 보안 스캔 실행run_security_scan으로 URL에 대한 취약점 스캔을 트리거하고 get_security_results로 결과를 검토하세요.
  • 개발자 노트 생성 — 모든 버그 보고서에 대해 push_to_claude를 통해 AI 생성 근본 원인 및 제안된 수정 사항을 요청하세요.

문서

MCP v1

탐색

Model Context Protocol

MCP

bug_Agent_를 MCP 호환 AI 클라이언트에 연결하세요.

AI 코딩 어시스턴트에서 직접 버그, 기능 요청 등을 파일링, 분류, 관리하세요. 컨텍스트 전환도, 복사-붙여넣기도 필요 없습니다 — 문제를 설명하기만 하면 bug_Agent_가 나머지를 처리합니다.

Discord 커뮤니티 support@bugagent.com

시작하기

bug_Agent_ MCP 서버는 AI 클라이언트가 Model Context Protocol을 통해 버그 리포트, 기능 요청, 개선 사항 등을 생성, 조회, 관리할 수 있게 해줍니다. 로컬에서 실행되며 bug_Agent_의 클라우드 API와 통신합니다.

1

API 키 받기

무료 계정을 만드세요. 새 워크스페이스 소유자는 API 키 설정 화면으로 바로 이동합니다. 기존 사용자는 설정 → 개발자 → API 키에서 키를 생성할 수 있습니다.

2

AI 클라이언트 구성

클라이언트 설정에 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

bug_Agent_ 콘솔에서 API 키를 받으세요.

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 키로 교체하세요.

서버에 연결

bug_Agent_ MCP 서버는 Streamable HTTP 전송을 통해 https://mcp.bugagent.com/mcp에서 운영됩니다. 아래 8개 클라이언트 중 원하는 것을 선택하세요 — 워크플로에 맞는 것을 고르세요.

복사 준비된 소규모 구성, 범위 지정 키 안내, 안전한 시작 프롬프트는 공개 MCP 퀵스타트를 사용하세요.

🔑

먼저 API 키를 받으세요. 설정 → 개발자에 로그인하고 API 키 생성을 클릭한 후 값을 복사하세요 (ba_live_로 시작). 한 번만 표시되므로 안전한 곳에 붙여넣으세요. 아래 모든 예시는 이 키를 사용합니다.

옵션 1 — MCP Inspector (웹 UI, 첫 테스트에 권장)

공식 Anthropic 도구입니다. 로컬 웹 UI를 실행하여 모든 도구를 클릭하고, 매개변수를 입력하고, 응답을 확인할 수 있습니다. 구성이 필요 없고 IDE도 필요 없습니다.

macOS (터미널)

터미널

npx @modelcontextprotocol/inspector

Windows (PowerShell 또는 CMD)

PowerShell

열리는 브라우저 UI에서:

  1. 전송 유형: Streamable HTTP 선택
  2. URL: https://mcp.bugagent.com/mcp
  3. 연결 유형: 프록시 선택 (기본값 — Inspector가 로컬 Node 프로세스를 통해 프록시하여 브라우저 CORS를 우회합니다)
  4. 인증 탭 클릭 → 사용자 지정 헤더 추가:
    • 헤더 이름: Authorization
    • : Bearer ba_live_YOUR_KEY_HERE
  5. 연결 클릭. 왼쪽 패널에 110개 이상의 bug_Agent_ 도구가 표시됩니다.
  6. 아무 도구나 클릭(예: list_bug_reports), 매개변수 입력, 도구 실행 클릭. 응답이 오른쪽에 표시됩니다.

전제 조건: Node.js 18 이상. 설치되어 있지 않다면 nodejs.org에서 설치하세요.

옵션 2 — Claude Desktop (Mac + Windows)

Claude Desktop 앱을 사용한다면 bug_Agent_를 영구 MCP 서버로 추가할 수 있습니다. 그러면 모든 대화에서 Claude가 모든 bug_Agent_ 도구를 사용할 수 있습니다.

macOS

  1. Claude Desktop 열기 → 메뉴 바 Claude → 설정 → 개발자 → 구성 편집. ~/Library/Application Support/Claude/claude_desktop_config.json이 열립니다.
  2. mcpServers 아래에 bug_Agent_ 항목 추가:
    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. macOS 섹션에 표시된 것과 동일한 JSON 블록을 추가하세요.
  3. 파일을 저장하고 시스템 트레이에서 Claude Desktop을 완전히 종료하세요 (Claude 아이콘 우클릭 → 종료), 그런 다음 다시 실행하세요.
  4. 도구 망치 아이콘에 bug_Agent_ 도구가 표시됩니다.

옵션 3 — Claude Code (CLI)

터미널에서 Claude Code(Claude의 CLI 버전)를 사용한다면 한 명령으로 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이 녹색 점과 함께 표시되어야 합니다. 모든 채팅에서 도구를 사용하세요: "이번 달 탐색 사용량 보여줘."

나중에 제거하려면:

claude mcp remove bugagent

옵션 4 — OpenAI Codex CLI

OpenAI Codex CLI를 사용한다면 ~/.codex/config.toml에 bug_Agent_를 추가하여 영구 등록하거나, 일회성 세션을 위해 구성을 인라인으로 전달하세요.

영구 등록 (구성에 추가)

~/.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 내부의 AI 어시스턴트가 편집기를 벗어나지 않고 버그 파일링, 리포트 나열, 스캔 실행 등을 할 수 있습니다.

  1. Cursor 열기 → 설정 (Mac에서 Cmd+, / Windows에서 Ctrl+,) → 왼쪽 사이드바의 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) "제목이 '로그인 오류'이고 심각도가 높은 버그 리포트 생성" 을 입력하세요. Cursor가 create_bug_report을 호출합니다.

대안: Cursor는 ~/.cursor/mcp.json (Mac) 또는 %USERPROFILE%\.cursor\mcp.json (Windows)도 읽습니다. Claude Desktop 섹션에 표시된 것과 동일한 JSON 형식을 추가하세요.

옵션 6 — Continue 확장이 있는 VS Code (Mac + Windows)

VS Code를 선호한다면 Continue 확장이 MCP 서버를 기본 지원합니다.

  1. VS Code 마켓플레이스에서 Continue 확장을 설치하세요.
  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 채팅 패널을 열고 시도해 보세요: "내 보안 스캔 나열."

기타 MCP 지원 VS Code 확장: Cline, Roo Code, Windsurf(포크) 모두 mcpServers 키와 HTTP 전송을 사용하는 유사한 JSON 구성 패턴을 따릅니다.

옵션 7 — OAuth 지원 호스트 (예시로 Claude.ai 웹)

일부 MCP 호스트는 OAuth 2.0으로 인증하며 베어러 API 키 대신 정적 client_idclient_secret을 사전에 요청합니다. 이러한 호스트의 경우 bug_Agent_ 대시보드에서 워크스페이스 범위의 OAuth 자격 증명 쌍을 생성하여 호스트의 커넥터 양식에 붙여넣으세요. 자격 증명은 MCP 호스트에 구애받지 않습니다 — Authorization Code + PKCE를 지원하는 모든 OAuth 클라이언트가 사용할 수 있습니다. 아래 안내는 가장 일반적인 예시로 Claude.ai 웹 앱을 사용합니다.

  1. bug_Agent_에서: 설정 → 개발자 → MCP 커넥터를 엽니다. 커넥터 생성을 클릭하고 호스트를 설명하는 이름을 지정한 후(예: "Claude.ai (업무)"), MCP 호스트가 요구하는 리디렉션 URI를 붙여넣고(Claude.ai 웹 앱의 경우 https://claude.ai/api/mcp/auth_callback — 다른 호스트는 해당 호스트의 커넥터 문서를 확인하세요), 인증 방법으로 기밀을 선택하세요. 성공 화면에 한 번 표시되는 client_idclient_secret을 복사하세요.
  2. MCP 호스트의 커넥터 / OAuth 설정에 붙여넣기:
    • 서버 URL: https://mcp.bugagent.com/mcp
    • 클라이언트 ID + 클라이언트 시크릿: 1단계에서
    • 인증 URL: https://mcp.bugagent.com/authorize
    • 토큰 URL: https://mcp.bugagent.com/token
      Claude.ai의 경우: claude.ai/customize/connectors로 이동하여 MCP 커넥터 추가를 클릭하세요.
  3. 저장. 호스트가 bug_Agent_로 리디렉션하여 로그인(Google 또는 이메일/비밀번호 — 대시보드에서 사용하는 방법)하고 동의를 승인한 후 OAuth 핸드셰이크를 완료합니다.
  4. 생성된 커넥터는 동일한 설정 페이지에서 관리하고 해지할 수 있습니다. 해지는 즉시 적용됩니다 — 해당 커넥터의 다음 요청은 invalid_client을 반환합니다.

참고: Claude Code, Cursor, VS Code, MCP Inspector는 이 흐름이 필요 없습니다 — 동적 클라이언트 등록(RFC 7591)을 자동으로 처리하고 위에 표시된 대로 API 키로 인증합니다. MCP 커넥터 양식은 정적 OAuth 자격 증명이 필요한 호스트 전용입니다.

옵션 8 — curl을 사용한 직접 HTTP (터미널)

클라이언트 없이 서버를 직접 테스트하거나 스크립트에 통합하려면 curl으로 HTTP 엔드포인트를 호출할 수 있습니다. MCP 프로토콜은 Streamable HTTP를 통한 JSON-RPC 2.0입니다.

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_으로 시작합니다. 그래도 문제가 있으면 키를 다시 생성하고 재시도하세요.

사용해 보기 — 일반 영어 프롬프트

연결 후에는 도구 이름이나 매개변수를 알 필요가 없습니다. 원하는 것을 일반 영어로 설명하면 AI 어시스턴트가 올바른 bug_Agent_ 도구를 자동으로 호출합니다.

버그 리포트

AI 어시스턴트에게 요청

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

탐색적 AI

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?

빠른 참조

8개 클라이언트 모두의 구성 파일 위치입니다. 모든 클라이언트는 Streamable HTTP를 통해 https://mcp.bugagent.com/mcpAuthorization: Bearer ba_live_YOUR_KEY_HERE 헤더로 연결합니다.

클라이언트 구성 위치 / 명령

MCP Inspector 파일 없음 — npx @modelcontextprotocol/inspector 후 브라우저 UI에 URL + 인증 헤더 입력

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 UI 또는 ~/.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-RestMethodAccept: 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/health200을 반환해야 합니다. 시간 초과되면 네트워크/방화벽 규칙을 확인하세요.

MCP Inspector CORS 오류 Inspector UI의 연결 유형에서 프록시(직접 아님)를 선택하세요. Inspector가 로컬 Node 프로세스를 통해 프록시하여 브라우저 CORS 제한을 우회합니다.

Codex CLI — 도구가 인식되지 않음 ~/.codex/config.toml[[mcp_servers]]을 사용하는지 확인하세요 (이중 대괄호, 배열 구문). Codex CLI 버전이 MCP를 지원할 만큼 최신인지 확인하세요 (codex --version).

MCP 기능

bug_Agent_ MCP 서버는 다음을 위한 도구를 제공합니다:

🐛

버그 보고서 관리

  • create_bug_report — 19가지 유형(버그, 기능 요청, 개선 사항, 기술 부채 등)에 걸쳐 자동 분류되는 새 보고서를 제출합니다(제목: 3-500자). 선택적 attachments 배열은 각각 최대 400MB의 base64 인코딩 파일(모든 이미지, 비디오, 오디오, PDF 또는 텍스트/JSON)을 허용합니다. format_description: true을 설정하면 AI를 사용하여 설명을 구조화된 템플릿으로 자동 재구성합니다. QA 노력을 추적하려면 time_spent_seconds을 전달하세요. 심각도와 별개로 수정 긴급도를 설정하려면 priority(urgent / high / normal / low)을 전달하세요. Epic을 만들려면 is_epic: true를 전달하거나, 동일한 승인된 프로젝트에서 하위 항목을 만들려면 parent_epic_id(UUID/짧은 ID)를 전달하세요. 응답에는 계층 구조 필드와 함께 project_id, project, short_id, legacy_short_idproject_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()을 스탬프합니다. Postgres의 UPDATE-WHERE-RETURNING 패턴을 통해 동시 호출자 간에 레이스가 없습니다 — 두 에이전트가 동일한 ID에 대해 거의 동시에 claim_bug을 호출하면 정확히 하나는 버그 본문과 함께 claimed:true을 받고 다른 하나는 이유 문자열과 함께 claimed:false을 받습니다. 성공적인 응답에는 reporter_user_id, reporter_name, assigned_toassignee_name이 포함됩니다. pg_cron reaper는 오래된 클레임(status=in-progress + claimed_at > 30분)을 new으로 자동으로 다시 해제하므로, 충돌한 에이전트의 티켓은 수동 개입 없이 대기열에 다시 들어갑니다. 입력: id(UUID 또는 짧은 ID).
  • get_bug_report — UUID 또는 워크스페이스/프로젝트 짧은 ID로 보고서의 전체 세부 정보를 가져옵니다. 표준 사람/프로젝트/품질 필드와 함께 is_epic, 부모 식별자, 집계 진행률 및 Epic의 제한된 첫 번째 하위 페이지를 반환합니다.
  • list_epic_childrenid, limit(1–100) 및 offset으로 Epic의 하위 보고서를 페이지네이션합니다. 모든 하위 보고서를 로드하지 않고 children, total, has_more 및 SQL 집계된 epic_progress을 반환합니다.
  • update_bug_report — 표준 보고서 필드와 함께 is_epicparent_epic_id을 업데이트합니다. 분리하려면 parent_epic_id: null을 전달하세요; 부모 재지정/분리는 원자적이며 동일 워크스페이스, 동일 프로젝트 권한이 필요합니다. Epic으로 승격하면 기존 부모가 분리되고, 하위 항목이 있는 Epic은 강등될 수 없습니다. 기존 상태/해결/근본 원인 및 할당 알림 규칙은 계속 적용됩니다.
  • add_comment — 버그 보고서에 댓글을 추가합니다(UUID 또는 짧은 ID, 본문 1-10000자). 보고서가 Jira에 동기화된 경우 댓글은 연결된 Jira 이슈에 자동으로 푸시됩니다.
  • list_comments — 보고서의 전체 댓글 스레드를 가장 오래된 것부터 나열합니다 — 각 댓글에는 작성자 이름, parentId(스레드형 답글) 및 타임스탬프가 포함됩니다. 댓글은 get_bug_report의 일부가 아니므로 이것이 티켓의 토론을 읽는 방법입니다. UUID 또는 짧은 ID를 허용합니다.
  • link_bug_reports — 동일한 승인된 프로젝트 내 두 보고서 사이에 방향성 의미 링크를 생성합니다. parent-of의 경우 from-보고서는 Epic이어야 하고 to-보고서는 표준 하위 항목이어야 합니다. Epic 할당에는 생성/업데이트 시 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-ofsubtask-of로 렌더링됩니다; 이 보고서가 대상인 depends-onblocks로 렌더링됩니다; 이 보고서가 대상인 testing-blocked-byblocks-testing로 렌더링됩니다. related-to는 대칭입니다. get_bug_report에서 반환된 자동 감지 similar_reports 필드를 보완합니다.
  • classify_bug — 설명을 19가지 보고서 유형(버그, 기능, 개선 사항 등) 중 하나로 신뢰도 점수와 함께 분류합니다
  • flush_reports — 오래된 보고서를 일괄 삭제합니다(관리자 전용)

📊

사용량 및 분석

  • get_usage — 플랜 한도 대비 사용량을 확인합니다. API 키 호출자는 usage:read이 필요합니다.
  • get_stats — 일일 카운트, 유형/심각도/상태 분석

📁

프로젝트 관리

  • list_projectsid, name, slug, ticket_prefix, 설명 및 기본 상태와 함께 사용 가능한 프로젝트를 나열합니다. 이러한 값을 create_bug_reportlist_bug_reports과 함께 사용하여 올바른 프로젝트를 대상으로 지정하세요.
  • create_project — 새 프로젝트를 생성합니다(첫 번째인 경우 자동으로 기본값이 됨)
  • delete_project — 프로젝트와 연결된 모든 데이터(버그 보고서, 자동화, 테스트 케이스, 모바일 앱, 일정, 지오 스냅샷, 메모, 시간 항목)를 영구적으로 삭제합니다. 소유자/관리자만 가능합니다. 마지막 프로젝트는 삭제할 수 없습니다. 저장 공간은 자동으로 해제됩니다
  • export_okf_bundle — 프로젝트의 QA 지식(버그 보고서, 테스트 케이스, 자동화, 성능/보안/탐색 테스트)을 OKF/OQA 마크다운 번들(oqa.ai에서 사용하는 Open Query Agent 형식)으로 내보냅니다. 활성 프로젝트가 기본값입니다; 선택적 project(슬러그 또는 이름)을 전달하여 다른 프로젝트를 내보낼 수 있습니다. 번들의 파일 목록과 번들 자체를 base64 인코딩 zip으로 반환합니다

🔐

인증 및 계정

  • 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 — 버그 보고서에 대한 개발자 노트를 생성(또는 재생성)합니다 — 근본 원인, 제안된 수정, 검증 단계 및 위험 평가. 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_modeldebated 플래그. 어떤 단계가 실패하면 다음으로 좋은 답변으로 폴백됩니다. 버그 생성 시 자동 실행됩니다; 일반적으로 수동 재생성에만 호출됩니다.
  • analyze_fix_area — 개발자 노트의 "예상 수정 영역" 하위 블록을 생성(또는 재생성)합니다 — 수정이 코드베이스의 어디에 속할 가능성이 가장 높은지 이름을 지정하는 좁은 Sonnet 출력. UUID 또는 짧은 ID를 허용합니다. 플랫폼 Anthropic 키를 사용합니다. 팀에 github_connections 행이 있고 프로젝트에 github_repo가 매핑된 경우 출력은 연결된 리포지토리의 실제 파일 스니펫에 기반합니다; 그렇지 않으면 리포지토리 연결을 권장하는 일반 지침으로 폴백됩니다. likely_fix_area 텍스트, generated_at, repo_usedgrounded 플래그를 반환합니다. 버그 생성 시 자동 실행됩니다 — 에이전트는 일반적으로 수동 재생성에만 호출하면 됩니다.
  • upgrade_plan — 영업 지원 엔터프라이즈 등록 링크를 가져옵니다

성능 테스트

  • create_performance_test — URL, 디바이스, 가상 사용자, 기간, 점수 임계값 및 자동 버그 생성 토글로 성능 테스트 구성을 생성합니다. 엔터프라이즈 전용
  • 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 — 월간 성능 테스트 사용량을 확인합니다. 성능 테스트는 엔터프라이즈 전용입니다. 무료=0, 엔터프라이즈=무제한

예제 워크플로우

  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, 시간대, 활성화 상태, 다음 실행 및 알림 설정과 함께 나열합니다. 상위 스캔 구성(이름, scan_type, target_url)과 조인합니다.
  • create_security_schedule — 보안 스캔에 대한 반복 일정을 생성합니다. scan_idcron_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. /dashboard/code-review 에서 대시보드의 PR 리뷰
  3. list_code_reviews → 최근 리뷰 보기
  4. get_code_review → 결과 및 제안 가져오기

🔍

탐색형 AI

각각 다른 테스트 전략을 사용하는 최대 10개의 병렬 에이전트를 갖춘 다중 에이전트 자율 웹사이트 버그 탐지기입니다.

  • list_explorations — 팀의 탐색형 AI 구성을 나열합니다.
  • 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 — 월간 사용량을 확인합니다. 탐색형 AI는 Enterprise 전용이며 Enterprise: 무제한(10개 에이전트)입니다.
  1. create_explorationagent_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. visibilityprivate 또는 shared 으로 설정합니다. 제목이 제공되지 않으면 처음 30자에서 자동 제목을 생성합니다. 선택적 attachments 배열은 각각 최대 400MB의 base64 인코딩 파일(이미지, 비디오, 오디오, PDF 또는 text/JSON)을 허용합니다. QA 노력을 추적하려면 time_spent_seconds 을 전달합니다.
  • get_note — 콘텐츠와 첨부 파일을 포함한 전체 메모 세부 정보를 가져옵니다. id 이 필요합니다.
  • update_note — 제목, 콘텐츠, 형식, 공개 범위, 프로젝트 또는 time_spent_seconds 을 업데이트합니다. attachments 배열을 전달하여 기존 첨부 파일을 교체하지 않고 새 파일(각각 최대 400MB)을 메모의 기존 첨부 파일에 추가합니다. 작성자만 업데이트할 수 있습니다. id 이 필요합니다.
  • delete_note — 메모와 첨부 파일을 영구적으로 삭제합니다. 작성자만 삭제할 수 있습니다. id 이 필요합니다.
  1. create_note → 테스트 세션 메모 시작
  2. update_note → 테스트 중 관찰 사항 추가
  3. list_notes → 키워드 또는 프로젝트로 과거 메모 검색
  4. get_note → 첨부 파일이 포함된 전체 메모 검색

🤖

자동화

  • create_automation — 사용자 지정 Playwright 스크립트로 새 자동화를 생성합니다(FAB 녹화 불필요). name 이 필요합니다. 선택 사항: target_url (생략 시 스크립트의 첫 번째 page.goto(...) URL에서 자동 파생), script (Node.js/JavaScript/TypeScript 또는 Python — 언어는 자동 감지되며 기본값은 플레이스홀더), status (draft 또는 active, 기본값: draft), project_id. 자동화 id 을 반환합니다. Enterprise 플랜이 필요합니다. 팁 — 자동화 복제: get_automation 을 사용하여 원본 스크립트를 가져온 다음 name"[Copy] Original Name" 으로 설정하고 원본 script, target_urlproject_id 을 전달하여 create_automation 을 호출합니다. 복제본은 버전 기록 없이 draft 상태로 시작합니다.
  • list_automations — Playwright 자동화 스크립트를 나열합니다. project_id 또는 status (draft, active, paused)으로 필터링합니다. 이름, target_url, last_run_status 및 run_count가 포함된 자동화 배열을 반환합니다.
  • get_automation — Playwright 스크립트와 최근 실행을 포함한 전체 자동화 세부 정보를 가져옵니다. id 이 필요합니다. 라이브 script, script_versions 스택(오래된 것부터 최대 100개의 이전 항목, 각각 { script, source, timestamp }) 및 각 실행이 실행된 script_version_label/script_version_source 을 포함하는 recent_runs 배열과 함께 자동화를 반환합니다. 특정 이전 버전을 선택해야 하는 경우 run_automation 전에 이 함수를 호출하세요.
  • run_automation — Playwright 테스트의 즉시 실행을 트리거합니다. automation_id 이 필요합니다. 자기 치유 로케이터(자동): 로케이터 작업이 시간 초과되면 러너가 Claude에게 작동하는 선택기를 요청하고 단계를 한 번 재시도합니다 — 어서션은 절대 치유되지 않으므로 실제 회귀는 여전히 실패합니다 — 각 치유는 실행 stdout에 기록됩니다. 가상 모드(기본값): 선택적 device 을 사용한 뷰포트 에뮬레이션(예: desktop, iphone-15). 라이브 모드: browserstack: truebs_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)을 통해 라우팅되며 데스크톱만 지원합니다 — pytest-playwright의 browser_type.connect() 이 BrowserStack의 실제 모바일 엔드포인트를 구동할 수 없으므로 Python을 통한 실제 모바일은 지원되지 않습니다. 비디오 및 네트워크 로그는 자동으로 캡처되며 콘솔 로그는 데스크톱 전용입니다. 버전 재생: 선택적 version_index (정수, 0-인덱스)을 전달하여 자동화의 script_versions 기록에서 이전 항목을 실행합니다. 기본값: version_index 이 생략되거나 null이면 현재 라이브 스크립트가 실행됩니다 — "현재 선택"을 위해 플레이스홀더 값을 전달하지 마세요. 범위를 벗어나거나, 음수이거나, 정수가 아닌 값은 거부됩니다. 실행 기록은 실행된 정확한 스냅샷을 저장하며 실패한 실행에서 자동 생성된 버그 보고서는 편집기에서 해당 버전으로 딥링크됩니다.
  • list_automation_runs — 자동화의 최근 실행을 나열합니다. automation_id 이 필요합니다. 상태, duration_ms 및 error_message가 포함된 실행을 반환합니다.
  • list_schedules — cron, 시간대, 기기 및 알림 설정이 포함된 모든 예약된 웹 자동화 실행을 나열합니다.
  • create_schedule — 예약된 웹 자동화 실행을 생성합니다. automation_idcron_expression 이 필요합니다. 기기, 시간대, notify_on_fail(email/slack/both) 및 Slack 채널 옵션을 지원합니다. 예약된 실행의 BrowserStack Live: browserstack: truebs_browser, bs_osbs_os_version 과 함께 전달합니다 — run_automation 과 동일한 기기 매트릭스(Node = 데스크톱 + 실제 Android + 실제 iPhone; Python = 데스크톱 전용).
  • delete_schedule — 예약된 웹 자동화 실행을 삭제합니다.
  • list_mobile_schedules — 기기, cron, 시간대 및 알림이 포함된 모든 예약된 모바일 자동화 실행을 나열합니다.
  • create_mobile_schedule — 실제 기기에서 예약된 모바일 자동화 실행을 생성합니다. automation_id, cron_expressiondevices 배열이 필요합니다.
  • delete_mobile_schedule — 예약된 모바일 자동화 실행을 삭제합니다.
  • optimize_automation_script — AI 기반 최적화를 위해 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, categorysort (newest, oldest, most_time, least_time)로 필터링합니다. Enterprise 플랜 전용.
  • create_time_entry — QA 작업에 소요된 시간을 기록합니다. description, categoryduration_minutes 이 필요합니다. 선택적으로 project_identry_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 추세, 실패 분석, 스위트 상태, 커버리지, 테스터 생산성을 제공하는 분석 Reports 탭을 갖춘 테스트 관리 기능입니다. 모든 도구는 Supabase를 직접 호출합니다 — HTTP 왕복이 없어 대시보드와 동일한 지연 시간을 제공합니다.

무료 한도: 저장된 테스트 케이스 10개, 스위트 1개, 폴더 3개, 케이스당 구조화 콘텐츠 128KB, 활성 워크스페이스 API 키 2개, UTC 기준 월별 총 테스트 실행 10회. 그중 최대 3회는 Hermes 또는 다른 외부 에이전트를 사용할 수 있으며, 활성 외부 실행 1회와 각 외부 플랜당 최대 10개 케이스로 제한됩니다. 무료 API 키 MCP 트래픽은 키당 분당 30회, 워크스페이스당 분당 60회로 제한됩니다. 엔터프라이즈 테스트 케이스 저장 및 실행은 일반 플랫폼 보호 조치에 따라 무제한입니다.

AI 테스트 케이스 생성, AI 태그 제안, Figma 가져오기, 테스트 케이스 파일 첨부는 Enterprise가 필요합니다. 무료 128KB 구조화 콘텐츠 한도는 Enterprise 파일 첨부와 별개입니다. 무료 플랜에서는 URL 참조를 저장할 수 있습니다. 핵심 MCP 테스트 케이스 도구는 위 한도 내에서 무료 플랜에서 계속 사용할 수 있습니다.

핸즈프리 실행: 실행 검토 페이지는 한 번에 하나의 케이스만 표시되는 캐러셀 형태이며, 키보드 단축키(P 통과 · F 실패 · B 차단 · S 건너뛰기)와 음성 제어를 지원합니다. 마이크를 클릭한 후 "Pass", "Fail", "Block", "Skip", "Next", "Previous", "Add notes"(메모 필드에 전사됨), "Save notes", "Voice off"라고 말하면 됩니다. 성공 결과가 나오면 다음 미테스트 케이스로 자동 진행되고, 실패 시에는 그 자리에 머물러 테스터가 세부 사항을 받아 적고 버그를 생성할 수 있습니다. 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 (기본값) — steps 배열을 통한 단계별 { action, expected } 그리드; texttext_content을 통한 단일 자유 형식 설명. 두 필드는 동일한 호출에서 함께 전송할 수 있습니다(플랫폼이 이를 독립적으로 저장하므로 나중에 template_type을 전환하는 테스터가 어느 쪽 데이터도 잃지 않습니다). 선택적 urls 배열(최대 10개의 http/https URL)은 참조 링크를 첨부하며 무료 플랜에서 사용할 수 있습니다. 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_idparent_folder_id 필터를 지원합니다(최상위만 보려면 "root" 사용).
  • create_test_case_folder — 폴더를 생성합니다(parent_folder_id을 통해 최대 3단계 중첩). 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 (90일 내 연속 5회 이상 통과), always_skipped (연속 3회 이상 건너뛰기).
  • mark_test_case_review_flags — 현재 보관 후보 플래그를 test_cases.review_flag에 영구 저장합니다. pg_cron을 통해 매주 월요일 09:00 UTC에 자동 실행됩니다.
가져오기
  • Figma 가져오기 (Enterprise) (대시보드 UI + REST): Figma 프레임의 zip 내보내기(최대 100MB)를 업로드하면 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 — 프로젝트 ID, 케이스 수, 마지막 실행 상태와 함께 테스트 스위트를 나열합니다. API 키 호출자는 test_runs:read가 필요합니다.
  • create_test_suite — 스위트를 생성합니다. parent_suite_id을 통해 최대 3단계 중첩됩니다.
  • list_test_runs — 스위트 이름, 담당자, 통과/실패 요약과 함께 테스트 실행을 나열합니다.
  • create_test_run — 대시보드 관리 스위트 실행을 생성합니다. 상위 스위트를 실행하면 모든 하위 스위트의 모든 케이스가 자동으로 포함됩니다 (둘 다에 연결된 케이스는 정확히 한 번만 추가됨). 각 test_run_results 행은 케이스가 어떤 원본 하위 스위트에서 왔는지 기록하므로 결과 페이지에서 출처별로 그룹화할 수 있습니다.
외부 에이전트 실행

이 도구들을 통해 Hermes 또는 다른 에이전트 런타임이 QA 시스템 of record가 되지 않고 승인된 스위트를 실행할 수 있습니다. test_runs:readtest_runs:write만 있는 워크스페이스 범위 키를 사용하세요. 스위트가 프로젝트 경계를 제공하며 호출자는 이를 재정의할 수 없습니다.

  • start_test_plan — 안정적인 external_run_id으로 변경 불가능한 스위트 스냅샷을 시작하거나 재개합니다. 동일한 ID를 반복하면 중복을 생성하는 대신 기존 일치 실행과 첫 번째 페이지를 반환합니다.
  • get_test_run_plan — 정식 실행 상태와 안정적인 플랜 페이지를 읽습니다. 이전 next_cursor를 전달하세요. 페이지는 기본 100개 케이스이며 최대 200개로 제한됩니다.
  • report_test_resultspassed, failed, blocked 또는 skipped 상태로 1~200개의 결과를 제출합니다. 정확한 재시도는 안전하며, 다른 상태로 케이스를 덮어쓰려는 시도는 거부됩니다.
  • abort_test_run — 수락된 부분 결과와 정식 요약을 보존하면서 중단된 실행을 멱등적으로 중지합니다.

할당량 동작: 동일한 external_run_id으로 start_test_plan를 재시도하면 추가 실행을 소비하지 않고 일치하는 실행을 재개합니다. 데이터를 삭제해도 월간 실행 사용량은 재설정되지 않습니다.

런타임 경계: 케이스 스냅샷은 자격 증명, 파일 본문, 비공개 첨부 경로를 제외합니다. 결과 증거는 MVP에서 텍스트입니다. 대상 자격 증명은 실행 런타임에 유지됩니다. 브라우저, 모델, 네트워크 비용은 고객 측 부담이며, 고객은 대상 액세스와 네트워크 이그레스를 제한해야 합니다. 결함 및 릴리스 결정에 대한 책임은 사람에게 있습니다.

Hermes Agent 가이드는 이 루프를 bugAgent가 유지 관리하는 커뮤니티 스킬로 패키징합니다. 공개 스타터 키트에는 복사 가능한 구성과 설치 가능한 스킬이 포함되어 있습니다. 이는 공식 Nous Research 통합이 아닙니다.

보고서 (Tier 1 + Tier 4 분석)
  • get_test_reports_overview — 기간에 대한 헤드라인 KPI(통과율, 완료된 실행, 실행된 케이스)와 이전 동일 기간 대비 변화량. Reports 탭 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_idfile_url이 필요합니다. 선택 사항: version. 연결된 자동화가 로그인 프로필을 사용하는 경우 호출자는 모든 프로필에 대해 권한이 있거나 활성 워크스페이스 소유자/관리자여야 합니다. 일정은 보호된 자동화 기본값을 상속합니다.
  • list_mobile_automations — 모바일 자동화를 선택적 project_id/project, app_id, status, limit 필터와 함께 나열합니다. 결과에는 project_id와 연결된 앱 ID가 포함됩니다.
  • create_mobile_automation — 테스트 스크립트를 생성합니다. name, app_id, script_type (YAML의 경우 maestro, Appium Python의 경우 appium, Appium JavaScript의 경우 appium_js), script이 필요합니다. 앱이 아직 프로젝트 범위에 없는 경우 project_id를 전달하세요. 외부에서 검증된 독립형 Maestro YAML 플로우 하나의 경우 execution_modebrowserstack_maestro로 설정하세요. 그렇지 않으면 기본값은 appium_actions입니다. YAML appId는 연결된 앱의 저장된 패키지 또는 번들 ID와 일치해야 합니다. 저장된 것이 없으면 첫 번째 검증된 네이티브 플로우가 이를 설정합니다. 플레이스홀더 앱 ID와 난독화된 Android 리소스 ID는 거부됩니다. 인라인 runFlow는 지원되지만 외부 플로우/스크립트 파일 참조는 v1에서 거부됩니다. 네이티브 Maestro는 inputRandomTextcopyTextFrom 같은 명령과 ${maestro.copiedText}${output.value} 같은 런타임 표현식을 보존합니다. 동일 프로젝트의 credential_id${USERNAME}/${PASSWORD}의 완전한 inputText 값을 제공할 수 있습니다. 동일 프로젝트의 variable_profile_id는 참조된 ${DATA_*} 값의 기본값을 저장할 수 있습니다. 참조된 모든 키가 존재해야 합니다. 데이터 프로필은 비밀 정보가 아닌 합성 데이터만 포함합니다.
  • import_mobile_script — 기존 모바일 테스트 스크립트를 가져와 실행 가능한 자동화로 변환하여 개발자의 자체 로케이터를 보존하므로 실행 시 요소가 정확하게 해석됩니다. 지원되는 방언: Appium-Python, WebdriverIO, Maestro (YAML 플로우), Playwright (모바일 웹). 난독화된 Android 리소스 ID 플레이스홀더는 건너뛰고 선택기 매핑 warnings에 보고됩니다. Android 앱 전용입니다. name, app_id, script이 필요합니다. 선택 사항: target_devicesproject_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_*} 키가 존재해야 합니다. 활성 프로필 생성자 또는 활성 워크스페이스 소유자/관리자만 선택된 프로필을 실행할 수 있습니다. 정확히 알려진 자격 증명 값은 필터링되고 정확한 데이터 프로필 값은 유지된 텍스트 증거에서 최선의 노력으로 필터링됩니다. 변환되거나, 부분적이거나, 인코딩되거나, 앱에서 파생된 데이터 값은 남을 수 있습니다. 권한이 있는 비공개 비디오/스크린샷은 계속 사용할 수 있으며 테스트된 앱이 렌더링한 값을 표시할 수 있으므로 데이터 프로필에는 합성 비밀 정보가 아닌 값만 포함해야 합니다. 자격 증명 편집 컨텍스트를 사용할 수 없거나 삭제가 안전하다는 것이 입증될 수 없는 경우 상태와 사용 가능한 시각적 증거는 남아 있지만 상세한 자격 증명 텍스트는 보류됩니다. 진단에는 워크스페이스 및 프로젝트 권한이 필요합니다. 미디어 링크는 5분 후 만료됩니다.
  • list_mobile_runs — 권한이 있는 모바일 실행 결과(상태, 기기, 결과 요약, 비공개 비디오 및 스크린샷 링크, BrowserStack 세션, 안전하게 사용 가능한 경우 필터링된 자격 증명 네이티브 Maestro 로그 및 실패, 자동 생성된 버그)를 가져옵니다. 실행 진단에는 워크스페이스 멤버십과 프로젝트 접근이 적용됩니다. 선택적 필터: project_id, automation_id, status (queued, running, passed, failed, error, archived), limit. 보관된 실행은 기본적으로 제외됩니다.
  • create_mobile_credential — 프로젝트에 대한 명명된 로그인 프로필(예: "Admin", "Contributor")을 생성합니다: 모바일 자동화에서 사용하는 사용자 이름 + 비밀번호. 두 값 모두 AES-256-GCM으로 암호화되어 저장되며 쓰기 전용입니다 — 어떤 도구나 API도 이를 반환하지 않으며, 다른 멤버/UI는 이름만 볼 수 있습니다. 이를 생성한 활성 워크스페이스 멤버 또는 활성 워크스페이스 소유자/관리자만 바인딩, 실행, 회전, 삭제할 수 있습니다. project_id, name, username, password이 필요합니다. 엔터프라이즈 전용.
  • list_mobile_credentials — 로그인 프로필을 나열합니다(선택적으로 하나의 project_id). 비밀 정보가 아닌 필드(id, name, 프로젝트, 생성자, 생성 날짜)만 반환합니다 — 사용자 이름이나 비밀번호는 절대 반환하지 않습니다. 자동화 실행 시 반환된 id를 자격 증명 선택으로 사용하세요.
  • update_mobile_credential — 로그인 프로필의 이름을 바꾸거나 id로 사용자 이름/비밀번호를 회전합니다. 변경할 필드만 포함하세요. 새 비밀 값은 즉시 암호화되며 절대 반환되지 않습니다. 프로필을 생성한 활성 워크스페이스 멤버 또는 활성 워크스페이스 소유자/관리자만 업데이트할 수 있습니다.
  • delete_mobile_credentialid로 로그인 프로필을 소프트 삭제합니다. 프로필을 생성한 활성 워크스페이스 멤버 또는 활성 워크스페이스 소유자/관리자만 삭제할 수 있습니다. 감사 및 실행 기록을 위해 유지되지만 더 이상 사용하거나 나열할 수 없습니다. 자동화 기본값은 지워지고 이름은 재사용할 수 있습니다.
  • create_mobile_variable_profileproject_id, name, {"DATA_EMAIL":"qa@example.test","DATA_REGION":"ca"} 같은 variables 객체로 재사용 가능한 프로젝트 범위의 합성 테스트 데이터를 생성합니다. 키는 대문자 DATA_* 식별자여야 합니다. 프로필은 값당 1-100개의 문자열, 4096 UTF-8 바이트, 총 65536 바이트를 허용합니다. 예약된 자격 증명/런타임 이름은 거부됩니다. 자격 증명, 토큰, 프로덕션 개인 데이터 또는 기타 비밀을 저장하지 마세요.
  • list_mobile_variable_profiles — 권한이 있는 하나의 project_id에 대한 프로필과 읽을 수 있는 비밀 정보가 아닌 값을 나열합니다. 프로젝트 할당 규칙이 적용됩니다.
  • update_mobile_variable_profileid로 프로필 이름을 바꾸거나 완전한 variables 객체를 교체합니다. 활성 생성자 또는 활성 워크스페이스 소유자/관리자만 업데이트할 수 있습니다.
  • delete_mobile_variable_profileid로 프로필을 소프트 삭제합니다. 활성 생성자 또는 활성 워크스페이스 소유자/관리자만 삭제할 수 있습니다. 자동화 기본값은 지워지고 기록 실행 참조는 유지됩니다.
  • 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 → 실제 기기 실행을 위해 project_id로 IPA 등록
  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 → 연결된 앱의 정확한 패키지/번들 appId, script_type: maestro, execution_mode: browserstack_maestro와 함께 검증된 작동 YAML 플로우 하나를 전달합니다. 로그인에는 ${USERNAME}/${PASSWORD}를, 합성 입력에는 ${DATA_EMAIL} 스타일 플레이스홀더를 사용하세요. 기본값 저장을 위해 프로필 ID를 전달하세요.
  5. run_mobile_automation → 호환 가능한 기기를 선택하고 선택적으로 로그인 또는 변수 프로필을 재정의합니다. 변수 프로필을 생략하면 상속하거나 null를 전달하여 한 번의 실행에서 비활성화합니다.
  6. list_mobile_runs → 권한이 있는 통과/실패 요약, 비공개 비디오/스크린샷, 필터링된 로그, 실제 단계 이름, 상세 실패, 세션 메타데이터를 검사합니다. 자격 증명 실행에 대해 안전한 삭제가 확립될 수 없는 경우 상태와 사용 가능한 시각적 증거는 남아 있지만 상세 텍스트는 보류됩니다.

Refine with AI: 허용 목록 베타는 대시보드와 REST 정제 엔드포인트를 통해 사용할 수 있습니다. 공개 카탈로그에는 아직 Refine MCP 도구가 포함되어 있지 않습니다.

규정 준수 및 증거 (엔터프라이즈)

  • collect_compliance_evidence — 연결된 서비스(Cloudflare, GitHub, Sentry, Supabase, Railway)에서 자동 증거 수집을 트리거합니다. 실행 ID를 반환합니다. 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 (Art. 5, 25, 32, 33) 규정 준수 요구 사항을 지원합니다.

호환 클라이언트

bug_Agent_는 Model Context Protocol을 지원하는 모든 클라이언트와 작동합니다. 인기 클라이언트에 대한 설정 가이드는 다음과 같습니다:

🤖

Claude Desktop

설정 → 개발자 → 구성 편집을 열고 다음을 추가하세요:

claude_desktop_config.json

저장 후 Claude Desktop을 다시 시작하세요.

✳️

Cursor

설정 → MCP 서버 → 서버 추가를 열거나 프로젝트 루트에서 .cursor/mcp.json를 편집하세요:

.cursor/mcp.json

🌊

Windsurf

설정 → MCP → 서버 추가를 열거나 MCP 구성 파일을 편집하세요:

mcp_config.json

💻

Claude Code (CLI)

터미널에서 직접 bug_Agent_를 추가하세요:

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

실행 전에 export BUGAGENT_API_KEY=ba_live_...로 API 키를 설정하세요.

🔧

기타 MCP 클라이언트

MCP stdio 전송을 지원하는 모든 클라이언트는 bug_Agent_와 작동합니다. 표준 구성을 사용하세요:

  • 명령: npx
  • 인수: ["-y", "@bugagent/mcp-server"]
  • 환경: BUGAGENT_API_KEY

CLI

CLI 시작하기

The bug_Agent_ CLI는 터미널에서 버그 리포트, 기능 요청, 프로젝트 및 통합을 완전히 제어할 수 있게 해줍니다. 다음과 같은 용도로 사용하세요:

  • 워크플로 자동화 — CI/CD 파이프라인, 스크립트 및 cron 작업에 버그 리포트 통합
  • 대량 작업 — 터미널을 벗어나지 않고 리포트 나열, 필터링 및 관리
  • 파이프 친화적 출력jq, yq 및 기타 도구와 결합하기 위한 JSON, YAML 및 원시 형식
  • 빠른 반복 — 브라우저 불필요 — 몇 초 만에 리포트 생성 및 업데이트

설치

npm install -g @bugagent/cli

설치를 확인합니다:

bugagent --version

인증

API 키를 환경 변수로 설정합니다:

또는 --api-key 플래그로 직접 전달합니다:

bugagent reports list --api-key ba_live_your_key_here

🔑

bug_Agent_ 콘솔에서 API 키를 가져옵니다. 키는 ba_live_로 시작합니다.

영구 인증을 위해 셸 프로필(~/.bashrc, ~/.zshrc 등)에 export를 추가하세요.

사용법

명령은 다음 패턴을 따릅니다:

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으로 필터링

GJSON 구문과 함께 --transform를 사용하여 출력 데이터를 쿼리하고 필터링합니다:

# 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이란 무엇인가요?

AgentSkill은 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 명령으로 변환하여 실행합니다.

🎬

세션 리플레이 + AI 어시스턴트: 세션 리플레이가 활성화된 경우(엔터프라이즈 요금제), AI 어시스턴트는 캡처된 사용자 세션(지난 60초 동안의 클릭, 탐색, 오류 및 네트워크 실패)을 참조하여 전체 재현 컨텍스트가 포함된 더 풍부하고 정확한 버그 리포트를 자동으로 작성할 수 있습니다.

도움말

도움이 필요하신가요? 저희가 도와드리겠습니다.

Discord 커뮤니티

실시간 지원 및 커뮤니티 토론을 위해 Discord에 참여하세요.

이메일 지원

support@bugagent.com — 일반적으로 24시간 이내에 응답합니다.