Drive testra from your agent.

The Testra desktop app runs a Model Context Protocol server on your machine. Point Claude Code, Codex, or any MCP client at it and your agent can do everything you can — create projects, boot apps, run tests, and pull triaged findings — except touch billing. Findings come back with a ready-to-paste fix prompt and the files most likely to blame, so the same agent that found the bug can fix it and ask testra to verify. Your code and your test runs never leave the machine.

One command, once.

Open the desktop app and mint a personal access token in Settings → MCP access tokens (shown once) — it prints the exact command for your install, ready to paste. Registering is a one-time thing: --scope user makes the tools available in every repo you work in, and the command launches a small bridge that finds the app itself, so there is no port or URL in your config to go stale when Testra restarts.

Claude Code
claude mcp add --scope user testra \
    -e TESTRA_MCP_TOKEN=$TESTRA_TOKEN \
    -e ELECTRON_RUN_AS_NODE=1 \
    -- "/Applications/Testra.app/Contents/MacOS/Testra" \
       "/Applications/Testra.app/Contents/Resources/mcp-bridge.cjs"
Codex
# ~/.codex/config.toml
[mcp_servers.testra]
command = "/Applications/Testra.app/Contents/MacOS/Testra"
args = ["/Applications/Testra.app/Contents/Resources/mcp-bridge.cjs"]
env = { TESTRA_MCP_TOKEN = "tmcp_…", ELECTRON_RUN_AS_NODE = "1" }
tool catalog24 tools

MCP-01

Projects

  • list_projects
  • get_project
  • create_project_local
  • get_analysis_status
  • retry_analysis
  • wait_for_analysis
  • update_project
  • set_project_env_vars

MCP-02

Boot & runs

  • boot_app
  • stop_app
  • start_run
  • list_runs
  • get_run
  • wait_for_run
  • control_run
  • send_message_to_run
  • get_run_transcript

MCP-03

Findings, retest & reports

  • list_findings
  • get_finding
  • update_finding_status
  • request_retest
  • get_retest_status
  • get_run_report
  • get_project_report

The loop an agent runs end to end.

  1. t+0

    start_run

    Start a sweep of your app.

  2. t+1

    wait_for_run

    Poll until it finishes — returns done=false while running, so just call again.

  3. t+2

    list_findings → get_finding

    Read each bug with its claudeCodePrompt and likely files.

  4. t+3

    fix

    Apply the fix in your editor.

  5. t+4

    request_retest → get_retest_status

    Have testra confirm the bug is gone.

Download the app

Already have it? Open the app and go to Settings → MCP access tokens.