bugAgent

The QA platform for AI-native teams.

Community: Submitted by a user or imported; check the owner before granting accessOnlineAPI key requiredGlobalFreeRead-only

What it can do

  • Create Bug Report: File a new bug report. Auto-classifies bug type if not provided. Returns the created report with classification.
  • List Bug Reports: List bug reports with optional filters by type, severity, status, resolution, root cause, reporter, or search query. Each result includes reporter_user_id so you can see who filed ea
  • Pick Next Bug: Return the next bug(s) the agent loop should work on, ordered by priority (S1 → S2 → S3, oldest first within each bucket). Automatically scoped to your workspace — shows tickets across

What data it sees

Do you need an account

An API key from the service settings is required

The QA platform for AI-native teams. Bug reports, test management, Playwright automation, security scanning, and performance testing — all 109 tools available from your AI assistant.

Server tool list (60)

Raw names from tools/list. Only developers need these.

create_bug_reportFile a new bug report. Auto-classifies bug type if not provided. Returns the created report with classification.
list_bug_reportsList bug reports with optional filters by type, severity, status, resolution, root cause, reporter, or search query. Each result includes reporter_user_id so you can see who filed each report. To filter by reporter name (e.g. "show reports by Johnson Russell"), first call list_team_members to find that person's userId, then pass it as reporter_user_id.
pick_next_bugReturn the next bug(s) the agent loop should work on, ordered by priority (S1 → S2 → S3, oldest first within each bucket). Automatically scoped to your workspace — shows tickets across all projects in your team. READ-ONLY — does not atomically claim tickets. Use a separate claim flow (today: update_bug_report with status=in-progress; eventually: claim_bug per TEST-177) when actually picking up work. Returns rows in the same shape as list_bug_reports for tool composability.
claim_bugAtomically claim a bug for the calling user. Sets status="in-progress", assigned_to=caller, and claimed_at=NOW() — but ONLY if the ticket is currently in status="new". Returns {claimed: true, bug} if the claim succeeded; {claimed: false, reason} if another consumer already claimed it (race-loser path) or the ticket no longer exists. Race-free via Postgres row-level lock — safe to call from multiple agents/replicas concurrently. Pair with pick_next_bug for the read-then-claim pattern.
get_bug_reportGet full details of a specific bug report by ID. Accepts either the UUID or the workspace-scoped short ID (e.g. TEST-BA-123). Short IDs are resolved within the caller's team only.
update_bug_reportUpdate an existing bug report. Only provided fields will be changed. Use assigned_to with a user ID from list_team_members to assign the bug to someone. Accepts either the UUID or the short ID (e.g. TEST-BA-123). Set `resolution` and `root_cause` whenever transitioning out of `new` — required by the agent-loop convention so analytics + Kanban render correctly.
classify_bugClassify a bug description into a bug type (ui, performance, crash, security, logic, data, network) with confidence score.
get_usageCheck current usage against plan limits. Shows reports used and remaining quota for your plan period.
sync_to_jiraSync a bug report to Jira. Creates a Jira issue with mapped fields, labels, and priority. Requires a connected Jira account.
push_to_claudeGenerate (or regenerate) the Developer Notes for a bug report — root cause, affected areas, suggested fix, verification steps, and risk assessment. Internally runs a multi-step chain that adapts to severity: medium/low bugs get a three-step chain (Sonnet draft → OpenAI challenger critique → Sonnet synthesis); critical/high bugs escalate to a five-step debate (draft → critique → Sonnet rebuttal → adjudicator, where a different model — default Claude Opus — reads the full transcript and writes the final notes with independent judgment). The response exposes every round (draft, critique, rebuttal, challenger_model, adjudicator_model, debated flag) so agents can inspect the reasoning chain. Any step failing falls through to the next-best answer. Uses platform keys — no per-team Claude connection required. Auto-fires on bug creation. Accepts UUID or short ID (PREFIX-NNN).
analyze_fix_areaGenerate (or regenerate) the "Likely Fix Area" for a bug report — a narrow Sonnet output that names where in the codebase the fix most likely belongs. Uses the platform Anthropic key (no per-team Claude connection required). When the project has a GitHub repo mapped and the team has a github_connections row, the output is grounded in real file snippets; otherwise it falls back to general guidance with a nudge to connect a repo. Writes the result back onto bug_reports (likely_fix_area, likely_fix_area_status, likely_fix_area_generated_at) so the dashboard picks it up automatically. Accepts UUID or short ID (PREFIX-NNN).
list_projectsList available projects for the current user. Returns project names, slugs, and which is the default. Use a project slug with create_bug_report to file bugs into a specific project.
get_statsGet bug report statistics: daily counts, breakdowns by type/severity/status. Use to answer questions like "how many bugs yesterday?" or "what types of bugs are most common?"
upgrade_planUpgrade your bugAgent subscription plan. Returns a Stripe checkout URL for the user to complete payment. After upgrading, use get_usage to confirm the new plan is active.
register_accountCreate a new bugAgent account with email and password. The account is auto-confirmed and ready to use immediately. Returns user_id and email.
loginSign in to bugAgent with email and password. Returns access tokens. In stdio mode, credentials are saved to ~/.bugagent/credentials.json for future sessions.
update_profileUpdate your display name.
change_passwordChange your account password.
get_settingsGet your profile info, plan, and notification preferences.
update_settingsUpdate notification preferences.
create_projectCreate a new project. The first project becomes the default. Enforces plan limits.
delete_projectDelete a project. Choose how to handle its bug reports: move to another project, unassign, or delete them. All other project data (automations, test cases, mobile apps, schedules, geo snaps, notes, time entries) is permanently deleted. Only owner/manager can delete. Cannot delete last project.
create_performance_testCreate a performance test configuration. Combines Lighthouse page audits with k6 Cloud load testing. Enterprise only.
list_performance_testsList performance test configurations for the current team.
run_performance_testRun a Lighthouse + k6 Cloud performance test. Triggers a page audit and optional load test. Results include Core Web Vitals, performance scores, and load test metrics. Auto-creates bug reports when thresholds are breached.
get_performance_resultsGet results for a performance test run. Includes Lighthouse scores (Performance, Accessibility, Best Practices, SEO), Core Web Vitals (LCP, FID, CLS, FCP, TTFB, INP, TBT, SI), and load test metrics (VUs, requests, RPS, p50/p90/p95/p99 latencies).
get_performance_usageCheck monthly performance test usage against plan limits. Performance testing is Enterprise-only. Limits: Free=0, Team=0, Enterprise=unlimited, Admin=unlimited.
create_security_scanCreate a security scan configuration. Web: Quick Scanner + Nuclei + ZAP DAST. Mobile: MobSF binary analysis for APK/IPA. Code: Semgrep SAST for 30+ languages. Configurable auto-bug creation with severity threshold. Enterprise only.
list_security_scansList security scan configurations for the current team. Returns scan names, types, targets, and status.
run_security_scanTrigger a security scan run. Web: Quick Scanner + Nuclei + ZAP. Mobile: MobSF binary analysis. Code: Semgrep SAST. Returns a run ID to poll for results.
get_security_resultsGet results for a security scan run. Includes findings categorized by severity (Critical, High, Medium, Low, Info) with vulnerability type, description, affected URL/file, and remediation guidance.
get_security_usageCheck monthly security scan usage against plan limits. Security scanning is Enterprise-only. Limits: Enterprise=unlimited, Admin=unlimited.
list_code_reviewsList recent AI code reviews for the team. Returns review ID, repo, PR number/title, quality score, severity counts, and timestamps. Enterprise only.
get_code_reviewGet a code review with all findings. Each finding includes severity, category (bug/security/performance/style/logic/maintainability), title, description, code suggestion, file path, and line numbers.
get_code_review_usageCheck monthly code review usage. AI code review is Enterprise-only. Enterprise: unlimited. Free and Team: 0.
get_code_review_analyticsGet code review analytics: trends, finding categories/sources, severity breakdown, velocity metrics, top repos, top authors. Enterprise only.
list_explorationsList Exploratory AI configs for the team. Each exploration targets a URL and can be run to autonomously find bugs.
create_explorationCreate a new Exploratory AI config. The exploration will autonomously crawl the target URL, generate test scripts, execute them, and file bug reports for issues found. Enterprise only.
get_explorationGet an exploration config with its recent runs.
get_exploration_runGet results of an exploration run including all findings, phase data, and linked bugs.
get_exploration_usageCheck monthly Exploratory AI usage. Exploratory AI is Enterprise-only. Enterprise: unlimited.
flush_reportsBulk delete old bug reports. Only team owners and admins can flush. Optionally limit to a specific project.
generate_api_keyCreate a named API key. The full key is returned only once — save it securely.
list_api_keysList your active API keys. Shows key prefix (first 16 chars) but never the full key.
regenerate_api_keyRevoke an existing API key and create a new one with the same name and scopes. The new key is returned only once.
delete_api_keyRevoke and delete an API key. The key will immediately stop working.
check_jira_syncCheck if a Jira-synced bug report has remote changes. Returns field differences and new Jira comments. Use before merge_jira_sync.
merge_jira_syncBi-directional merge between bugAgent and Jira. Updates both systems to match. Use check_jira_sync first to see differences.
add_commentAdd a comment to a bug report. If the report is synced to Jira, the comment is automatically pushed to the Jira issue. Accepts UUID or short ID (PREFIX-NNN). Pass author_user_id to post the comment as a specific agent account (the target user must have is_agent=true — use list_team_members to find the Claude bot user ID).
list_commentsList all comments on a bug report, oldest first, with author names. Comments are not part of get_bug_report — use this to read the discussion thread on a ticket. Accepts UUID or short ID (PREFIX-NNN).
link_bug_reportsCreate a directional link between two bug reports. Use `duplicate-of` to mark one report as a duplicate of another, `parent-of` for parent/child hierarchies, `related-to` for a non-directional related-issue link, and `depends-on` to record that the from-report cannot ship until the to-report does. Both reports must be in the same workspace. Accepts UUIDs or short IDs (PREFIX-NNN).
unlink_bug_reportsRemove a previously-created bug-report link by its UUID. Use list_bug_report_links to find the link_id.
list_bug_report_linksList every user-curated link touching a bug report. Returns the link as it reads from this report's perspective — a stored `duplicate-of` row where this report is the target renders as `duplicated-by`, a `parent-of` row where this report is the target renders as `subtask-of`, and `depends-on` rows where this report is the target render as `blocks`. `related-to` is symmetric. Accepts UUID or short ID (PREFIX-NNN).
list_team_membersList all members of your current team/workspace with their roles and status.
invite_team_memberInvite a user to your team by email. Only managers and above can invite. The invited user receives an email with a 5-day expiry link.
create_automationCreate a new automation with a custom Playwright script (no FAB recording required). Returns the automation ID. Team plan required. To duplicate an existing automation, first call get_automation to retrieve the script, then call this tool with name set to "[Copy] Original Name" and pass the original script, target_url, and project_id. The duplicate starts in draft status with no version history.
list_automationsList Playwright automation scripts for the current team. Filter by project or status.
get_automationGet full details of a Playwright automation script including the generated script code, recent run history, and the saved script_versions stack. Inspect script_versions (array of { script, source, timestamp }, oldest-first, capped at 100) before calling run_automation with version_index if you need to replay a specific historical version; omit version_index to run the current live script.
run_automationTrigger an immediate run of a Playwright automation script. Runs on virtual headless browser by default, or on a real BrowserStack browser when browserstack=true. Pass version_index to replay a historical version of the script instead of the current live one.
list_automation_runsList recent runs for a Playwright automation script with status, duration, and error details.