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 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/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" }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.
t+0
start_runStart a sweep of your app.
t+1
wait_for_runPoll until it finishes — returns done=false while running, so just call again.
t+2
list_findings → get_findingRead each bug with its claudeCodePrompt and likely files.
t+3
fixApply the fix in your editor.
t+4
request_retest → get_retest_statusHave testra confirm the bug is gone.
Already have it? Open the app and go to Settings → MCP access tokens.