Integration

BugBug integration

BugBug is a no-code browser test automation tool. With its Public API an agent can list, create, update and delete tests, suites, folders, groups, reusable components and tags; run a test or a whole suite in the BugBug cloud, then poll its status, read the results, step runs, screenshots and debug artifacts, stop it, tag it or annotate it; manage custom variables, run profiles, project settings and visual regression reference screenshots. Creating or editing individual steps (25 polymorphic step types), YAML/ZIP test and project import or export, backup and JUnit report downloads and the run log download are not exposed. Public API access needs a paid plan. Authentication is the project API token sent in the Authorization header with the Token prefix.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in BugBug.Built from the 74 BugBug tools below, on the connection you add once.

What you can do with BugBug

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Tag, 9 operations

  • create_tagCreate tagPOSTCreates a tag in the project.
  • delete_tagDelete tagDELETEDeletes a tag and removes it from every test, suite and run it was assigned to.
  • get_tagGet tagGETReturns one tag: name and color.
  • list_tagsList tagsGETLists the project's tags with how many tests and suites use each one.
  • set_suite_run_tagsSet suite run tagsPUTReplaces the tags assigned directly to a suite run. Inherited tags are kept; unknown tag names are created in the project.
  • set_suite_tagsSet suite tagsPUTReplaces the tags assigned to a suite. Unknown tag names are created in the project with a default color.
  • set_test_run_tagsSet test run tagsPUTReplaces the tags assigned directly to a test run. Inherited tags are kept; unknown tag names are created in the project.
  • set_test_tagsSet test tagsPUTReplaces the tags assigned to a test. Unknown tag names are created in the project with a default color.
  • update_tagUpdate tagPATCHRenames a tag or changes its color. Leave a field out to keep it.

Folder, 5 operations

  • create_folderCreate folderPOSTCreates a folder for tests or components, at the root or inside parentId. The project is the one the API token belongs to.
  • delete_folderDelete folderDELETEDeletes a folder. Fails with 400 if folder is not empty unless `force=true` is passed. When forced, contained tests/components are unlinked and subtree is soft-deleted.
  • get_folderGet folderGETReturns one folder: name, kind, depth and parentId.
  • list_foldersList foldersGETLists the project's folders (id, name, kind, depth, parentId), paginated. Filter by kind (test or component) or parentId.
  • update_folderUpdate folderPATCHRenames a folder and/or moves it under another parent (parentId null moves it to the root). Leave a field out to keep it.

Group, 5 operations

  • create_groupCreate groupPOSTCreates a group (a block of steps) inside a test, at atIndex. Set isComponent=true to make it a reusable component.
  • delete_groupDelete groupDELETEDeletes a group and its steps from the test.
  • get_groupGet groupGETReturns one group with its steps (type, selectors, values, waiting conditions).
  • list_groupsList groupsGETLists the groups (blocks of steps inside tests, including reusable components) with their steps, paginated. Filter by name or folder.
  • update_groupUpdate groupPATCHUpdates a group's name, active flag, component flag or folder. Leave a field out to keep its current value.

Reference screenshot, 5 operations

  • create_reference_screenshotCreate reference screenshotPOSTSets a new visual regression reference screenshot for a step, from an image URL, optionally for one browser, OS, screen size, run profile and run mode.
  • delete_reference_screenshotDelete reference screenshotDELETEDeletes a visual regression reference screenshot.
  • get_reference_screenshotGet reference screenshotGETReturns one visual regression reference screenshot with its image URL and scope.
  • list_reference_screenshotsList reference screenshotsGETLists the visual regression reference screenshots of one step, paginated.
  • update_reference_screenshotUpdate reference screenshotPATCHReplaces the image of a visual regression reference screenshot.

Suite, 5 operations

  • create_suiteCreate suitePOSTCreates a suite: a named list of tests run together with one run profile, optionally in parallel, with auto-retry and before-all/after-all tests.
  • delete_suiteDelete suiteDELETEDeletes a suite. Its tests are not deleted.
  • get_suiteGet suiteGETReturns one suite: its tests, before-all and after-all tests, run profile, retry and parallel settings, and tags.
  • list_suitesList suitesGETLists the project's suites (id, name, tests count, tags), paginated. latestRun=true adds each suite's last run summary.
  • update_suiteUpdate suitePATCHUpdates a suite's name, tests, run profile, retry or parallel settings. Only the fields sent change; leave a field out to keep its current value.

Test, 5 operations

  • create_testCreate testPOSTCreates an empty test with a name, screen size, notes, folder and tags. Add steps by recording them in BugBug or by inserting a component with insert_test_component.
  • delete_testDelete testDELETEDeletes a test.
  • get_testGet testGETReturns one test: name, notes, screen size, folder, tags, its groups and its webappUrl.
  • list_testsList testsGETLists the tests in the project (id, name, folderId, tags), paginated with count and results. Filter by name, folder or tags; latestRun=true adds each test's last run summary.
  • update_testUpdate testPATCHUpdates a test's name, notes, screen size, folder or tags. Only the fields sent change; leave a field out to keep its current value.

Suiterun, 4 operations

  • get_suite_runGet suite runGETReturns a suite run's result: status, start and end times, duration, profile, error code and each test run with its status.
  • list_suite_runsList suite runsGETLists past suite runs, newest first by default, paginated. Filter by suiteId, status, tags or start date. Each run has its status, duration and webappUrl.
  • run_suiteRun suitePOSTStarts a cloud run of a suite and returns at once with its id and status. Poll get_suite_run_status with that id until passed, failed, error or stopped, then read get_suite_run.
  • update_suite_run_notesUpdate suite run notesPATCHSets the notes on a suite run. Notes are the only field that can be changed.

Testrun, 4 operations

  • get_test_runGet test runGETReturns a test run's result: status, timing, browser and screen size, error code and the run of each step.
  • list_test_runsList test runsGETLists past test runs, paginated. Filter by testId, status, tags or start date. Each run has its status, duration, browser and webappUrl.
  • run_testRun testPOSTStarts a cloud run of one test and returns at once with its id and status. Poll get_test_run_status with that id until passed, failed, error or stopped, then read get_test_run.
  • update_test_run_notesUpdate test run notesPATCHSets the notes on a test run. Notes are the only field that can be changed.

Variable, 4 operations

  • create_variableCreate variablePOSTCreates a custom variable in the default run profile. type value stores a fixed value; type evaluate stores JavaScript evaluated at run time.
  • get_variableGet variableGETReturns one custom variable of the default run profile by key.
  • list_variablesList variablesGETLists the built-in and custom variables available to tests, with their key, value, type and whether they are secret.
  • update_variableUpdate variablePATCHUpdates a custom variable of the default run profile. Leave a field out to keep its current value.

Debug artifact, 3 operations

  • get_test_run_artifactGet test run artifactGETReturns one debug artifact of a test run by kind, with its file URL.
  • list_suite_run_artifactsList suite run artifactsGETLists the report artifacts attached to a suite run (currently the JUnit report), each with a file URL, content type and expiration time.
  • list_test_run_artifactsList test run artifactsGETLists a test run's debug artifacts (logs, network logs, DOM snapshot and others), each with a file URL, content type and expiration time.

Status, 3 operations

  • get_api_statusGet api statusGETChecks that the BugBug API is reachable. Always answers 200 when it is.
  • get_suite_run_statusGet suite run statusGETReturns a suite run's current status (queued, running, passed, failed, error, stopped and others), finished and total test counts. Poll it after run_suite.
  • get_test_run_statusGet test run statusGETReturns a test run's current status (queued, running, passed, failed, error, stopped and others) and finished and total step counts. Poll it after run_test.

Component, 2 operations

  • create_componentCreate componentPOSTCreates a standalone reusable component, not yet attached to any test. Attach it to a test with insert_test_component.
  • list_componentsList componentsGETLists the reusable components (groups of steps shared between tests) with their steps, paginated. Use fields to limit the returned fields.

Profile, 2 operations

  • get_run_profileGet run profileGETReturns one run profile: name and whether it is the default.
  • list_run_profilesList run profilesGETLists the project's run profiles (id, name, isDefault). Pass an id as runProfileId to run_test or run_suite.

Screenshot, 2 operations

  • get_suite_run_screenshotsGet suite run screenshotsGETReturns the screenshots of every step of every test in a suite run.
  • get_test_run_screenshotsGet test run screenshotsGETReturns the screenshot of every step run of a test run.

Step, 2 operations

  • delete_stepDelete stepDELETEDeletes one step from its group.
  • get_stepGet stepGETReturns one step: its type, selectors, value, waiting conditions and assertion settings.

Stop, 2 operations

  • stop_suite_runStop suite runPOSTStops a running suite run.
  • stop_test_runStop test runPOSTStops a running test run.

Backup, 1 operation

  • list_project_backupsList project backupsGETReturns the project's backup schedule (frequency, retention, next backup) and its unexpired backups with their test and suite counts.

Insert component, 1 operation

  • insert_test_componentInsert test componentPOSTInserts a reusable component into a test at atIndex. Pass componentId (from list_components); groupId is the older field and takes the component relation id.

Ip, 1 operation

  • list_infrastructure_ipsList infrastructure ipsGETReturns the IP addresses BugBug's cloud runners connect from, to allowlist them on the site under test. The answer is a plain list of IP address strings.

Organization, 1 operation

  • list_organizationsList organizationsGETLists the organizations the API token can access, paginated.

Project, 1 operation

  • list_projectsList projectsGETLists the projects the API token can access (id, name, homepage URL, organization), paginated.

Resolve, 1 operation

  • resolve_visual_regressionResolve visual regressionPOSTResolves a failed visual regression check of a test run or one step run: type set_new_reference accepts the new screenshot, type set_new_max_difference raises the allowed difference.

Settings, 1 operation

  • get_project_settingsGet project settingsGETReturns the project's run settings: browser size and language, timeouts, incognito mode, run logs level, DOM snapshot and selector generation options.

Steprun, 1 operation

  • get_step_runGet step runGETReturns one step run of a test run: its status, timing, error and screenshot.

Tree, 1 operation

  • get_folder_treeGet folder treeGETReturns the whole nested folder tree for one kind (test or component).

Unlink component, 1 operation

  • unlink_test_componentUnlink test componentPOSTRemoves a reusable component from a test. The component itself is kept.

Update step position, 1 operation

  • move_test_stepMove test stepPOSTMoves a step to another position, or into another group, within a test.

Usage, 1 operation

  • get_component_usageGet component usageGETReturns where a reusable component is used: the tests that include it.

Use BugBug from Claude Code, Cursor or Codex

Connect BugBug in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its BugBug operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect BugBug

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect BugBug once

    Add your BugBug connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

BugBug integration FAQ

What can you do with the BugBug integration?

LiveContext exposes 74 operations on BugBug, covering tag, folder, group and reference screenshot.

Popular integrations

Browse the whole catalog